Should we freeze physics on running out of time, allowing for rewind? Or should we keep physics running in the unsolvable state? Anything is better than returning to menu.
For V12.8.0, I've implemented a new behaviour when time runs out: Gameplay continues, except with three minor changes, two of which only apply if the nuke has also been activated (and these are just to ensure that the nuke always ends gameplay):
- Exiters become frozen. Since a lemming isn't counted as saved until it finishes the exiting animation, this essentially means lemmings can no longer be saved.
- If the nuke has been activated, lemmings no longer halt counting down to nuking when they become exiters.
- If the nuke has been activated, ohnoers can no longer become exiters. This avoids a loop: Nuke activates, exiters become ohnoers, then see an exit trigger area and immediately become exiters again.
I've also made one very minor visual tweak to better fit this: Exiters are now drawn behind all other lemmings. This factor has higher priority in determining render order than any other factor,
except for "selected lemming" (it even has priority over "highlit lemming").
I've also implemented more color coding of the time limit. Currently we have two colors - green indicates infinite time, red indicates limited time.
The new system has four colors. Green still indicates infinite time. Yellow indicates limited time now. Red indicates limited time
and that the player has less than 15 seconds remaining. Purple indicates that the time limit has run out, and the player is now in overtime (at this point, the time starts counting up again, to show how much overtime the player has used).
TODO: I'm thinking a sound should also be played when time runs out.
EDIT: And so now, one does.