[✓][BUG] Jumper -> Splat Pad interaction

Started by Armani, July 26, 2024, 05:49:46 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Armani

I know the cutoff date for bug reports already passed. But I'm going to reports some of them(probably that can be used to break real levels) anyway for archiving purpose.


If a lemming start jumping from a platform lower than the ground with splat-pad, he survives the fall onto the splat-pad.
The deciding factor here is whether the lemming transit to the faller state even for a brief moment or not.
My upcoming NeoLemmix level pack: In-development topic 8-)

My NeoLemmix level packs(in chronological order):
  Lemmings Uncharted
  Xmas Lemmings 2021
  Lemmings Halloween 2023
  Holiday Lemmings 2024 - a collaboration pack with Mobiethian :D

WillLem

#1
We care about gravity here, then: the ideal premise appears to be that wherever in-game gravity causes the lem to move downwards, the effects of a splat pad should apply.

Questions:

1) Should Reachers that haven't found shimmyable terrain be affected on descent?

2) Should upwards-force also cause interaction with a splat pad? (i.e. Jumper and/or Reacher hitting a splat pad during the ascent phase of the action)


IchoTolot

Here I just see how I expected things to work to be honest. As a result I would say no bug here.

During the jumper arc, which starts and ends at +- 0 pixels, the lemming does not fall and therefore does survive the spalt pad.
Fall distance calculation after a jump only starts after the jumper arc as well.

When he starts of higher as in your example he transitions to a faller after the arc and therefore splats correctly.

kaywhyn

I would agree with Icho here in there being no bug. It's similar to the case of a Lemming descending a slope of 1, 2, or 3 pixels in the trigger area of a splat pad. In this case, the Lemming never transitions into a faller and so therefore survives the splat pad. It's only if he descends 4 pixels or more, where he does transition into a faller. Then he will splat inside the splat pad's trigger area. The exception to this is if the Lemming is a floater or a glider. Then he's always immune to the splat pad, even if you don't ever see him pull out his brolly or gliding device before landing inside the splat pad's trigger area.

Crane

I would also argue "it's not a bug, it's a feature" because logically the lemming is still in the Jumper phase when they touch the terrain and haven't entered the Faller state at any point on the examples where they survive.  At least for me, it's game logic I can understand and also easy enough to test if a level includes it.  I would argue that level designers should probably avoid this set-up to avoid confusion, but that's up to them.

Simon

The splat pad is the bug. It's also a feature. :8():

-- Simon

Proxima

#6
I seem to recall that this was specifically discussed and decided to be the correct behaviour during the "What should the Jumper physics be like?" discussion prior to implementing it.

EDIT: Splat pad discussion starts on page 8.

WillLem

FWIW, I agree that this isn't a bug, at least in terms of Jumper physics.

However, there's a different angle to look at this one, as Simon alluded to: the splat pad is the source of the bug here, not the Jumper.

A case could be made for in-game gravity requiring splat pad interaction, and that would include the descent phase of Jumper and Reacher (and any other gravity-affected movement). I'd also then want to look at whether a splat pad should respond to upwards force as well (e.g. the ascent phase of Jumper and Reacher), making both positive and negative Gs a factor.

I suggest that it should either be left as-is or "fixed" only alongside these considerations, and certainly not in isolation as a Jumper bug.

The64Watcher

i think the problem is the skill changes, when you apply jumper to a lemming, the game injects a sequence, after, THEN it becomes a faller thats vulnerable to the splad. (sorry i just to...) so then the solution is to add a new skill, lobber, you cant apply this but the title is used for a desending lobber, so...
if(Skill == Lobber or Faller){
func.Splat
}
//Ideas?
How did thee arrive in this place?
https://www.lemmingsforums.net/index.php?topic=7303.msg107538#new see the lemming races in full swing!

WillLem

#9
EDIT: Merged topic



I've been looking through some NL bug reports and one that's particularly taken my interest as something that could be looked at in more depth for SuperLemmix is this one concerning splat pad gravity for Jumpers.

It was more or less agreed in the original topic that the behaviour isn't a bug because the lemming is mid-action, and so hasn't yet become a faller. And yes, this is absolutely correct when viewed from a purely programmatical point of view.

However, Armani's original report raises these questions, which didn't really get discussed properly and which I'd like to look at:

1) If the lemming is visibly affected by gravity (i.e. the downwards part of a Jumper arc, a Reacher that is dropping back down having not found Shimmyable terrain), should they be affected by a splat pad?

I'd suggest that they should, since that's consistent with what we'd expect from (splat pad + downwards gravitational force).

EDIT: Reachers do in fact splat, because they transition to faller at the top of the "Reach", and even Floaters and Gliders need to have visibly readied their umbrella/glider to be immune to splat pads; these are both physics consistencies and design decisions that lend even more weight (no pun intended) to 'Jumpers should splat if they're in the descent phase of their arc'.

2) So then, should lemmings exerting an upwards force (the upwards part of a Jumper arc, a Reacher on ascent) interact with splat pads as well?

I'd probably suggest not, as it would look a bit peculiar. Also, even if our understanding of a splat pad is that it's triggered by sufficient gravitational force, downwards-only is an acceptable prerequisite of this.

Thoughts?

WillLem

Reclassified this as a bona fide bug since Jumpers are the only gravity-unprotected state that doesn't interact with splat pads (Reachers do, Fallers do, Floaters/Gliders/Sliders are protected against gravity).

Fixed in SuperLemmix commit 1b51d05.