Author Topic: To investigate: Lemming hitting head while trampolining  (Read 156 times)

0 Members and 1 Guest are viewing this topic.

Offline namida

  • Administrator
  • Posts: 12140
    • View Profile
    • NeoLemmix Website
To investigate: Lemming hitting head while trampolining
« on: August 09, 2022, 10:21:30 AM »
Based on seeing it in a LP video, it seems lemmings in this situation continue their forward trajectory but immediately start moving downwards in DOS L3D. Haven't tested in Loap yet.
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 namida

  • Administrator
  • Posts: 12140
    • View Profile
    • NeoLemmix Website
Re: To investigate: Lemming hitting head while trampolining
« Reply #1 on: August 11, 2022, 09:31:29 AM »
The setup that I saw result in this interaction in L3D does not produce the same interaction in Loap (as in, the difference in trajectory causes the head-hitting to not happen) so will need to create a dedicated test level. I'm not worried about the trajectory difference in and of itself - it's already known that they don't match exactly, I don't see it as a critical issue as it doesn't cause significant problems for official levels (and I already made the necessary adjustments to my one custom level that uses them) and it's likely custom levels will be made for Loap's physics anyway, and it's close enough.
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 namida

  • Administrator
  • Posts: 12140
    • View Profile
    • NeoLemmix Website
Re: To investigate: Lemming hitting head while trampolining
« Reply #2 on: August 13, 2022, 09:20:04 PM »
Okay, so it seems what's actually going on here is that there's no head check at all in L3D; the timing in that particular level just worked out that the peak of the jump coincided with when it looked like the lemming hit its head. Loap in fact behaves the same way, too, once an actual head-hit is set up.

However, what will often happen is that once the lemming gets far enough into a block, the wall check triggers, causing the lemming to fall down (at normal faller trajectory, with the slight forward momentum that occurs for most fallers) and turn around.

I don't think this behavior is ideal, and am thinking that this should be a case where Loap introduces an intentional physics difference from L3D. I can see one of two desirable behaviors here - either the lemming (immediately upon hitting head, rather than waiting for a wall check) falls down without turning around; or the forward momentum continues but the upwards momentum acts as if the lemming has reached the peak of his jump upon hitting head. (A third possibility is SPLAT!, but I'm not too keen on this one.) I have a slight lean towards the first option at the moment, but this is not a strong preference.

Test level attached. Filenames are set up for Loap's test levels folder; if you put these (without renaming them) into DOS L3D, it'll replace Fun 6.
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 namida

  • Administrator
  • Posts: 12140
    • View Profile
    • NeoLemmix Website
Re: To investigate: Lemming hitting head while trampolining
« Reply #3 on: August 14, 2022, 03:29:46 AM »
So I went with my gut feeling and implemented the "transition to (normal) faller" behavior; implemented in commit 9ad6953.
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)