Jumper Clips Through Horizontal Bar

Started by Simon, August 18, 2024, 07:57:45 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Simon



Lix 0.10.26

The green lix (player ID 0) is already a runner-jumper-floater. Here, she becomes a jumper:
! 828 0 ASSIGN_RIGHT=JUMPER 0
Besides this jumper, green assigns no other skills near this time.

Expected: The green lix should not clip through the steel bar because there is at least one full horizontal row of air below the bar. She should bonk against the bar and fall down onto to the big triangle.

Observed: The green lix clips on top of the steel bar.

Replay: 2024-08-18-205947-Simon-6p.txt

This bug on github: Jumper Clips Through Horizontal Bar #491

-- Simon

namida

Would she bonk and fall down if the gap was a bit larger?

I can see two acceptable rules here: "Her feet cannot pass through the bar at all", or else "If her head/waist/(some other defined point) is above the bar at the start, she can jump up onto it". An edge case for one or two pixels is not so great IMO.
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)

Simon

#2
Right, the feet should bonk at the metal bar from below, and the feet should stay below at all times.

Over the years, I've grown wary of allowing any motion into solid terrain at all. Avoiding such motion will make for easy mental models and it also prevents bugs. There's still a lot of such moving into terrain in Lix. E.g., too many parts of the code move the lix first and then test for terrain, when instead we should test first, then move, then test again.

QuoteWould she bonk and fall down if the gap was a bit larger?

Yes.

She bonks when the gap is 4 pixels (2 lo-res) high. She ascends when it's 2 pixels (1 lo-res) high, even without any permanent skills. Looks like this ascending has been a result of the code for over 10 years and we never found it.

I wonder if Silken (the green player in the gif) has found this himself before the session, then wanted to trigger this behavior knowingly here.

-- Simon

Silken Healer

Quote from: Simon on August 18, 2024, 11:11:54 PM
I wonder if Silken (the green player in the gif) has found this himself before the session, then wanted to trigger this behavior knowingly here.

No. It was a completley accidental fluke.