Autosave replays: Run to end?

Started by Simon, January 09, 2019, 10:50:12 PM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

Simon

Split off Level solving contest #2:

Quote from: Minim on January 09, 2019, 09:54:19 PM
I thought the F3 button was a "save replay" button. That icon that looks like a save button has deceived me. :-[

I apologize for the lousy UI and how it caused you to lose the solution. :lix-trouble:

Harvester runs replay to end: There's a nasty related question: What is a solution? In our culture on the forum, it's a replay that will save enough lixes. Autosave promises to save all solutions, but it will only save those solutions that have run to a solved state during gameplay. It's possible to beef up the "replay harvester" (the internal part of the game that sits between the exited attempt and the level browser, and decides whether the replay is autosaved or offered for manual saving) to always run the replay to completion, to never miss solutions even when they haven't been run to completion during play. It's expensive and feels weird, maybe it's worth it, I don't know.

-- Simon

namida

QuoteIt's possible to beef up the "replay harvester" (the internal part of the game that sits between the exited attempt and the level browser, and decides whether the replay is autosaved or offered for manual saving) to always run the replay to completion, to never miss solutions even when they haven't been run to completion during play. It's expensive and feels weird, maybe it's worth it, I don't know.

IMO: Profile it on a not-too-powerful machine, if it's not particularly excessive nor tricky to implement, do it. I recall that Lix's replay simulation is extremely fast (many orders of magnitude faster than NL's, which is already very fast for a single replay; also in this situation, the physics map is already rendered), I suspect that while it might theoretically be computationally expensive, it will not be an issue in practice.
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

Forestidia86

Quote from: namida on January 10, 2019, 07:32:05 AM
QuoteIt's possible to beef up the "replay harvester" (the internal part of the game that sits between the exited attempt and the level browser, and decides whether the replay is autosaved or offered for manual saving) to always run the replay to completion, to never miss solutions even when they haven't been run to completion during play. It's expensive and feels weird, maybe it's worth it, I don't know.

IMO: Profile it on a not-too-powerful machine, if it's not particularly excessive nor tricky to implement, do it. I recall that Lix's replay simulation is extremely fast (many orders of magnitude faster than NL's, which is already very fast for a single replay; also in this situation, the physics map is already rendered), I suspect that while it might theoretically be computationally expensive, it will not be an issue in practice.

If such a mechanism is implemented I plead for an option to turn it off (while still having the possibility to autosave played out replays) since it can get very annoying:

1) For very lenghthy computation heavy replays the verifying process can last multiple seconds. And having to wait such a time before proceeding can get frustrating.

2)a) You have no chance to cancel the level without replay anymore if you've already made the route. That's nasty for testing purposes since it spams your replay folder even more.
b) Furthermore to single out replays is not that easy if you have multiple, which aggravates a).

3) You can (theoretically) get autosaved solving replays without even having realized that your route solves. But it belongs to the puzzle to assess that.

Simon

namida and Forestidia, thanks for the input.

(Harvester runs replay to end) is moderately easy. The unrelated replay verifier is adaptable to take the existing physics map and gamestate instead of creating them from scratch.

Re 1), yes, cancelling a map must stay fast, it's so common. Long solutions take a noticeable time to run in the replay verifier already. We would have to test this on slow machines. Forestidia has two laptops that run Lix, and the slower would be good to test.

Lix has a level that solves with 0 skills, but not obviously. Thus Forestidia's 3) is a concern: Cancelling the map produces a solution checkmark, that would look like a bug.

Before I adapt the harvester, I should work on the quicksave icon. The bad quicksave icon (floppy disk) is the prime culprit for the lost data. This icon must change. Everything else feels like a bonus in comparison, or like overengineering, I'd have to sleep over it. :lix-winktongue:

-- Simon

ccexplore

Quote from: Simon on January 11, 2019, 12:32:43 AMLix has a level that solves with 0 skills, but not obviously. Thus Forestidia's 3) is a concern: Cancelling the map produces a solution checkmark, that would look like a bug.

Color me curious, which level?  Is it part of the set of levels that come with Lix or just a custom one from somebody?

If today the game already requires you to run the solution to a solved state to get the checkmark, I think it's reasonable to put it on the user to do fast forward in order for the solution to count, including getting the autosaved replay.  Smarter harvesting might be helpful if we have a very forgetful user, but otherwise doesn't really save much time since the game still has to run the level far enough to determine the solved state (plus, it still has to cut off after some time, so there's always the possibility that a solution works but takes too long to hit solved state relative to the cutoff timeout).  The other alternative is maybe the game just always keep the replay for the most recent attempt as a backup somewhere, regardless of whether it can possibly solve or has solved the level or not.

Forestidia86

Quote from: ccexplore on January 11, 2019, 07:27:24 AM
Quote from: Simon on January 11, 2019, 12:32:43 AMLix has a level that solves with 0 skills, but not obviously. Thus Forestidia's 3) is a concern: Cancelling the map produces a solution checkmark, that would look like a bug.

Color me curious, which level?  Is it part of the set of levels that come with Lix or just a custom one from somebody?

Level that solves itself
It's in the lemforum pack: Lix Potion Number Nine, it's currently (Lix 0.9.24) Lovely 21.

Quote from: ccexplore on January 11, 2019, 07:27:24 AM
The other alternative is maybe the game just always keep the replay for the most recent attempt as a backup somewhere, regardless of whether it can possibly solve or has solved the level or not.

I like the idea of having a backup save replay, although you can save replay manually after exiting the level.

namida

Quote from: ccexplore on January 11, 2019, 07:27:24 AMThe other alternative is maybe the game just always keep the replay for the most recent attempt as a backup somewhere, regardless of whether it can possibly solve or has solved the level or not.

This seems like a very good solution. Perhaps expand this to the last two or three attempts. The user's attention should be drawn to this in a non-intrusive way, perhaps a popup notice (that does not require manual dismissal or interfere with normal UI interaction) mentioning "Backup replay saved to _______" when this is triggered. Or, the first time this happens for a user, a normal-style popup notice saying "Your attempt replay has been saved to _____ as a backup" - maybe even with both a normal "Dismiss" and an outright "Do not show this again" option?
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

Simon

#7
Temporary holding of the most recent N replays, no matter whether solution or not, interesting idea, yes. But must be as unintrusive as possible. Like git reflog, it should always be there, but we rarely need it. Feels better on first sight than running the replays to conclusion in the harvester.

nin10doadict, the quicksave/quickload icons should not look like writing to disk. The data loss happened because minim assumed that these icons save something to disk, presumably the replay. :lix-evil:




I've split off the discussion for quicksave icon.

-- Simon