It looks like I’ve got the simulation routine back under control.
For a while there all I had was downgrades happening. Turns out that
there was a sign error in one of the conditional statements making it
always terminate.
I still need to implement the linear vs. random zone thing for low occupancy.
Bad randomness in the system.
Fix the repaint rate for the linux game (use an offscreen pixmap). It bites
at the moment when I fullscreen the game (slow, juddery).