[BUG][PLAYER] Direct transitions from climber to shimmier don't work.

Started by Armani, May 31, 2020, 11:35:15 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Armani

Direct transitions from climber to shimmier don't work in some cases.
I'm not sure but I suspect this would happen when the ceiling is 1pixel thick
I can assign shimmier to the climber but it is cancelled immediately and the climber fall down.



Watch this 30s video and you can see what I mean
https://youtu.be/dkIhArqdoJU
My newest NeoLemmix level pack : Lemmings Halloween 2023 8-)

My NeoLemmix level packs(in chronological order):
  Lemmings Uncharted [Medium~Extreme]
  Xmas Lemmings 2021 [Easy~Very Hard]
  Lemmings Halloween 2023 [Easy-Very Hard]

namida

These notes are mostly for myself to refer to when fixing it:

This bug seems to specifically occur when all three of the following conditions are met:
a) The ceiling is 1px thick at the position two pixels away from the wall. (It does not matter whether it's thicker or not on the first pixel from the wall, nor on any pixel after the 2nd.)
b) The 2nd ceiling pixel from the wall is level with the first.
c) The size of the gap between the floor and the ceiling (exclusive at both ends) is not divisible by 4.

(There might also be some minimum gap for this bug to occur, but I did not investigate this.)

Not really in the coding mindset today, but expect a hotfix for this when I am (rather than remaining as-is until 12.10).

Confirmed that this bug does not happen in V12.8. On further inspection, this bug does seem to occur on V12.8.
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

QuoteConfirmed that this bug does not happen in V12.8.

Thanks for this clarification; I remember trying exactly this method out, i.e. starting to shimmy directly on a Platformer's platform from a Climber state, when we were discussing the new skill idea of the Jetboarder. And the Climber could indeed directly hold on to the platform. I don't remember whether the height was divisible by four, though :) .
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

Upon further investigation, this bug occurs even as far back as V12.6.X (the first version to feature the Shimmier - specifically, I tested in 12.6.5), meaning this has been an issue with the shimmier since it was implemented and it's simply gone unnoticed all this time. I suspect my earlier assessment that it didn't occur in V12.8.X might have arisen from using the wrong test setup when checking that - I've made very sure that I'm using the right one this time for all versions tested.

Based on this, I'm not sure that a hotfix is the right approach after all; I think it would be better to fix this in V12.11.X (which is the next version to have physics changes). The usual goes here: Don't abuse this in any way for level designs, and if using it in challenges, keep in mind that future updates will break it. The workaround for levels trying to use the intended behaviour is, where possible, to have a slight overhang before where the platformer would be used.
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

I think this is hotfix worthy to be honest.

As this wasn't discovered until now it is VERY unlikely to break anything if this behavior now always works. It is just a conveniance for everyone to fix this now and we all don't have to have this in the back of our head when designing stuff anymore.

Dullstar

I agree with Icho that this is hotfix worthy. It is technically a physics change, but it's a bug and I think it's best to get rid of it ASAP. I've used instances of shimmiers using the bottom of platformer bridges in levels before, and I intend to do it again; it would be nice to have it always work as intended. As it is now, I have to keep in mind that I can't safely combine this trick with climbers, because it might not work. In this instance, I can't really think of how anyone could make a level that requires this bug (since it looks like it just eats a shimmier), but we should get rid of it before someone finds a way to exploit it.

namida

Fixed in commit 5075b1c. I'll release a hotfix when I fix the Jumper-Shimmier shadow bug (see topic I just created).
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)