Author Topic: Singleplayer migration  (Read 10765 times)

0 Members and 1 Guest are viewing this topic.

Offline Simon

  • Administrator
  • Posts: 3878
    • View Profile
    • Lix
Singleplayer migration
« on: June 18, 2016, 11:33:59 AM »
Hi level designers,

Edit 2016-08: The lemforum pack is in good shape for D Lix. I don't ship Clam's and Rubix's levels until they too have good replay coverage. Clam and Rubix, ask me if you need help. I'll walk you through replay verification!

let's migrate singleplayer levels to D Lix.

Ideally, we should work to make all levels solvable in D Lix, possibly with slight changes from the C++ levels. Then, to guarantee solvability, we should prepare solving replays of all levels in D Lix.

Maybe a few odd levels can't be made solvable. Let's work out any problems together.

Get D Lix

:lix-cool: Download for Windows <-- download
:lix: Download for Linux 64-bit (needs Allegro 5 runtime)
:lix-evil: Source code
:8(): Changelog
:8:()[: Bug tracker.

Keep D Lix separate from C++ Lix.

What to do

Lemforum pack: D Lix comes with the levels as they are in geoo's github repository by 2016-04-14. Only difference to geoo's repository: Proxima is called Michael S. Repton, not Michael. geoo knows best how to proceeed from here. Wait for geoo's instructions.

Clam's and Rubix's levels: D Lix comes with the version of your levels that C++ Lix has. You can check manually which levels are still solvable. Or run D Lix's automatic replay checker over your C++ replays: If you've kept solving replays in C++ Lix, copy your C++ replay collection into D Lix's replay directory. Then run lix.exe --verify=replays/path/to/your/dir > output.txt. Ask me in IRC for help!

Differences of D physics compared to C++
  • Spawn interval is fixed during play.
  • Time is unlimited in singleplayer.
  • Trampolines don't exist. Please remove all trampolines from levels. To help migration, the standard trampoline is still in the image tree, but it acts as a triggered trap that kills. I'd like to remove that tile within the next months.
  • Basher mask is longer by 2 hi-res pixels.
  • The builder gets closer to walls by 2 hi-res pixels before she stops and turns. You can now always build up to a vertical wall, then mine into the wall, no matter where you have started the builder.
  • The imploder mask is wider by 2 hi-res pixels, therefore symmetric now.
Coming later

Screen start is automatic for now. Nonetheless, the D Lix editor reads and saves back to file existing manual screen starts. The value is merely ignored during play. I should probably implement custom screen starts, where you can choose a midpoint.

Hints and tutorial texts are preserved, but never shown. I have yet to implement hints. I'd like to improve their user interface from C++ Lix.

Report bugs! :-)

Roadmap
  • Automatic replay checking. Done.
  • Editor. Done.
  • Declare the D port to be the standard version for singleplayer. Expect level designers to build against this engine, and expect all singleplayer replays to use a recent D port version. This also means that physics should not change erratically from here, at least in the master branch. Done: Since 2016-08-03, we have 100 % coverage for the lemforum pack.
  • Work on stuff that level designers suddenly need/miss, to easen the switch. Tell me what bugs you most!
  • Netplay, including the server code.
  • Declare the D port to be standard Lix in every regard. Retire C++ codebase.
  • Continue fixing bugs. I don't strive to make the D port as well-debugged as the C++ port before making it standard overall. Migrate early, expose bugs together, and fix them quickly.
-- Simon
« Last Edit: August 07, 2016, 05:22:44 AM by Simon »

Offline Proxima

  • Posts: 4570
    • View Profile
Re: Singleplayer migration
« Reply #1 on: June 18, 2016, 12:33:36 PM »
Awesome :) I'll start working through the pack and note any issues I come across.

Only difference to geoo's repository: Proxima is called Michael S. Repton, not Michael. geoo knows best how to proceeed from here. Wait for geoo's instructions.

Given how much space there is in the D browser, my preference would be for the full name when I am the only author, but just "Michael" when it gets slashed with another author. Sorry to be a nuisance  :lix-tongue:

Minimalism (Part 1) is impossible with fixed SI.

After solving "Alternative Methods Recommended", there isn't enough space for the level name and the completion tick. Perhaps we should just retitle this level?
« Last Edit: June 19, 2016, 11:01:48 PM by Simon »

Offline RubiX

  • Posts: 430
  • Amiga <3 The memories
    • View Profile
Re: Singleplayer migration
« Reply #2 on: June 18, 2016, 01:25:10 PM »
Congrats on the work done so far, Simon.
I'll be manually re-playing all my levels in D Lix , a bit at a time.

Thanks
Rub

