Lix Proof Collection (solutions for all levels)

Started by Simon, August 18, 2019, 07:35:41 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Simon

Hi,

https://github.com/SimonN/lemforum-replays

...offers at least one solving replay ("proof") for every singleplayer level in the main Lix download.

Installation:


Usage: You can choose:

  • Run Lix, open the Replay browser, and watch individual replays.
  • Or, to check solvability without spoiling:
    In the Replay browser, navigate to the extracted directory (or to a pack or rank inside), then click "Verify Dir".
  • Or, to check solvability from the command line:
    lix --coverage replays/yourExtractedDirectory

A solving replay is called a proof of solvability for its level. A level with at least one proof is called covered. Ideally, the proof shows the intended solution. When somebody else than the level author covers the level, it's usually close to the intended solution, but it might be a backroute.

If you're a singleplayer level designer, it's good style to cover your levels. If you would like your levels included in the main Lix download, please send me both the levels and their proofs, so I can include your proofs in the proof collection.

-- Simon

Forestidia86

Quote from: Simon on August 18, 2019, 07:35:41 AM
Installation: Follow above link -> Clone or download -> Download as Zip -> Extract within replays/ of your Lix installation.

That may be a bit pedantic but in a fresh download there is no replays folder although you can just put it in the extraction path so instruction may be technically right.
(I only noticed it because sometimes it irks me that I have to create one myself and thought to myself if a new user could get confused where to put replays. But then again that should have almost no use cases since already one produced replay creates that folder. So I never know if I'm for doing sth. against it.)

Simon

Quote from: Forestidia86 on September 28, 2020, 08:15:28 PM
pedantic but in a fresh download there is no replays folder although you can just put it in the extraction path so instruction may be technically right.
new user could get confused where to put replays.

Pedantism is excellent for these instructions. I changed the instructions in the opening post to explain making the dir. Thanks!

-- Simon

ericderkovits

Thanks for the replays for all the single player levels of Lix. I like watching these two.

mobius

I don't believe any replays exist on the github for the outtake levels of the community pack like "bulldozer"? unless I'm wrong. Does anybody have replays for those levels?
everything by me: https://www.lemmingsforums.net/index.php?topic=5982.msg96035#msg96035

"Not knowing how near the truth is, we seek it far away."
-Hakuin Ekaku

"I have seen a heap of trouble in my life, and most of it has never come to pass" - Mark Twain


Forestidia86

Quote from: mobius on August 12, 2022, 10:38:50 PM
I don't believe any replays exist on the github for the outtake levels of the community pack like "bulldozer"? unless I'm wrong. Does anybody have replays for those levels?

The replays for the outtake levels that are shipped with Lix (including Bulldozer) are in the github repo: https://github.com/SimonN/lemforum-replays/tree/master/misc/lemforum-outtakes


Proxima

I've decided to look through all replays for levels that I've solved in the past, to make sure we have replays for the intended solutions or (if there is doubt) what I think most likely to be intended. This will take a while, so I'm doing it in little chunks.

Lovely is done. I've attached my comments, as well as replays for L4 Diamond Dash (intended solution) and L21 Lix Potion Number Nine (save all). I've noted a couple of levels where we don't have a replay for an interesting alternative solution, so I might record these later.

In the comments, I've noted all replays that fail, as well as replays that are identical or very similar, in case we feel it's a good idea to trim these down to one replay per solution.

Simon

Yes, this is an excellent undertaking. The original point of the collection was automated proof of solvability, and we submitted whatever passed the level, but it's equally important to collect the intended solutions.

I have these bugs left open from 2016:
#109 Rename replay directly in the replay browser
#102 Replay <-> level: run against arbitrary level

Do you still need support for rename-replay from the replay browser? Or do you use the show-replays-for-this-level dialog ("Rep4Lev") of the singleplayer browser instead? Improving rep4lev is harder than improving the replay browser, but I don't mind looking at what helps you with your archiving project.

-- Simon

Proxima

Covered all the replays I felt were missing for the Lovely rank:

L10 Escape the Pit, right-side-only solution
L15 Alternative Route Recommended, down-then-right and straight-down solutions (maybe these are too similar to keep both?)
L19 Let's All Go Down the Strand, turn round at top and build up solutions
L33 The Lion, Lix and the Wardrobe, save all

How do you feel about deleting failed and identical replays? Should I continue to point these out?

As for renaming replays, for the main proof collection, I'd prefer it to be all or nothing: either it's okay to rename any replays (not just mine) to be more informative about what solution they show, or we just leave all of them with the default timestamps.

Either way, it would be a useful feature for my own personal use.

Simon

#9
Renaming replays to include a judgment is good. There is no support in the replay format to mark this information, it's been a loose feature idea but I've never done anything toward it. Therefore we must resort to the filename, which is good anyway.

There is no precedence. We can make something up:
levelname-player-judgment-timestamp.txt
levelname-judgment-player-timestamp.txt
levelname-player-judgment.txt
levelname-judgment-player.txt

And the judgments might be strings over a-z0-9, e.g., intended, intended1, intended2, accepted, backroute, bug, ..., whatever proves useful. There is no tooling that looks for these strings yet.

Identical replays: Feel free to point them out. Back in the day, we tossed everything in and hoped that it become useful. It's still possible that future physics bugfixes will invalidate some replays but not others, and then levels will stay covered without extra work ... but that's not a strong argument. The levels with many replays tend to be easier levels that are quick to re-cover. And most levels with multiple replays will still have only one intended replay, which should pass (regardless of whether other replays pass) under this new system where we use replays to document intended routes. It makes sense to delete some dupes.

Failing replays: No need to point them out, I've found them with full replay verification. 22 replays fail in Lix 0.10.36, and 14 of the fails are in lemforum:

14 failing replays in lemforum
Daunting/cornerstone-Michael-2016-07-04-223017.txt
Hopeless/eyeoftheneedle-Michael-2017-11-30-022958.txt
Hopeless/fromtheotherside-geoo-2017-08-02-103750.txt
Hopeless/fromtheotherside-Michael-2018-04-29-162614.txt
Lovely/putyourlix-Michael-2016-06-27-144736.txt
Vicious/downamong-Michael-2018-04-14-170928.txt
Vicious/thelastlaugh-Michael-2016-07-05-120031.txt
Vicious/tinkertailorsoldier-mobius-2022-12-09-211843.txt
Vicious/tinkertailorsoldier-mobius-2023-01-16-194919.txt
Lovely/climbtofreedom-sekti.txt
Lovely/pipedream-Simon-2018-01-08-005723.txt
Vicious/fiveforfighting-geoo-2017-08-02-120536.txt
Vicious/theresa-Nepster-2017-08-09-131654.txt
Vicious/waitwhyisthereatree-geoo-2017-06-21-132852.txt

I'd say we delete them unless you pick some for explicit preservation. You can look at them to see if a replay documents an intended route found nowhere else, but we should re-cover that level then anyway.

Thanks for the new replays!

-- Simon

Proxima

#10
Okay, thanks. I've gone over the Lovely replays again, deleted the failed ones and some duplicates, and renamed all replays with a [levelname-player-judgment] scheme. For the judgments, I used the following criteria:

* Left blank if there is only 1 replay for a level (unless important information needed to be added, like "backroute", but that hasn't happened yet).
* If a noteworthy challenge was achieved, e.g. 0 climbers or save all, marked this. Sometimes two replays have identical judgments, e.g. sekti's and mine for L27 are both save all but show different solutions. That's okay.
* Indicated "main" for (what I take to be) the level's main route, often contrasted with "shortcut". So far, "intended" has only been used for geoo's L28 (as he is the level author) but it's likely to get more use later.
* If a level has multiple routes with no "main" route, indicated the route taken in some way, e.g. "top route" or "reverse miner".
* If nothing stands out as descriptive of the route (e.g. geoo's and mine for L20), left blank for both.

I also tidied things up a bit by recording some more replays:

* L1: Replaced "digger" and "save all" replays with a 1-digger save all.
* L14: Recorded a 0-jumper solution to pair with Simon's 0-climber solution.
* L28: Since Simon's replay sets everything up for the 2-cuber solution and then uses a 3rd cuber anyway, tweaked it to use only 2. (Kept Simon's name on the replay.)
* L32: Tweaked my solution into a save-all.

I'm done with Lovely now and ready to move on  :thumbsup:

Proxima

There are eight replays for Q15 Decompression Method in the master collection, but the Load Replay button doesn't find any of them. Any ideas?

Forestidia86

You have to rename the part in the replay name 'decompressionmeth1' to 'decompression' for Load Replay to work apparently.