Why a seed?

For players, we need an unpredictable game. For coders, we need an easy to debug game, so we need to be able to replay a situation, to recreate it. We need to be able to obtain again the same list of random numbers, and the way to do it is to use a seed.

The seed is loaded by the game at the beginning and saved sometimes to allow debugging. With the seed and a good logger, we are able to replay the game and debug it.

Note

the seed and the current state of the random generator should be unavailable to players, and even to supervisors (no temptation), to avoid cheating.