Lemmings Forums

Lix => Lix Main => Topic started by: Forestidia86 on May 02, 2018, 08:46:44 PM

Title: Builder edge cases (spoiler)
Post by: Forestidia86 on May 02, 2018, 08:46:44 PM
I just wanted to collect two (known) builder edge cases that can lead to backroutes.

1. Turning around the crowd with two builders (and one blocker)
By stacking stairs you can block the crowd but usually you need three stairs for that.
But you can force the situation with two stairs as well.
For that you need a blocker. The builder turns at the blocker which can lead to copying or stacking of stairs so that you effectively have two stairs next to each other instead of one. So you can simulate having three stairs with just two.
I've created a replay to showcase this called "twostairsblock.txt" (level used is Any Way You Want; I freed the blocker in the end to show that you have indeed a blocking stair wall). It's rather precise to perfom when on flat surface. It could be very well easier to perform on slopes.
Even if you already have to use a blocker which blocks the crowd anyways this has use cases.
For example you can use stairs to cross a gap or catch the lix in a loop but after the route is built you want to free them of the loop or let them go into the gap.
(Theoretically you can make a blocking wall with one stair and two blockers but I don't see a good application case.)

2. Ramond's 2-builder cancelling (issue 268) (https://github.com/SimonN/LixD/issues/268)
Two builder cancelling works in Lix and was found out by Ramond.
It has a very peculiar and precise setup since it depends on the distance between lix, especially when the second lix arrives at the first builder.
But there are ways to manipulate this distance. One of them is using the shrugger animation of the first builder if you have more than two stairs. The shrugger animation lasts multiple frames which lets you readjust the distance between first builder lix and second.
I've created a replay to showcase this called "twobuildcanc.txt" (level used is Any Way You Want).
Title: Re: Builder edge cases (spoiler)
Post by: Simon on May 07, 2018, 06:34:50 PM
Thanks for the summaries! I've already replied in IRC, here are my judgements:

1. The builder creates an extra slab when blocked, this is deliberate to guarantee a connected staircase when the builder turns. I believe that this 2-builder-1-blocker turning is therefore acceptable. But I haven't investigated yet how precise it is.

2. Ramond's 2-builder cancelling is a bug. It is pixel- and frame-perfect. I'd like to remove it the next time I update physics.

-- Simon