Author Topic: Replay Insert Mode for Lix (like NeoLemmix's "blue R")  (Read 655 times)

0 Members and 2 Guests are viewing this topic.

Offline nin10doadict

  • Posts: 327
  • Guy who constantly misses the obvious
    • View Profile
Re: Replay Insert Mode for Lix (like NeoLemmix's "blue R")
« Reply #15 on: January 12, 2023, 11:59:28 PM »
I've been wondering about "hanging assignments" that can result from inserting assignments into a replay that now make future assignments already in the replay fail.
Consider the example:
Phyu 59: Lem 5 gets a basher.
Phyu 60: Lem 6 gets a builder.

If you go back and insert at phyu 59: Lem 6 gets a builder, then depending on whether we're using Lix or Neolemmix we get different behaviors.

In NeoLemmix the previous assignment to Lem 5 at frame 59 is silently overwritten and won't happen anymore. Could have disastrous effects on the rest of the replay; now any other assignments that were dependent on that one will be in unhelpful locations or fail for one reason or another. I find myself manually shuffling through the frames when using replay-insert to ensure I don't accidentally overwrite something, which seems annoying. Should the player have to manage this? Can the game notify the player that an overwrite has occurred with a sound or visual cue? Should the game prevent the overwrite altogether? If so, can the player force the overwrite anyway with repeated attempts?

In Lix, which allows multiple assignments on the same phyu, both assignments at phyu 59 will succeed, and because of the queuing mechanic for builders, Lix 6 will now use two builder skills.

There are several ways we could end up with "hanging" assignments. Due to inserting assignments earlier in the replay, we could end up attempting to give permanent skills to Lems that already have them, try assigning skills to Lems that are no longer in the level, or try assigning skills to Lems that can't use them because they are busy doing something else. These seem benign, but one potentially troubling "hanging" assignment comes from trying to assign skills when we don't have any more of that skill available in the skill panel. If you only have 5 platformers available for the whole level and have assigned them all, then go back and insert platformer assignments before they have been "used," then the future assignments will now fail. Again, should the player have to keep track of this, or is it better to have the game do it for us? If there is a "hanging" assignment at a past section in the replay, should the game remove it or leave it there?

Offline Simon

  • Administrator
  • Posts: 3488
    • View Profile
    • Lix
Re: Replay Insert Mode for Lix (like NeoLemmix's "blue R")
« Reply #16 on: January 18, 2023, 11:16:44 PM »
Moved the NeoLemmix issue into a new thread: Replay Insert Mode ("blue R") silently overwrites. Thanks for your good description!

Hanging assignments, I'd like to keep them in the replay at least for a while during play. Reason: You might be tweaking X, thereby break Y, and re-tweak X to repair Y. You might do this even from the future, when both X and Y are in the past. Thus, even hanging assignments in the past should remain in the replay for a while.

Assigning a 6th platformer when you only have 5, but some of the 5 will only be assigned in the future: I agree that this is annoying. I have no good solution for this. The future assignments might be garbage (hanging assignments from when we tried stuff 20 minutes ago and forgot about them), but they might also be vital.

Maybe the skill panel should price in both valid past assignments and all future assignments (valid or invalid). Invalid past assignments, Lix's panel has never priced those in. But then: If the skill panel prices in future assignments, then when you replay through such an assignment and it turns out invalid, you get +1 in the panel because now it's a past invalid assignment. Hmmmm, maybe that's okay.

-- Simon

Offline Dullstar

  • Posts: 2046
    • View Profile
    • Leafwing Studios Website (EXTREMELY OUTDATED)
Re: Replay Insert Mode for Lix (like NeoLemmix's "blue R")
« Reply #17 on: February 04, 2023, 03:30:11 PM »
If you do hold onto hanging assignments, perhaps they should be dropped from the replay when it is saved? Lix would need to keep track of which assignments these are, however. (similarly, for doing the positional verification without breaking the format, the game could keep track of them during play and then just not save them to the replay: I doubt loading a replay and then editing it is a particularly common use case, so you could probably just have the game check to see if it knows where the assignment should go, and if so, check if it matches, and if not, fill it in -- if someone really needed to edit a loaded replay and the desyncs were unacceptable they could let it play out once to let the game fill in all that info, if that can't already be automated similar to how the replay checker works).