How to choose TURN_DURATION and THREAD_DURATION?

These two values are highly important. They determine how much time the good guy in front of a display will wait...

It can be fixed values.

Perhaps it's better to determine them dynamically to avoid spam with log errors... We can use a checker which will count errors and increase TURN_DURATION and/or THREAD_DURATION to decrease the errors number. Sometimes, if there are no error during some time (NO_ERROR_DURATION :o) ), we can decrease these numbers (after a high overload for example, or if many Controllers disappear). It can be a good method to adapt the game to an overloaded machine or to calibrate automatically the game for the machine.

Joke: can we have a vicious enough guy which will implement this type of vicious bot: the bot do nothing except writing the time spent since its turn activation. So the next time, this bot knows the value of THREAD_DURATION. So it can optimize and use always the max duration to think about what it can do. And even the worst idea: the bot really does nothing. So it creates an error and the THREAD_DURATION will increase. But it continues to do nothing... DoS

To avoid these values become too high (really slow game, too slow so unfriendly for Players) or too low (really quick game, too quick for Players, bots will be like Superheroes for Players and move like Flash (do you imagine the scene? A bot (let's call it Stanley Ipkins) can put your underpants on your head before you can react :) ), we should bound these values (MIN_THREAD_DURATION, MAX_THREAD_DURATION, MIN_TURN_DURATION and MAX_TURN_DURATION).

The MAX_* and MIN_* values are the max and min acceptable values for Players.

And no, we won't use a MIN_MIN_TURN_DURATION, a MAX_MIN_TURN_DURATION, ... :p