[BUG][EXP-Player V5] Inconsistant blocker physics

Started by IchoTolot, January 22, 2023, 12:48:02 PM

Previous topic - Next topic

0 Members and 3 Guests are viewing this topic.

IchoTolot

While testing the new teleporter behavior fix, I noticed 2 odd replay breaks while mass testing.

Levels affected:

5 13 and 2 11 of United. - The Issue is best seen in 5 13 "Decent Into Cerberon".

In my replays there are instances where blockers are placed in close proximity to each other. In fact as close as NL allows them.

In the stable version the replays solve without issue, but in the New Objects V5 version a blocker fails to assign as he seems to be to close to another blocker to allow assignment.

I don't know if there is an error in my EXP installation or this is indeed a silent physics change that happened by accident. It should be checked and compared with the stable version though.

namida

Moved this to the general board as I've confirmed it happens in the latest source code even without the new-objects code merged in. Didn't want to look at 5 13 (as I haven't solved it - or even seen it - myself yet), but I checked the 2 11 replay and was able to reproduce the behavior on the current master branch (and that it does not occur on 12.12.5).

I tracked the breakage down to commit a326cc8. This commit fixes a bug in the blocker field overlap detection code that resulted in the checked pixels being 1 pixel off from where they should be (on both sides) for a lemming who was facing right. So, this is an intentional change.
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

Seems to be linked with: https://www.lemmingsforums.net/index.php?topic=5831.0

Alright, then it is not a bug.

Although the "allow an assignment that shouldn't be" case is true for the fix after all then. At least in a small amount of cases. ;)

So everybody should stay alert for some needed replay fixes because of overlapping blocker-fields.

WillLem

Please can you post a video/example level showing the issue?

Armani

@WillLem
I placed two blocker facing each other as close as possible:


Current stable NL


EXP V5
My newest NeoLemmix level pack : Lemmings Halloween 2023 8-)

My NeoLemmix level packs(in chronological order):
  Lemmings Uncharted [Medium~Extreme]
  Xmas Lemmings 2021 [Easy~Very Hard]
  Lemmings Halloween 2023 [Easy-Very Hard]

kaywhyn

Quote from: IchoTolot on January 22, 2023, 12:48:02 PM
While testing the new teleporter behavior fix, I noticed 2 odd replay breaks while mass testing.

Levels affected:

5 13 and 2 11 of United. - The Issue is best seen in 5 13 "Decent Into Cerberon".

In my replays there are instances where blockers are placed in close proximity to each other. In fact as close as NL allows them.

In the stable version the replays solve without issue, but in the New Objects V5 version a blocker fails to assign as he seems to be to close to another blocker to allow assignment.

I don't know if there is an error in my EXP installation or this is indeed a silent physics change that happened by accident. It should be checked and compared with the stable version though.

Just posting to confirm that it's not a broken installation and hence it's not just Icho who has the problem, as my replay for Genocide 13 of United also broke in the exp build but is fine in the stable. This therefore makes me wonder why does it break there, while it's fine for Neutrality 38 and Tension 32. What's the difference with the blocker placements? ???
https://www.youtube.com/channel/UCPMqwuqZ206rBWJrUC6wkrA - My YouTube channel and you can also find my playlists of Lemmings level packs that I have LPed
kaywhyn's blog: https://www.lemmingsforums.net/index.php?topic=5363.0

IchoTolot

Quote from: kaywhyn on January 23, 2023, 12:54:54 PM
Just posting to confirm that it's not a broken installation and hence it's not just Icho who has the problem, as my replay for Genocide 13 of United also broke in the exp build but is fine in the stable. This therefore makes me wonder why does it break there, while it's fine for Neutrality 38 and Tension 32. What's the difference with the blocker placements? ???

I think it is special for right facing lemmings.

kaywhyn

Quote from: IchoTolot on January 23, 2023, 04:19:26 PM
Quote from: kaywhyn on January 23, 2023, 12:54:54 PM
Just posting to confirm that it's not a broken installation and hence it's not just Icho who has the problem, as my replay for Genocide 13 of United also broke in the exp build but is fine in the stable. This therefore makes me wonder why does it break there, while it's fine for Neutrality 38 and Tension 32. What's the difference with the blocker placements? ???

I think it is special for right facing lemmings.

Turns out it's not. After further investigation, there is a culprit that separates Genocide 13 from the other two United levels I mentioned, and that is the replay breaks in the cases where you assign the second blocker from under the entrance after you already assigned the first blocker to the lemming who walks for a bit after dropping out of the entrance. However, if you assign the blocker under the entrance first and then the next one as close as possible as NL allows, then no replay breakage there. The difference is that in the former case the blockers are as close as possible resulting in the tiniest gap between the blockers possible, while in the latter the gap between the blockers is at least a pixel wider. It doesn't matter if they're facing right or not. I checked with left-facing blockers, and the replays also broke if the conditions in the former were met and didn't in the latter.

It's not just limited to under the entrance. Replays also broke if you assign the second blocker upon immediately landing after a drop after you already assigned the first blocker to a lemming walking for a bit. However, after watching your Neutrality 11 video, seems that it only matters if you assign blockers to the lemming facing the same direction as the first blocker, but the important thing is they're as close as possible that NL allows which results in the smallest gap possible between them.

In short, what matters is two things, the blockers are facing the same direction and are close as possible as NL allows, and the blocker closer to the entrance is assigned after the first one that's farther from the entrance, resulting in the smallest gap possible between the blockers and hence replays break. Replays are fine if you assign the first blocker under the entrance/immediately upon landing after a drop first and then another blocker farther from it and as close as possible to the first one, but here the gap between the blockers is a bit wider. So, it seems that what's important is the pass-through blocker is the second blocker, not the first blocker. Replays also don't break if the blockers are facing in different directions, since they're farther from each other than if they're facing the same direction due to the gap between them being a bit wider.   
https://www.youtube.com/channel/UCPMqwuqZ206rBWJrUC6wkrA - My YouTube channel and you can also find my playlists of Lemmings level packs that I have LPed
kaywhyn's blog: https://www.lemmingsforums.net/index.php?topic=5363.0