Author Topic: [FIXED] Lots of swimmer bugs [PLAYER] [BUGS]  (Read 1866 times)

0 Members and 1 Guest are viewing this topic.

Offline Nepster

  • Posts: 1829
    • View Profile
[FIXED] Lots of swimmer bugs [PLAYER] [BUGS]
« on: March 28, 2016, 05:10:42 PM »
Here are quite a few bugs in the swimmer behavior. Because they are all caused by different lines in the code, I will only explain the unexpected behavior, but not its cause in detail. The small pillars in the test maps give the height of the trigger area of the water. Apart from the obvious exceptions, they do not interact with the swimmer.

SwimmerTest.lvl
1) Top right: Lem should fall into the gap, but does not. If one side would be solid, the swimmer would safely reach it and transition to walker.
2) Top left: When reaching the top water, there is one frame where the lemming jumps out of the water and is a faller! Lemmings are dolphins 8-)!
3) Bottom left: When reaching the terrain, there is one frame where the lemming is a faller!
4) Middle left: Here the miracle occurs: If one mixes the previous two setups, the bugs cancel and the swimmer correctly transitions directly to a walker :lem-mindblown:.

SwimmerClimberTest.lvl (all lemmings are here swimmers and climbers!)
1) Top: Swimmer correctly transitions to faller.
2) Upper middle: Swimmer transitions to faller. Expected would be to climb the pillar. This is due to the tendency to dive down rather than climb, even if there is no more water down there. --> Rule should be: Only dive if there is still water!
3) Lower middle: Swimmer climbs now correctly at the pillar.
4) Bottom: There is actually one pixel (exactly at lemming height), which is not checked at all for terrain! This lemming should transition to walker, instead of climbing.
« Last Edit: June 15, 2016, 05:29:38 PM by Nepster »

Offline namida

  • Administrator
  • Posts: 12399
    • View Profile
    • NeoLemmix Website
Re: Lots of swimmer bugs [PLAYER] [BUGS]
« Reply #1 on: March 28, 2016, 05:36:06 PM »
Okay, without looking too closely at your post, here's what I would expect to happen (when viewing in the editor, with trigger areas visible):

SwimmerTest.lvl
Top-Left Lemming: Swims all the way to trap, dies upon reaching trap trigger area.
Middle-Left Lemming: Same as top-left (because thin platform is one pixel above water trigger).
Bottom-Left Lemming: Same as previous two, for same reason as middle-left.
Top-Right Lemming: Swims to gap, then falls.

SwimmerClimberTest.lvl (from top)
1st Lemming: Swims to end of water, falls into trap (due to similar corner-pixel rule as with walkers).
2nd & 3rd Lemmings: Swims to wall, climbs.
4th Lemming: Swims to edge, walks into gap.

Indeed, only one out of the 8 shows the behaviour I would expect.
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 Nepster

  • Posts: 1829
    • View Profile
Re: Lots of swimmer bugs [PLAYER] [BUGS]
« Reply #2 on: March 28, 2016, 05:40:22 PM »
Note that in the SwimmerTest.lvl, there is a 1-pixel-wide horizontal gap between the the two water objects for all the left lemmings. Sometimes this gap is filled with terrain. So it is at least correct, that swimmers do not swim upwards to the very top.

Offline namida

  • Administrator
  • Posts: 12399
    • View Profile
    • NeoLemmix Website
Re: Lots of swimmer bugs [PLAYER] [BUGS]
« Reply #3 on: March 28, 2016, 06:02:11 PM »
Yes; this is why I didn't expect the swimming upwards behaviour. In eg. the middle case, the lemming is standing on the one pixel that does *not* have a water trigger. So this is exactly the behaviour I would expect once he's actually on the terrain; I just wouldnt've expected him to get onto it.
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)