[BUG][PLAYER] Fencing over the top border keeps it alive: Intended?

Started by Minim, June 09, 2021, 01:55:08 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Minim

EDIT by namida: Fixed the title tags.

This has come moments after I realised something crucially important about the Laserer from a challenge perspective.

Take Fun 23's "I've lost that Lemming feeling" for example, a level with huge walls that sometimes lead up to the top border when fencing. The fencer stays alive and turns the other way as soon as he touches the top edge.

I don't think this is intended, as he should walk up and die instead, :devil: but would anyone else like to share their thoughts on this?
Level Solving Contest creator. Anybody bored and looking for a different challenge? Try these levels!

Neolemmix: #1 #4 #5 #6
Lix: #2  #7
Both Engines: #3

IchoTolot

I would have thought he would simply go on and die and turning seems wrong to me as he does not touch a one way field/wall or steel.

Furthermore the left/right side behavior is simply walk out and die and given the current state of the side behaviors I don't see a reason why the top should be different.

I also don't think anything relies on this content wise. So breakage should be none to minimal - a test would be nice anyway.

My instinct would would tend to a change here.

namida

The fencer definitely should not turn around in such a case.

I'll also need to investigate if it is possible to create a similar situation with a basher moved upwards by steel (as the Fencer code was created by copying the Basher code and tweaking it, so it is possible they might have bugs in common). I suspect the terrain check failing would result in him turning back into a walker before such a situation arises, but it might not be the case.
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)

IchoTolot

Important news from discord, it is apparently not consistent:

Quote
kaywhyn — 05:47 Uhr
yea, you're right, i can also reproduce the fencer bug on stable
what happened was that i ran my replay for your level and interestingly enough the fencer walks off the top and dies as expected
however, upon further testing, it turns out that it depends on where you assign the fencer, as apparently there are certain pixels that determines whether the bug happens or not
on the same level, i assigned the fencer earlier and hence at a lower position than what you will see in my replay and then instead of exiting out the top he turns around instead, which isn't what i expect to happen
in any case, yes i'm in agreement that it's not intended behavior and hence a fix to the bug is needed

This could be the reason why it's only discovered now.

namida

Fixed in commit 57b9893. My hunch was correct that this was leftover code from when the top of the level was solid to deal with a Fencer edge case. The code responsible for this was unique to the Fencer, so the Basher has nothing to worry about.
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)