[BUG][PLAYER] Crowd / builder seperation via blocker *is* possible

Started by namida, May 24, 2017, 10:15:12 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

namida

Quote from: Nepster on May 13, 2017, 08:55:22 PM
No, I am 99% sure that there is no way to separate the builder from the crowd [in NeoLemmix]. And if there is, then this would be a bug that has to be fixed. :P

Found a way.

Would be great if you could work on a fix Nepster, as you know the details of the physics code better than I do (and I'm mostly focusing on getting new-formats ready for use). Should be fine to branch from the latest commits now, if you can tolerate that single level mode currently isn't working.
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)

IchoTolot

This is a bug? :lem-mindblown:

I came across this from time to time again over the years and thought it was natural. I never found this extremely annoying as well to be honest (only slightly), but if it's not intended then let's fix this.

I still prefer it to be gone don't get me wrong - I am on the side for a fix, although I would argue against great, elemental changes in blocker, builder behavior as this really seems not worth ravaging through core and elemental physics for resulting in major need for maintenance in tons of levels that don't actively use this seperation behavior (just a standard blocker + builder).
I just see the potential collateral damage a fix could have.

Also:
I never used this behavior in a level and don't know about any level that does. Just worried for tons of collateral damage. ;)

namida

Whatever change may occur, it won't be implemented until new-formats are in, so it will be at a time when major updating work is needed anyway and it's expected that content may take a while to get converted.
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)

Nepster

I was already aware of this for a few days, but wanted to test a bit more before posting here. And now namida was faster. ;)

I propose the following change, originally suggested by geoo for Lix:
Make the middle no-turning blocker area slightly larger for builders, while keeping everything exactly the same for all other lemmings. This means (L/R = force field left/right, x = blocker position when facing right):

For non-builders:         For builders:
LLLL----RRRR             LLLL----RRRR
LLLL----RRRR             LLLL----RRRR
LLLL----RRRR             LLLL----RRRR
LLLL----RRRR             LLL------RRR
LLLL-x--RRRR             LLL--x---RRR
LLLL----RRRR             LLL------RRR
LLLL----RRRR             LLL------RRR
LLLL----RRRR             LLL------RRR
LLLL----RRRR             LLLL----RRRR
LLLL----RRRR             LLLL----RRRR
LLLL----RRRR             LLLL----RRRR


This change has the following consequences:
- Separation of the crowd and builder at the blocker is no longer possible.1)
- Whenever the turning builder created a traversable path for the crowd, all lemmings behave exactly the same before and after this change.
- geoo's glitch by placing two blockers next to each other and using a builder to free one single level is not possible in NeoLemmix, because we disallow overlapping blocker fields.
- My own obscure glitch, by separating the crowd and the builder by building from the bottom into the blocker area, is impossible as well, because we only removed some blocker area in the middle, not at the bottom.
- I am aware of one even more obscure glitch using the new mechanics, that requires an extremely precise setup of force fields, blocker positions and builder timing. I don't expect that anyone will ever find this without knowing the exact mechanics of all parts involved, so perhaps we can accept this.

I mass replay checked all my NepsterLems replays and none of them broke. Still, some more checks should be made, before we decide whether using this fix or not.

@namida: see commit 7981f77.

1) I hope. But Simon said the same about his proposed change for Lix, and it turned out to be not 100% correct.

namida

Tested Lemmings Plus Omega II, and Lemmings Plus III (which is quite builder-blocker heavy).

At first, a few replays failed. I quickly realised this was due to an unrelated bug in the level conversion code, and once that was fixed, all replays (including talisman replays) passed for both.
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)

mobius

I assume you mean the maneuver where you make a lemming [walking up a stair as the builder is still working] a blocker such that the builder turns but the crowd does NOT follow him up and is blocked by the blocker. ?

This was debated in Lix a while back and I think they decided to get rid of it as it's used very rarely and it was difficult make a clean behavior that doesn't make one decidedly easier than the other. [crowd holding back versus not being held back]. I generally agree. I think the crowd should always be allowed to follow.

There was a famous old level by BulletRide that used it but this is one of the very few I know of.
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