[CHANGE?][PLAYER] Stacker-Shimmier-Glider trick no longer works in V12.9

Started by namida, May 24, 2020, 08:04:32 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

namida

Let me be very clear - I'm not very strongly on the side of making this work again. And I want to stress this: Please do not create packs that "require V12.8 exactly". V12.8 isn't a "notable" version in the same way V1.43 (last stable version before some major culls) or V10.13.18 (last old-formats version) is; making packs that will in the future require people to dig it up is very, very messy; and it's very arguable you'd be doing so not because of a culled feature, but because V12.8 has a bug that later versions don't (see below for the logic behind this claim), which is extremely contrary to NL's philosophy as bugs shouldn't exist, let alone be intentionally used by content. Affected levels can very likely be adjusted to use jumpers instead, or some other workaround. (It's different if you put a "this isn't yet tested for V12.9" note on an existing pack; I'm talking about new releases here, especially in the more distant future as opposed to something you've just finished and were ready to release but got hit by this issue.)

As background - there was a bug in older versions where the timing of the faller -> glider transition would depend on what the lemming was doing before becoming a faller. This is now fixed in V12.9 to be consistent, but one side effect is that the Stacker-Shimmier-Glider trick (where you assign a shimmier to a glider right in front of a stacker's stack, so they jump and land on top of it) no longer works.

There are basically three ways this can be handled. In order from my strongest preference to least preferred.
a) Accept this. The logic here - while the trick itself might seem fine, and indeed was accepted by some users who generally speaking have very low tolerance for weird or glitchy physics cases, it only worked due to an underlying bug. Therefore, it would make sense that, like any physics bug, it should be fixed. However, a counter-argument is that at this stage, NL is accepting some very minor ones (such as the floater equivalent of this very bug, which rather than actually seperating lemmings, might just cause a difference of 1 frame in how quickly they hit the ground).

b) Introduce a special edge case where a faller who transitions from a reacher, pulls out the glider slightly earlier than he normally would. This has minimal side effects but does mean there's another special case, just to preserve a behaviour that originated as a bug. Still, perhaps there's some argument as to why this makes sense (that doesn't rely solely on "we could do it before, so we want to still do it now").

c) Revert the fix, and accept the pre-bug situation. The original bug, while very specific, lends itself to creating very trollish levels once a designer is aware of it. It could also in less-dodgy situations, lead to weird unexpected outcomes in challenge runs or when trying things on particularly tricky levels. Not to mention, I kind of feel that "side effects are too much" is the kind of thing that doesn't get decided retroactively; if it wasn't so bad that people were complaining during the RC phase (during which the only complaints related to window sizing / positioning), it's not bad enough to warrant reverting a bugfix. So, option C is pretty much "theoretically, this could be done, but it won't happen".
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

A

Reason:

It's by far the smallest reason for breakage. Climber-->glider and updraft+glider is the most prominent by far.

It was a bug anyway. My stuff is also already adjusted to this as well and I've seen this trick only in a small handful of levels.

Dullstar

If we're going to make a change, it's best to do it before lots of content relying on it gets made. While getting lemmings over a stacker can be useful, jumpers are a thing in 12.9, so option A is probably the best choice.

WillLem

Seems like option A is the way to go.

Some support for option B, though:

I used this trick a lot for the New Skills challenge, so it's likely that this will break a lot of those replays.

However, with the addition of the Jumper it's likely that myself and others will want to look at this challenge again anyway, and now there is a fairly definitive way to get a Lem over a stack.

That said, the trick was particularly useful for making 'full-Stacker' staircases... not sure if the Jumper could necessarily fulfil that part of it; it seems a Climber would be the only way to do this now. That's fine, of course, because it's a lot easier to do this with a Climber, but it just means it's now the only option, and so there's no way to make full-Stacker staircases using only new skills.

Strato Incendus

I want to come out in support of option B.

