[SUG] End-of-play conditions

Started by WillLem, May 09, 2023, 02:31:58 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Which would you prefer when the timer runs out? (in both of these cases, visual and sound cues will alert the player that the overtime state is active)

Lemmings walk past the exit and remain active in the level (i.e. skills will be assignable to them)
3 (33.3%)
Lemmings fall asleep in front of the exit, remaining stationary and non-assignable (thus simulating exit behaviour without actually exiting)
6 (66.7%)

Total Members Voted: 9

Voting closed: May 15, 2023, 01:49:34 AM

Floyd Brannon

Your sleeper already looks about the same or better. I didn't know you had it this far done.
It's more polished than having them all stuck at the door for sure.

WillLem

Quote from: jkapp76 on May 14, 2023, 11:19:58 PM
This sleeper looks great! I kinda wish he'd stand there another frame or two after putting his hat on though.

I've made the work-in-progress sprite 24 frames long with a loopback to frame 16; this is so that there's 8 frames of playing room with things like timing etc before we settle on a final version.

In the ones I sent you, try setting the loop to a later frame (such as 20 - this is done in scheme.nxmi under $SLEEPER) and then copy 4 frames of just "standing up" before the lem begins to lie down. Since the last 8 frames are identical, they can just be overwritten as needed.




EDIT: Incidentally, the poll closed at 6:3 in favour of the Sleeper, so I think we can call it there.

WillLem

Just a quick post to clarify the end-of-gameplay conditions update in 2.7 8-)

SuperLemmix will be getting some of this proposed NeoLemmix update, but not all of it - namely, the config options won't be included.

Instead, the most favourable behaviour based on each individual gameplay condition has been selected as the default. This is because the end-of-gameplay checks are considerably more complex in SuperLemmix due to Classic Mode, the Kill All Zombies talisman and the existing update to "Time Up" behaviour (which I'd like to keep in SLX, but which doesn't exist in NL).

To specify exactly what will happen, here's a handy list.




:lemming: Exit to Postview

In Classic Mode, any end-of-game condition results in exiting to the postview screen. This is partly to keep it old school, but also to keep it simple.

In Modern Mode, the game will exit to postview if any of the following conditions are met:

  • The save requirement is met and no lemmings remain (this only includes zombies iff there is no Kill All Zombies talisman).
  • The save requirement is met and time has run out.
  • The nuke has been activated at any time (this also acts like a killswitch if the game has frozen).

:lemming: Freeze Game & Display Minimap Message

The game will freeze and display the "No lemmings remain" message in the minimap area only if the save requirement is not met and no lemmings remain (this only includes zombies iff there is no Kill All Zombies talisman).

:lemming: Overtime

The game will continue into overtime only if the save requirement has not been met.

:lemming: Zombies-only

The game will continue into a "zombies only" state only if zombies remain and there is a Kill All Zombies talisman. If time runs out during this state, the game will exit to postview.




Essentially, it closely resembles the option "Exit To Postview if Save Requirement Met" from the proposed NeoLemmix version of this feature, albeit with a few subtle differences to line up with how I personally think end-of-game behaviour should work for each of the specified conditions.

If people think it's worth it, I'd be happy to also implement a check for a "Save 100%" talisman, to keep gameplay active beyond the save requirement being met in the event of this talisman existing in the current level. Either that, or perhaps a single "Never End Gameplay" bool which ignores all conditions (possibly even including Classic Mode) - again, if people think it's worth doing.

For now though, the above is standard across the engine as I believe it to be the best possible behaviour in all conditions.