Author Topic: [BUG?][Player] Glider hitting wall under thin ceiling causes lem phasing through  (Read 3283 times)

0 Members and 1 Guest are viewing this topic.

Offline IchoTolot

  • Global Moderator
  • Posts: 3608
    • View Profile
If a glider hits a wall right under a thin ceiling the glider phases/steps-through it and comes out on top of the ceiling.

I attached a test level to show this behavior.

In the test level:

In the case of the lem close to the upper wall the glider seems to bump into a wall which that said wall being a 1 pixel high piece of the ramp.
The hitting of this wall happens through the little hook/bump the glider does when opening the gadget.
The hitting of the 1 pixel wall results in the glider getting through the ceiling/ramp.

The lem coming from far away highlights the wall hitting better at the very bottom of the ramp by not using that little hook/bump when opening the gadget.

Oberserving the lems position with clear physics active helps as well.

So it seems that hitting a wall just under a thin terrain ceiling causes a step-through.

I don't know if a fix would entail changing the whole glider-wall or glider-land behavior though. That would need to be evaluated.

Offline namida

  • Administrator
  • Posts: 12398
    • View Profile
    • NeoLemmix Website
Although the result seems counterintuitive in some ways, I'd actually say this is not a bug - just a somewhat strange outcome of intended physics. In particular consider:

1. A glider will be pushed downwards if he encounters a wall that he cannot step up onto. (EDIT: ...but does not extend downwards far enough to turn him around)
2. A glider will step up if he encounters a wall he can step up onto.

The lemming that starts near the wall in your example initially exhibits the result of (1). Note that he is immediately below the slope - in other words, the pixel immediately to his right at all times (at least while underneath the terrain) is solid. Therefore, once there's a gap above it (thus meaning he can step up), this behavior triggers. Note that a walker encountering this setup would also be able to step up through the bar, which is a long-established and accepted behavior.

The other lemming is pretty much the same, except that he's a tad lower so doesn't encounter a solid pixel in front of him until he reaches that bar at the bottom. Beyond this it's pretty much the same.

I'll leave the topic open for discussion, but my judgement here at this stage is that there's no bug, just a somewhat unintuitive (but consistent) outcome.
« Last Edit: November 03, 2022, 07:35:26 AM 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 IchoTolot

  • Global Moderator
  • Posts: 3608
    • View Profile
Ok, so it is indeed just a weird edge case of a glider barely hitting a corner. Just this time there is a little ceiling that can be stepped through, so it doesn't stop him.

Offline WillLem

  • Posts: 3345
  • Unity isn't sameness, it's togetherness
    • View Profile
Perhaps "lem phasing" should become an allowed behaviour. Maybe ALL lems should phase! :lemcat:

Offline namida

  • Administrator
  • Posts: 12398
    • View Profile
    • NeoLemmix Website
Sounds like there isn't really much debate about this, so I'll close this off now, and confirm that the behavior will remain as-is.
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)