Author Topic: Airwalk: keep/cull? After suddenly losing ground, walkers still walk once  (Read 4156 times)

0 Members and 1 Guest are viewing this topic.

Offline Simon

  • Administrator
  • Posts: 3954
    • View Profile
    • Lix

airwalk happens in Lemmings 1 and in Lix. I consider it a physics bug. Here are pictures taken in successive frames:

  • Many clustered walkers are immediately in front of the wall.
  • Assign imploder to one of the walkers. (It doesn't matter if you implode the first, last, or one in the middle.)
  • Physics update begins.
  • The imploder removes therrain. (During each physics update, terrain removers update first, then all changes are written to the terrain. Only afterwards, skills that don't affect the terrain will update. This is why choice of walker to implode didn't matter.)
  • All walkers see the hole before they update.
  • (No check whether they have ground.)
  • All walkers notice open space ahead, thus walk one step ahead in the air.
  • All walkers notice the lack of ground, thus begin falling.
  • Physics update is finished, and the result is drawn to screen.
  • The fallers will eventually land on the ledge created by the imploder.
Problem: These walkers land on a ledge, but shouldn't be in the space over the ledge in the first place. It's weird that walkers react to the lack of wall immediately (thus can walk forward), but fall due to lack of ground only after airwaking once. It's also inconsistent with the general philosophy that terrain removers should immediately affect everybody in the same frame, in every way.

Proposal: Walkers should check for ground both before and after possibly walking forward. If they hover before the move, they immediately fall and don't move forward anymore.

Downsides of change: Walking is the most ubiquitous activity. If you have walkers in a digger hole, this change affects them as the digger breaks through. I haven't implemented any fix yet, thus haven't run the replay checker on this. Also, other activities might have similar bugs -- fixing only the walker in isolation might be inconsistent.

-- Simon
« Last Edit: December 15, 2022, 01:25:58 AM by Simon »

Offline mobius

  • Posts: 2761
  • relax.
    • View Profile
Re: Airwalk: keep/cull? After suddenly losing ground, walkers still walk once
« Reply #1 on: December 15, 2022, 11:57:22 PM »
interesting, and somehow I've never noticed this. It's a tough one. IMO I've never run into issues with this, despite it seeming on paper to be a serious problem... so my first feeling is to leave it as is.
everything by me:

"Not knowing how near the truth is, we seek it far away."
-Hakuin Ekaku

"I have seen a heap of trouble in my life, and most of it has never come to pass" - Mark Twain