Author Topic: [FIXED] Blocker fields not symmetric [PLAYER] [BUG]  (Read 3052 times)

0 Members and 1 Guest are viewing this topic.

Offline Nepster

  • Posts: 1829
    • View Profile
[FIXED] Blocker fields not symmetric [PLAYER] [BUG]
« on: April 03, 2016, 10:56:28 AM »
Currently the force-fields to turn around lemmings are not symmetric for blockers: The field turning lemmings into the direction the blocker is facing is 4 pixels wide, the one turning lemmings into the opposite direction is only 3 pixels wide.

namida did some fairly extensive tests with LP replays with the following results:
- Both fields 3 pixels wide: 4 fails out of 515 replays.
- Both fields 4 pixels wide: 6 fails out of 515 replays.
In both cases the outside edges of blocker fields were kept as in V1.43 and only the inner edged of the fields were varied.
So there is no big difference wrt. to breaking replays.

Can you think of any other reasons why some option should be preferred over others?
« Last Edit: June 15, 2016, 05:33:09 PM by Nepster »

Offline namida

  • Administrator
  • Posts: 12399
    • View Profile
    • NeoLemmix Website
Re: Blocker fields not symmetric [PLAYER] [BUG]
« Reply #1 on: April 03, 2016, 10:58:52 AM »
I will add to this:

Two of the replays that failed with 4px wide were Wimpy 7 and Medi 13 (LPI). I'm fairly sure these two levels actually have identical replays (being the 2nd and 3rd versions of No Salvation), so if one fails, it's expected that the other does too.
Also, Fierce 15 (LPIII) failed on both tests, albeit in different ways (3px failed very close to the start, while 4px failed very close to the end).

Indeed, overall, it seems like the difference in replay breaking is negligable. One thing that does come to mind - the 4px variant requires more precise placement when trying to place a blocker with lemmings falling from above it (eg. under a trapdoor). This was the reason for the Mild 16 failure. It also makes it more likely that a blocker assigned in a crowd of closer-together-than-RR99 lemmings won't let any slip past; this can have both positive and negative effects (for example, them not slipping by is the cause of Wimpy 2's replay failing; but it is also something that people often find irritating from what I've seen when lemmings do slip past).
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 Simon

  • Administrator
  • Posts: 3879
    • View Profile
    • Lix
Re: Blocker fields not symmetric [PLAYER] [BUG]
« Reply #2 on: April 03, 2016, 07:06:32 PM »
Graphics: The blocker doesn't have a single-pixel central column. Its center is 2 pixels wide. Therefore, it's sensible to have a blocker area with even witdh. We have a blocker area with an even width if it extends n pixels from the center in one direction, and n+1 pixels into the other.

Would you redraw the blocker sprites to match an odd-width field?

-- Simon

Offline Nepster

  • Posts: 1829
    • View Profile
Re: Blocker fields not symmetric [PLAYER] [BUG]
« Reply #3 on: April 03, 2016, 07:23:27 PM »
The total blocker area has even width (12 pixels) and this should stay the same (at least in my opinion). The blocker area consists of three parts:
- Left Forcefield: Turns lemmings around; either 3 or 4 pixels wide.
- Middle Blocker area: Does not turn lemmings around, just prevents that other blocker areas are written in this part; 5 pixels wide.
- Right Forcefield: Turns lemmings around; either 3 or 4 pixels wide.

So the main question is: Should we make the middle blocker area 1 pixel wider (and both forcefields thus 3 pixels wide), or should we make the middle blocker area 1 pixel smaller (and the forcefields 4 pixels wide). Or should we do something completely different?

Offline IchoTolot

  • Global Moderator
  • Posts: 3613
    • View Profile
Re: Blocker fields not symmetric [PLAYER] [BUG]
« Reply #4 on: April 03, 2016, 07:33:02 PM »
I am leaning a bit to the both 4 pixel variant, as I find it annoying that sometimes Lemmings slip past the blocker.

Offline Simon

  • Administrator
  • Posts: 3879
    • View Profile
    • Lix
Re: Blocker fields not symmetric [PLAYER] [BUG]
« Reply #5 on: April 04, 2016, 02:33:10 AM »
4, 4, 4!

-- Simon

Offline namida

  • Administrator
  • Posts: 12399
    • View Profile
    • NeoLemmix Website
Re: Blocker fields not symmetric [PLAYER] [BUG]
« Reply #6 on: April 04, 2016, 12:32:50 PM »
Quote
So the main question is: Should we make the middle blocker area 1 pixel wider (and both forcefields thus 3 pixels wide), or should we make the middle blocker area 1 pixel smaller (and the forcefields 4 pixels wide). Or should we do something completely different?

"Something completely different" is likely to be far more breakage-prone than this change, which - whether 3px or 4px - breaks an almost negligable number of replays, and doesn't break any levels as far as I can tell.

I'm in favor of the 3px, but at the end of the day - it isn't going to be a significant difference. I doubt many people would even notice which one it is, as long as it's set once and doesn't change.
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 Simon

  • Administrator
  • Posts: 3879
    • View Profile
    • Lix
Re: Blocker fields not symmetric [PLAYER] [BUG]
« Reply #7 on: April 04, 2016, 12:58:45 PM »
I favor the 4 pixels merely because it's a round number, unlike 3, and it partitions the blocker field in equally-sized areas. Any argument from comparing source code details should be stronger than mine.

Pass-through blockers are easier to set up at 3-5-3 at 3-6-3. Blockers on slopes work better at 4-4-4.

I've never noticed an inconsistency, because I've never tested walkers inside the blocker.

-- Simon
« Last Edit: April 04, 2016, 01:22:35 PM by Simon »

Offline namida

  • Administrator
  • Posts: 12399
    • View Profile
    • NeoLemmix Website
Re: Blocker fields not symmetric [PLAYER] [BUG]
« Reply #8 on: April 04, 2016, 01:14:06 PM »
Quote
Blockers on slopes work better at 4-4-4.

This is a very valid point.

EDIT: Actually, the more I think about it, the more it's not going to matter that much. The primary issues with these tend to come from the field's height, not the width of the various parts of it. 4px may  make it a tiny bit easier on some slopes, but overall, NeoLemmix is not nearly as problematic as L1 in this regard (consider how in L1, on a 45 degree slope, it is possible for one blocker to turn the crowd and another to not; with the likelihood of success even depending on factors such as which direction the slope is in), and in the few situations where it can be difficult, the width mostly won't make a difference.
« Last Edit: April 04, 2016, 01:36:15 PM by namida »
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 IchoTolot

  • Global Moderator
  • Posts: 3613
    • View Profile
Re: Blocker fields not symmetric [PLAYER] [BUG]
« Reply #9 on: April 04, 2016, 04:45:21 PM »
The more I keep reading here, the more I tend to  4 4 4 :)