Offline Simon

  • Administrator
  • Posts: 3878
    • View Profile
    • Lix
Re: Singleplayer migration
« Reply #3 on: June 27, 2016, 06:50:02 AM »
geoo, our maintainer for the lemforum flagship pack, is busy IRL for more than 2 weeks. He cannot make time for Lix.

If you have designed or played levels for the lemforum pack, you can help out. :lix-smile: Play some levels in D Lix, send me your solutions, or post them on the forum. Some levels aren't solvable. Feel free to edit them, even if they're not your own. You can still get in touch with the original designer later.

Ask questions here, or come to IRC (irc.quakenet.org #lix), I'll try to sit there often.

-- Simon

Offline Proxima

  • Posts: 4570
    • View Profile
Re: Singleplayer migration
« Reply #4 on: June 27, 2016, 04:25:31 PM »
Replays for all Simple levels, except Minimalism (Part 1).

The included replays for Every Lix for Herself and The Lion, Lix and the Wardrobe are non-100%. These levels need to be tested for whether 100% is still possible.

Offline Nepster

  • Posts: 1829
    • View Profile
Re: Singleplayer migration
« Reply #5 on: June 27, 2016, 05:19:56 PM »
Here are updates of my three lemforum levels to D-Lix. Attached are the level files and replays using V0.6.3.

Offline Simon

  • Administrator
  • Posts: 3878
    • View Profile
    • Lix
Re: Singleplayer migration
« Reply #6 on: June 27, 2016, 06:27:17 PM »
Thanks to Proxima and Nepster for their updates. For now, I'll collect replays in a separate repository, lemforum-replays.

lemforum-replays isn't synched to the D Lix repo, or geoo's lemforum repo, in any way. This is purely to get started. In particular, Nepster's replays for his changed levels are already in lemforum-replays, but the necessary levels aren't on github yet. They'll only come with the next D release in a few days.

-- Simon

Offline Proxima

  • Posts: 4570
    • View Profile
Re: Singleplayer migration
« Reply #7 on: June 28, 2016, 11:57:49 AM »
Quirky 17 "Decompression Method 1". This modification avoids the trampoline object. It is solvable in 0.6.3.

Offline Proxima

  • Posts: 4570
    • View Profile
Re: Singleplayer migration
« Reply #8 on: June 29, 2016, 03:18:49 PM »
Quirky 30 "Snowball Battle". The level was unsolvable with fixed SI as the digger went below the maximum fall distance while lix were still spawning. This version is solvable.

Offline Proxima

  • Posts: 4570
    • View Profile
Re: Singleplayer migration
« Reply #9 on: June 29, 2016, 10:57:51 PM »
Replays for all Quirky levels, except Q1 "The Adventure Playground" (unplayable due to a bug) and Q19 "That Pesky Gap" (level concept requires VSI).

Replays for Q17 "Decompression Method 1" and Q30 "Snowball Battle" use my fixed versions of the levels.

Q21 "Tribute to Flagpole Sitting" is non-100%. It would be interesting to check whether 100% is still possible.

Offline Simon

  • Administrator
  • Posts: 3878
    • View Profile
    • Lix
Re: Singleplayer migration
« Reply #10 on: June 30, 2016, 05:17:13 AM »
Thanks. All 38 of the Quirky replays solve.

The automatic replay checker believes that Hard to Port fails, even though it solves. That's because the autochecker aborts 5 minutes after the last assignment. He's unsure whether the lix are stuck in infinite loops. :lix-mystery: The standard FSI adaption, giving fewer initial lix, will fix this problem.

-- Simon

Offline Proxima

  • Posts: 4570
    • View Profile
Re: Singleplayer migration
« Reply #11 on: July 02, 2016, 01:55:16 PM »
And here are my Cunning replays.

Omitted: 2 "Merge Sort", 10 "Elixir", 40 "The Ob3lisk" (not yet solved); 29 "Go West!", 31 "It Takes Time to Build" (require digger-cancelling-digger, which doesn't work in the current D Lix).

I've included both solutions to "Come on down to my place".

"Labyrinth of Persia" is non-100%, could check whether 100% is still possible.

My copy of the levelset still includes "Three Days of the Condor", which I believe has been removed in the main levelset.

Offline Nepster

  • Posts: 1829
    • View Profile
Re: Singleplayer migration
« Reply #12 on: July 02, 2016, 02:06:25 PM »
Quote
31 "It Takes Time to Build" (require digger-cancelling-digger, which doesn't work in the current D Lix).
Not quite correct. See replay.

Offline Proxima

  • Posts: 4570
    • View Profile
Re: Singleplayer migration
« Reply #13 on: July 02, 2016, 02:34:41 PM »
Cunning 3 "Wreck of the Hesperus": moved the large crate to avoid two problems. (1) The gap to its left could be spanned with one platformer, but only on the last pixel. (2) The gap to its right could not be spanned with one builder, but it only just failed, so the player might keep trying.

Cunning 29 "Go West!" adds miners, avoiding the issues with digger-cancelling-digger. (This is how I would have made the level in the first place, except that I had to avoid miners when I first built it, because of the bug in old Lix where assigning miner to a digger mid-stroke could make it stop without even needing another lix to interfere.)

Offline Simon

  • Administrator
  • Posts: 3878
    • View Profile
    • Lix
Re: Singleplayer migration
« Reply #14 on: July 03, 2016, 03:06:39 PM »
I have included everything above this post in 0.6.5. If you make further edits to levels, please attach them to fresh posts.



No More Heroes (middle Hopeless) relies on its sharp 1-minute time limit. Attached to my next post, there's an adaption without the time limits. Insane Steve: Does it look too hackish? Is the spirit of this level still there? Everybody else is invited to backroute-test this.


How my adaption works (spoiler) (click to show/hide)

-- Simon
« Last Edit: July 04, 2016, 08:25:53 PM by Simon »

Offline Simon

  • Administrator
  • Posts: 3878
    • View Profile
    • Lix
Re: Singleplayer migration
« Reply #15 on: July 03, 2016, 03:47:54 PM »
Next version 2016-07-03 17:41:18 of No More Heroes:

More steel in bottom-right-hand corner. Exploder removed. Still 1 batter instead of Steve's 1 blocker.

-- Simon

Offline Proxima

  • Posts: 4570
    • View Profile
Re: Singleplayer migration
« Reply #16 on: July 03, 2016, 05:27:37 PM »
Replay for Panic Attack, after reducing the lix count to 20/25. I now suggest reducing further to 16/20.

Offline Simon

  • Administrator
  • Posts: 3878
    • View Profile
    • Lix
Re: Singleplayer migration
« Reply #17 on: July 03, 2016, 05:36:22 PM »
My replay for Panic Attack. This replay will solve an adaption that requires 16/20 and is identical otherwise, and would save 17 lix then.

We can look into namida's 2-builder version. That requires nontrivial terrain changes.

-- Simon
« Last Edit: July 04, 2016, 08:52:19 AM by Simon »

Offline Proxima

  • Posts: 4570
    • View Profile
Re: Singleplayer migration
« Reply #18 on: July 04, 2016, 12:01:31 AM »
Backroute for Rubix's Tick Toxic. This needs fixing before we can keep it at its current Daunting rating.

Offline namida

  • Administrator
  • Posts: 12399
    • View Profile
    • NeoLemmix Website
Re: Singleplayer migration
« Reply #19 on: July 04, 2016, 04:54:10 PM »
Here's my own remade version of Panic Attack (done from scratch, rather than based off the existing remake). If you ignore the extra 40 pixels each on the top and bottom, it's almost pixel-perfect true to the NL version of the level; though the stats are a tiny bit different (save 20 of 30 rather than 94 of 100; and only two floaters as the third isn't needed due to subtle mechanics differences in Lix). I have confirmed the intended solution to the level works on this version; I have not backroute tested it.

I also fixed up matt/carnival/27a.png a bit, since the graphic looked a bit iffy to me. There is no functional difference between this copy and the existing one; it's purely a graphical change.

This level uses tile grouping, so it's only compatible with LixD.
« Last Edit: July 04, 2016, 06:25:21 PM by namida »
My Lemmings 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)

Offline Proxima

  • Posts: 4570
    • View Profile
Re: Singleplayer migration
« Reply #20 on: July 04, 2016, 08:20:25 PM »
Daunting 20 "Slipping"

I've made a slight change to this level, so as to include a certain trick in the solution. Please test for backroutes :lix-evil:

Offline Proxima

  • Posts: 4570
    • View Profile
Re: Singleplayer migration
« Reply #21 on: July 04, 2016, 09:31:08 PM »
Replay for Daunting 25 "Cornerstone". Annoyingly precise timing, saves 3 bashers. Intended?

Offline Simon

  • Administrator
  • Posts: 3878
    • View Profile
    • Lix
Re: Singleplayer migration
« Reply #22 on: July 04, 2016, 09:43:41 PM »
Attachment has a solvable Over the Hump, and a proof of solvability.

The hump was unclimbable due to terrain rotation off by 1 pixel. I didn't touch anything but some terrain -- lix count and skillset are as before. The ground platform is slightly longer, so that the level is precision-tolerant even at fixed spawn interval (FSI).

-- Simon

Offline Proxima

  • Posts: 4570
    • View Profile
Re: Singleplayer migration
« Reply #23 on: July 05, 2016, 12:11:11 AM »
So here are my Daunting replays.

Omitted: 9 "Passing Engagement" (impossible with 20 lix, I've recommended reducing to 10), 30 "Buy One Get One Free (part 2)", 32 "Alien Invasion", 33 "The Ring of Fnargl" (not yet solved).

I've included replays for the original Slipping and my proposed variant; also a no-floater replay for Slipping Again, and the backroute with the floater.

Offline Proxima

  • Posts: 4570
    • View Profile
Re: Singleplayer migration
« Reply #24 on: July 05, 2016, 04:02:54 PM »
Could it be? The infamous Buridan's Lix, finally de-backrouted without a time limit?

The left route now has the exit raised onto a platform, requiring one more builder.

The right route now has an extra platform, requiring one more digger.

Which one will you choose?

Offline Simon

  • Administrator
  • Posts: 3878
    • View Profile
    • Lix
Re: Singleplayer migration
« Reply #25 on: July 16, 2016, 02:50:38 AM »
geoo has popped into IRC after his trip to Tanzania. That's good timing.

Plan for the next few days: I want to gather Proxima's proposals to the community pack, and release again. My replay repository on github is out of date, I have to put in Proxima's replays. Reasoning: This makes it easiest for geoo to review all changes. We can still revert afterwards.

Lix will get the --coverage switch in that release. Combined with --verify, --coverage lists levels without at least 1 working replay, as long as the levels reside in a directory from which you have tested at least 1 level. Reasoning: When we have more than 1 replay per level, we don't care anymore about any single replay in particular; we want to cover every level by at least 1 working replay.

geoo manages levels and replays on github. We should decide how to merge. Big singularity commit, then revert single files when geoo doesn't agree with a particular change? Or leave geoo's repository alone until we have 100 % D Lix solvability coverage, because it's in good shape for C++ Lix?

-- Simon
« Last Edit: July 16, 2016, 02:57:18 AM by Simon »

Offline Simon

  • Administrator
  • Posts: 3878
    • View Profile
    • Lix
Re: Singleplayer migration
« Reply #26 on: July 17, 2016, 01:08:20 PM »
Daunting 20 "Slipping"
Please test for backroutes :lix-evil:

Here you go. Slipping feels intended, Slipping Again looks like backroute.

-- Simon

Offline Simon

  • Administrator
  • Posts: 3878
    • View Profile
    • Lix
Re: Singleplayer migration
« Reply #27 on: July 17, 2016, 04:52:44 PM »
Passing Engagement without steel, only 2 builders, timing is easier.

-- Simon

Offline Proxima

  • Posts: 4570
    • View Profile
Re: Singleplayer migration
« Reply #28 on: July 17, 2016, 04:54:48 PM »
Slipping: more fire :lix-cool:
Slipping Again: moved decorative steel into corners, added sawblade to prevent a route using it

Offline geoo

  • Administrator
  • Posts: 1475
    • View Profile
Re: Singleplayer migration
« Reply #29 on: July 17, 2016, 06:38:26 PM »
Solved the two version of Slipping.

As for Cornerstone, this is the solution Nepster found. It's much more fiddly than my intended solution, and I didn't see a simple way to remove it so I left it in. The intended solution doesn't rely on precise timing. It has two extra bashers that were useful back when the basher removed terrain from top to bottom (to ease execution), but I don't think they are needed anymore now (same applies to the Mon0lith, actually).

Offline Proxima

  • Posts: 4570
    • View Profile
Re: Singleplayer migration
« Reply #30 on: July 17, 2016, 06:53:31 PM »
Slipping: exactly as intended.
Slipping Again: close enough that I wouldn't call it a backroute. However, the floater needs to be removed to prevent a separate backroute, and I forgot to do that on this copy :lix-tongue:

Offline Proxima

  • Posts: 4570
    • View Profile
Re: Singleplayer migration
« Reply #31 on: July 17, 2016, 07:52:50 PM »
Solution to 3-jumper Elixir.

Offline Proxima

  • Posts: 4570
    • View Profile
Re: Singleplayer migration
« Reply #32 on: July 17, 2016, 08:11:44 PM »
Solution to Buy One, Get One Free (Part 2).

Offline Proxima

  • Posts: 4570
    • View Profile
Re: Singleplayer migration
« Reply #33 on: July 18, 2016, 04:46:57 PM »
Vicious: Simon shared his list of 20 levels missing replays. I already have replays for 11 on the list.