[?][SUG][PL] Insert Mode: Erase future of same lemming

Started by Simon, November 02, 2025, 02:59:32 PM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

Simon

CE 1.0.1
NL 12.14

During Insert Mode between physics updates N and N+1, when you insert a skill assignment to lemming A that will affect physics update N+1: First erase the future of A in the replay (erase all assignments to A at N+1, N+2, N+3, ...), then assign to A.

This will fix two problems at once:

  • The garbage will be automatically deleted. In existing NL, the player must now either go to the replay editor to delete the garbage by hand, or, worse, let it clutter the replay and hope.
  • You naturally allow same-frame-same-lemming overwriting. CE 1.0.1 blocks same-frame-same-lemming, which is the most annoying type of failed assignment because the intention is clear.

If you're concerned about losing data, we can talk. The hunch is that you shouldn't worry, but I'm happy to be convinced otherwise.

Armani and I have already argued for this in Improve same-frame assignment behaviour in Replay Insert mode, which is now closed. That thread, anyway, became more about the sound for failed assignments and whether to advance physics on failed assignment.

-- Simon

WillLem

#1
Quote from: Simon on November 02, 2025, 02:59:32 PMArmani and I have already argued for this in Improve same-frame assignment behaviour in Replay Insert mode, which is now closed.

Not sure why the topic was closed as it hasn't yet been resolved and is still in the Bugs & Sugs board. Anyways, I've re-opened it.

Quote from: Simon on November 02, 2025, 02:59:32 PMFirst erase the future of A in the replay (erase all assignments to A at N+1, N+2, N+3, ...), then assign to A.

...

CE 1.0.1 blocks same-frame-same-lemming, which is the most annoying type of failed assignment because the intention is clear.

My instinct with this is (and always has been) that we shouldn't erase replay actions invisibly; if the player wishes to erase all future actions for this lemming, it should ideally be done via the replay editor where the player can see exactly what's happening.

Regarding the second point, IMO the benefit of {not accidentally overwriting a previous action unintentionally} outweighs the annoyance of having to either (a) move to another frame to make the desired assignment, or (b) manually delete the existing action (and future, if desired) via the replay editor.

The whole point of Replay Insert mode is that it preserves all existing actions. The OP is suggesting a third mode, which preserves all existing actions {except these}. Further complication of the replay system, more for new players to learn, potential for mess/bugs in the code.

Bottom line is that the engine is ultimately meant to be a game. The replay editing features are a nice bonus, and should of course be as sophisticated as we can possibly make them. But in-game actions such as skill assignments should have completely visible (or audible) results; nothing should be happening that the player doesn't know about (i.e. deleting future assignments).

Possible solution:

A hold-during-assignment hotkey which means "I want to delete" might be the best compromise here? We'd also change the cursor whilst it's held.