Lemmings Forums

Lix => Lix Main => Topic started by: Simon on August 18, 2024, 07:57:45 PM

Title: Jumper Clips Through Horizontal Bar
Post by: Simon on August 18, 2024, 07:57:45 PM
(https://camo.githubusercontent.com/ab66dfea822fe5368bb1edbbb2f5f19332984b2858226fd540f9070270339043/68747470733a2f2f7777772e6c697867616d652e636f6d2f6574632f6a756d7065722d636c6970732d7468726f7567682d686f72697a6f6e74616c2d6261722e676966)

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 (https://github.com/user-attachments/files/16651483/2024-08-18-205947-Simon-6p.txt)

This bug on github: Jumper Clips Through Horizontal Bar #491 (https://github.com/SimonN/LixD/issues/491)

-- Simon
Title: Re: Jumper Clips Through Horizontal Bar
Post by: namida on August 18, 2024, 11:01:29 PM
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.
Title: Re: Jumper Clips Through Horizontal Bar
Post by: Simon on August 18, 2024, 11:11:54 PM
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
Title: Re: Jumper Clips Through Horizontal Bar
Post by: Silken Healer on August 19, 2024, 08:18:31 AM
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.