Quoteb) Introduce a special edge case where a faller who transitions from a reacher, pulls out the glider slightly earlier than he normally would. This has minimal side effects but does mean there's another special case, just to preserve a behaviour that originated as a bug. Still, perhaps there's some argument as to why this makes sense (that doesn't rely solely on "we could do it before, so we want to still do it now").

My biggest argument here is:
We already have a special edge case of a Glider opening his sail earlier, namely at the top of the Jumper arc. This is inconsistent with regular Faller behaviour, yet it was enabled because it was popular and made the skill more useable.

With that precedent given, I think there's a perfect justification for having a Reacher turning into a Faller open his Glider sail slightly earlier than a regular Faller, so that landing on top of the stack through gliding when assigning a Reacher right in front of the stack continues to work.


In my case, the pack I'm currently working on doesn't introduce the Jumper until the third rank - the first two ranks focus on getting the player familiar with the Shimmier first, in order not to overwhelm them with new skills. As such, the first two ranks obviously include some instances of the Stacker-Shimmier-Glider trick. While it's technically possible to replace those Shimmiers with Jumpers, it would casually introduce the Jumper before the player is adequately prepared to use the Jumper, which is especially relevant since Jumpers and Shimmiers can also interact with each other on top of that.

The other question is, since I haven't tried yet:

Can a Jumper standing right in front of a stack (like when he himself just built it) actually jump onto that stack? Or will he bump into the stack and turn around, because he needs an arc to get on top?
My packs so far:
Lemmings World Tour (New & Old Formats), my music-themed flagship pack, 320 levels - Let's Played by Colorful Arty
Lemmings Open Air, my newest release and follow-up to World Tour, 120 levels
Paralems (Old Formats), a more flavour-driven one, 150 levels
Pit Lems (Old Formats), a more puzzly one, 100 levels - Let's Played by nin10doadict
Lemmicks, a pack for (very old) NeoLemmix 1.43 full of gimmicks, 170 levels

Proxima

Quote from: Strato Incendus on May 25, 2020, 10:29:19 AMThis is inconsistent with regular Faller behaviour

No it isn't. This was explained to you over and over, but you just don't seem to get it. I'm done with this.

As for the topic question, I'm for option A. There's no specific reason why the trick should work, and the fewer edge cases like this we have in the game, the better. It's true I didn't question the behaviour and ask "is this a bug?" when I learned about it through the "original levels with new skills" challenge, but I thought it was established behaviour and there wasn't much point questioning it. Sorry for jumping (or should I say gliding?) to conclusions.

IchoTolot

I think the re-planned structure of not even released packs is not the greatest of arguments here. It's not a big deal to simply introduce the jumper earlier in your pack. Sprinkle in a few new jumper levels for the early ranks and your golden.

Also, challenges are not really a thing that we should consider for this decision. Challenges change anyway with the introduction of new stuff and they are an agile process.

If we fix this bug it should be properly fixed. Anything aside A or C is just inconsequent.

I think this should definitly be fixed as the bug can lead to quite unfair situation as already explained. A is the logical answer in this case.

namida

QuoteWe already have a special edge case of a Glider opening his sail earlier, namely at the top of the Jumper arc. This is inconsistent with regular Faller behaviour, yet it was enabled because it was popular and made the skill more useable.

Technically, it is a special case for Glider behaviour, but faller behaviour doesn't even enter into it - the lemming never becomes a faller in the first place, and transitions to a glider several frames earlier than he would have (if not a glider) became a faller.

Regardless, "another special case exists" is not, in and of itself, reason to implement yet another one. It's an argument against "never have any special cases"; but not an argument in favor of any given specific case.
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)

Strato Incendus

Okay, so just to clarify, because I never actually paid close attention to this: At what point does a Reacher turn into a Faller? Right away after he reached the top pixel? Or does he move back down a couple of pixels with his arms still raised before transitioning to a Faller?

namida is right that the Jumper-Glider transition of course doesn't include the Faller state, so if this is special Jumper behaviour, maybe the Shimmier-Glider transition could be special Reacher behaviour? 8-)
My packs so far:
Lemmings World Tour (New & Old Formats), my music-themed flagship pack, 320 levels - Let's Played by Colorful Arty
Lemmings Open Air, my newest release and follow-up to World Tour, 120 levels
Paralems (Old Formats), a more flavour-driven one, 150 levels
Pit Lems (Old Formats), a more puzzly one, 100 levels - Let's Played by nin10doadict
Lemmicks, a pack for (very old) NeoLemmix 1.43 full of gimmicks, 170 levels

namida

I'd have to double-check the code to say for sure, but I'm fairly sure he transitions to faller at the top of the jump.

Changing this to an immediate glider transition at the top of the jump would be another further physics change to an existing setup though, and without the "this is fixing a bug" justification, so I don't foresee this happening. The only way would be if this was in fact the actual behaviour in the past, and I've unintentionally changed it, however, I don't see how any changes I've made might have done this - it's not the kind of thing that would be easy to accidentally break.
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)

Dullstar

I had originally said I support option A, and I stand by this, but reading some of the arguments, I think I should expand this to explicitly being against B and C, because I'd place this firmly in the realm of tricks that you wouldn't even think are possible unless you see it done, because it relies on a subtle difference in when the glider transition happens, which you probably wouldn't have even noticed if you weren't measuring. In the case of jumpers, it's immediately obvious upon assigning a jumper to a glider that there's a special case there.

I also agree that "the trick is useful in challenges" isn't a good argument. Historically, back in the DOS Lemmings/vanilla Lemmix days, glitch solutions were allowed for challenges, but for NeoLemmix we have settled on, for example, "Steel should always be indestructible" which isn't the case in DOS Lemmings - meaning that NeoLemmix broke all the challenge solutions that relied on steel glitches. Why should this physics bug be any different?

I am neutral toward enabling the behavior by changing the shimmier->faller->glider transition to shimmier->glider. It would be an obviously-intended way to replace the glitch behavior, but it would likely introduce backroutes in non-trollish content that was created without that behavior, so it's probably safer to leave as-is.

namida

Yeah, I think it's pretty clear by this point that option A is the right option here. Let's just be glad the underlying bug was picked up fairly soon after the Shimmier's introduction (and so relatively little affected content exists), and not far further down the track. :)
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)