[DISC.][PLAYER] Jumper physics

Started by namida, February 26, 2020, 12:59:56 AM

Previous topic - Next topic

0 Members and 3 Guests are viewing this topic.

namida

So, the plan is for V12.9.X to introduce the Jumper skill. Thus, it's time to figure out how this skill will work.

Some discussion has already been had on Discord. I provided two sample images (1st and 2nd attachments here) for the width / height of the jump respectively, and asked people what their instinctive reactions are re: what the jumper should / shouldn't be able to do.

For width - I felt that the 32px gap should be a near-miss, but others all felt it should be crossable.

For height - I felt 16px should definitely be possible to jump and land on, but 20px maybe should not (with 24px being a definite no). There was some disagreement about whether 16px should be, but it seemed to lean more towards "yes, it should be" overall.

To avoid a 32px gap needing too much precision, 36px was proposed as the width. I like this suggestion. For reference, this is very slightly shorter than a platformer bridge (which is 39px).

This lead to 18px being proposed as the figure for the height - partly due to being exactly half the width, and also because it's exactly between the "should be reachable" 16 and "should not be reachable" 20.

The other details that came up:
- Jumper -> Hoister transition, for near-misses with regards to height. This would allow the 20px block to be ascendable - but with a hoister transition in the process.
- Head checks. These should be similar to the builder or shimmier checks.


The third attached graphic is how a jumper assignment, based on 36px length / 18px height, would play out in various places in some of the Fun levels. Note that while this graphic takes the Jumper-Hoister proposal into account, it does NOT take head checks into account. (You may want to open the image in a viewer tool and zoom in a bit.)


Overall, I very much like the general nature of this proposal, but I am open to tweaks to the specifics (or even to larger tweaks, if there's enough support for them - maybe someone will suggest a brilliant idea that hasn't been considered yet, for example).




It looks like no one has a problem with the suggested 36 x 18 trajectory. Some other questions that came up:

QuoteWould a glider glide at the top of the jump arc, or after the full jump is complete?

If a climber jumps into a wall, would it start climbing, or simply fall? Can a climber jump away from a wall?

If a jumper hits the ceiling, would it be possible to transition to a shimmier?

See reply #13 for my thoughts on these.




Reply #24 has made some decisions: Jumper-Climbers grabbing and climbing a wall mid-jump will be allowed; as will Jumpers grabbing a ceiling to shimmy. On the other hand, Jumper->Walker and Swimmer->Jumper will not be allowed.

Still remaining open are:
- Should a Jumper-Glider start gliding at the peak of the jump or at the end?
- Should the splat distance be counted from the top of the jump or the end?
- If a Jumper hits a wall mid-jump, should he fall facing the same direction, or turn around (and still fall)?
- Should it be possible to assign a Jumper to a climbing lemming (to "wall-jump")?
- Should updrafts affect Jumpers, and if so, how?




As of reply #51, poll results suggest jumpers turning around upon hitting a wall is favored. A new poll has been put up to confirm whether this is "turn around and continue the jump", or "turn around and fall" - but I'll note I'm leaning strongly towards the latter.

Further polls have suggested "turn around and fall", and ruled out the possibility of transitioning automatically to a "slider".

There's significant preference for allowing wall-jumping, and gliding from the top of the jump arc.




Current status as at post #96:
- Jumper<->Climber transitions are allowed, in both directions.
- Swimmer -> Jumper transition will not be allowed.
- Jumpers cannot be cancelled with a Walker, and cannot cancel a Blocker.
- Jumper will turn around and immediately fall upon hitting a wall (unless the Jumper is a climber).
- Fall distance is measured from the point of transition to a Faller.
- Gliding begins from the top of the arc (or if the Glider is assigned after this point, it begins immediately upon assignment).
- Jumpers will not be affected by updrafts.
- Double-jump and/or Faller->Jumper transition will not be allowed.

Post #97 has a detailed list of interactions with other states: https://www.lemmingsforums.net/index.php?topic=4656.msg80439#msg80439

A Jumper experimental build has been released: https://www.lemmingsforums.net/index.php?topic=4718.0




Remaining matters:
- https://www.lemmingsforums.net/index.php?topic=4656.msg81196#msg81196 (loosen first frame terrain checks)
- https://www.lemmingsforums.net/index.php?topic=4718.msg81608#msg81608 (editor pickup issue)
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)

WillLem

This all looks/sounds ace!

Happy to help out with sprites as and when required. I'll no doubt base them on the Lemmings 2 sprite, as has already been suggested. Anyone know where to get these?

namida

QuoteAnyone know where to get these?

I second this. I was intending to use the L2 sprite (modified to NL colors) as a placeholder for now, at least. I found a post from ccexplore where he mentions he ripped the DOS L2 graphics, but this post links to another post - and the link is from the .com days, thus, broken. (The post itself almost certianly still exists, but I couldn't locate it. Even if found, it may be affected by the Great Attachment Disappearance of Whatever-Year-That-Happened.)
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)

Proxima

During the Discord discussion, I checked with Lix, and it turns out the Lix jumper can cross a gap of 24 pixels (all measurements are in low-res pixels, for ease of comparison) and ascend a step of 12 pixels. The very first level, Any Way You Want, even has a brick specially placed to make what would be a 16-pixel step ascendable (lending support to the idea that from the level designer's point of view, it would be "better" if the jumper could ascend that high in the first place).

I support making the NL jumper able to cross gaps of 36 pixels, wider than the Lix jumper. That's because in Lix, the jumper is the weakest of four possibilities for sending a single lix over a gap (the others being the runner-jumper, fling-bomber and batter). In NL, none of the others exist, and we have to get by with just one size of jumper, so it makes sense for it to be a bit more powerful.

I don't know what the corresponding details are for the L2 jumper.

namida

QuoteIn NL, none of the others exist, and we have to get by with just one size of jumper, so it makes sense for it to be a bit more powerful.

NL does have one alternative that Lix doesn't: the Glider. However, this comes with its own drawbacks compared to the Jumper or any of Lix's alternatives, in particular needing to get a high starting point.

(Actually, in some cases, the Shimmier or Swimmer could also serve that purpose. However, these both need even more specific setups than the Glider.)
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)

Strato Incendus

Poor WillLem... looks like you'll have to do the "which classic levels can be beaten with the new skills?" challenge all over again once the Jumper rolls around... :P

And I mean, when looking at the examples from classic levels that namida provided here, even I feel tempted to try this out. The design options feel next to limitless! :thumbsup:

Let's be honest, the Shimmier is already cool enough, getting a lemming across a gap without always having to resort to a constructive skill by default - thereby enabling solutions where the crowd has to take a different path than the pioneer(s). But the Jumper doesn't even require a ceiling above his head to do it - in exchange for being more restricted in the horizontal distance he can cover, compared to the Shimmier.
My packs so far:
Lemmings World Tour (New & Old Formats), my music-themed flagship pack, 320 levels - Let's Played by Colorful Arty
Lemmings Open Air, my newest release and follow-up to World Tour, 120 levels
Paralems (Old Formats), a more flavour-driven one, 150 levels
Pit Lems (Old Formats), a more puzzly one, 100 levels - Let's Played by nin10doadict
Lemmicks, a pack for (very old) NeoLemmix 1.43 full of gimmicks, 170 levels

WillLem

Quote from: Strato Incendus on February 26, 2020, 04:16:04 PM
Poor WillLem... looks like you'll have to do the "which classic levels can be beaten with the new skills?" challenge all over again once the Jumper rolls around... :P

Fear not! It's a challenge I await with relish.

Having said that, the only thing missing from new skills is a downwardly-destructive skill, which the jumper doesn't do; so sadly, It won't make any of the non-possible levels possible. It will be a lot of fun though!

Dullstar

I have some questions about proposed skill interactions:

Would a glider glide at the top of the jump arc, or after the full jump is complete? I'd suggest beginning the glide at the top of the jump.

If a climber jumps into a wall, would it start climbing, or simply fall? Can a climber jump away from a wall? My suggestion would be yes for both cases.

If a jumper hits the ceiling, would it be possible to transition to a shimmier? I think this would make sense.

namida

Quote from: Dullstar on February 27, 2020, 04:20:56 AM
I have some questions about proposed skill interactions:

Would a glider glide at the top of the jump arc, or after the full jump is complete? I'd suggest beginning the glide at the top of the jump.

If a climber jumps into a wall, would it start climbing, or simply fall? Can a climber jump away from a wall? My suggestion would be yes for both cases.

If a jumper hits the ceiling, would it be possible to transition to a shimmier? I think this would make sense.

All valid questions, but let's make sure we're all happy about the basic trajectory of the jump first, before worrying about these edge cases.
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)

Strato Incendus

QuoteWould a glider glide at the top of the jump arc, or after the full jump is complete? I'd suggest beginning the glide at the top of the jump.

This sounds weird to me. Both Gliders and Floaters need some time as a regular Faller before they start pulling out their parachute. So it would be counter-intuitive that a jumping Glider would be able to pull it out right at the top of the parabolic curve without ever going through the Faller animation first. I can see how this would be useful, of course, because it would allow him to glide from a higher position - or also force him to glide from that higher position, which can also be a downside - but either way, I think it would be inconsistent with the rules established so far.

QuoteIf a climber jumps into a wall, would it start climbing, or simply fall? Can a climber jump away from a wall? My suggestion would be yes for both cases.

Yes, I agree with both.

Correct me if I'm wrong, but to my knowledge, this is one of the key differences in L2 between a regular Climber and a Rock Climber: Rock Climbers stick to a wall when jumping at them, regular Climbers won't. Then again, I think it's also just Rock Climbers that can transition from Climber to Shimmier - and that is a behaviour we've transferred to regular Climbers, because Rock Climbers would be largely redundant in NeoLemmix. The only thing they can do that Climbers can't is climbing up slopes, but that is something Shimmiers can do as well - they just look into the opposite direction while doing it. That's not sufficient to justify the introduction of Rock Climbers, I think we all agree on that.

Hence, if the direct transition from Climber to Shimmier has already been enabled for regular Climbers (even against L2 tradition), then the direct transition from Jumper to Climber should also be made possible. This would be another transfer of Rock Climber behaviour to regular Climbers in NeoLemmix, and thus consistent with the most recent rules for that skill.

The Jumper can also cancel pretty much any other skill in L2 - except for Blockers. This arguably strongest feature would remain saved for Walkers (which don't exist in L2 anyway). So jumping off a wall in the opposite direction that the Climber is facing in (because it immediately bumps into terrain and therefore gets "reflected" into the opposite direction) is what I would intuitively expect.

QuoteIf a jumper hits the ceiling, would it be possible to transition to a shimmier? I think this would make sense.

I also agree with this one. Shimmiers in L2 actually jump diagonally, and this behaviour has mainly been changed in NeoLemmix to prevent them from being too easily abused as Jumpers (before the Jumper is actually even implemented! :P ) I'm happy about this change, because otherwise, one could question the validity of introducing the Jumper in the first place. But now that it is about to be introduced, I think it should be possible to recreate this L2 behaviour by combining the two skills.

Currently, it can be pretty difficult for a Shimmier to reach a ceiling that goes across a gap if whatever platform he's standing on ends right where the ceiling above starts. In other words: Just jumping up vertically won't get him there. In L2, such ceilings are no problem for the diagonally-jumping Shimmiers, so having Jumpers for this type of situation, which is way more common than you might think (i.e. anything but an edge case ;) ), would certainly be helpful.
My packs so far:
Lemmings World Tour (New & Old Formats), my music-themed flagship pack, 320 levels - Let's Played by Colorful Arty
Lemmings Open Air, my newest release and follow-up to World Tour, 120 levels
Paralems (Old Formats), a more flavour-driven one, 150 levels
Pit Lems (Old Formats), a more puzzly one, 100 levels - Let's Played by nin10doadict
Lemmicks, a pack for (very old) NeoLemmix 1.43 full of gimmicks, 170 levels

IchoTolot

I would support the 36 pixel wigth and 16 pixel high trajectory.

I would make sure the jumping on a quite common 16 pixel high block case is not very precise though ---> maybe 18 pixel high ???

namida

Quote from: IchoTolot on February 27, 2020, 02:56:32 PM
I would support the 36 pixel wigth and 16 pixel high trajectory.

I would make sure the jumping on a quite common 16 pixel high block case is not very precise though ---> maybe 18 pixel high ???

18 is the current proposal... :P
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)

WillLem

An idea that occured to me this morning: the jumper skill could make use of the now redundant "boing" exit sound! 8-)

namida

#13
QuoteIn L2, such ceilings are no problem for the diagonally-jumping Shimmiers, so having Jumpers for this type of situation, which is way more common than you might think (i.e. anything but an edge case ;) ), would certainly be helpful.

It's an edge case relative to the main details of Jumper behaviour. It's absolutely important to consider - I just didn't think it was time to start considering it yet at that point.

With that being said, it doesn't sound like there's any objections to the proposed main behaviour, so let's start considering these cases.

Quote from: Dullstar on February 27, 2020, 04:20:56 AM
I have some questions about proposed skill interactions:

Would a glider glide at the top of the jump arc, or after the full jump is complete? I'd suggest beginning the glide at the top of the jump.

If a climber jumps into a wall, would it start climbing, or simply fall? Can a climber jump away from a wall? My suggestion would be yes for both cases.

If a jumper hits the ceiling, would it be possible to transition to a shimmier? I think this would make sense.

Regarding the Glider - I'm leaning towards that he should become a glider at the end of the arc. However, I also feel this should be a direct Jumper->Glider transition, without the few frames as a Faller inbetween.

Counter-point: This would also imply a floater should go straight to floating at the end of the jump. There is some leeway here; Floaters and Gliders aren't always identical outside of trajectory, for example, compare how long it takes them to transition from faller. But my logic here is - the jumper would "know" he's going to need to float/glide, so he can be ready to do so, rather than needing to do so while falling. (Actually, an extension of this logic fits a situation of "glider does immediately, floater falls first" - one could argue that the glider tries to start gliding ASAP because he wants to cross horizontal distance. On the other hand, the Floater has no reason to start floating until he feels the fall is getting a bit on the long side, and that could be equally true for falling after a jump.)

Regarding the Climber - I'm open to the behaviour of the jumper grabbing the wall and climbing it. However, I wonder - if that behaviour is implemented, should this mean that if a non-climber Jumper hits a wall, he turns around before falling? My reasoning here is - if the climber would climb the wall, this means the jumper has interacted with the wall, not merely stopped jumping due to it. The normal interaction with a wall in a situation where it can't be climbed / ascended, would be to turn around.

I'm a bit less sure about jumping away from a wall. I'm open to it, but I'm not sure that I'm in favor of it. I'd argue that if Climber->Jumper is valid, a similar case could be made for Climber -> (any destructive skill except Digger), which we don't currently allow. Counter-point: We do allow Climber -> Shimmier, and the Shimmier is closer to the Jumper than these other cases are. However, counter-counter-point: A climber can't do the "jump" part of a Shimmier. He must be exactly below the ceiling, so he can immediately grab onto it.

Regarding the Shimmier - I'd say for consistency with Climber, we should allow this. I don't feel too strongly about this though, so if most people would prefer this wasn't possible, I'm okay with that. If it is allowed, I feel it should be the same as the Climber->Shimmier, ie: the Jumper must be able to make an immediate grab, there's no Reacher phase.




Some other edge cases I thought of:

Jumper -> Walker? - Should it be possible to cancel a Jumper (who would then immediately fall) by using a Walker? My instinctive reaction is "no", but allowing this would be more consistent with Shimmier. On the other hand, one could argue that if Jumpers could do this, Gliders should be able to as well (and they cannot). Real-world physics would suggest "don't allow it". Videogame physics would suggest "depends which videogame you ask".

Swimmer -> Jumper? - I'm very strongly on the "no" side of this one, but felt it should be raised just in case.

Jumper -> Bomber / Stoner - Not a question of "should we allow this?", as there's no reason not to, but rather "should it be OhNo or instant?" - I'm very much on the "instant" side.
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)

DireKrow

#14
I'm not keen on a jumper causing a glider to glide without any faller frames, because it creates an inconsistency compared to how that skill works in every other situation. I'm always in favor of skill-skill interactions being a result of their individual mechanics being combined by the player in some way, rather than a specially hard-coded interaction. Especially when there's no way to know about it unless you're told about it or just happen to try it. That isn't the case with any other techniques in the game - you could theoretically piece any of them together by observing how the individual skills work in isolation.

Similarly, a climber being able to grab a wall straight from a jump would raise the question of why can't glider-climbers that glide into a wall grab onto it?
LOTY 2020 Winner
My NeoLemmix Levels: The Krow Files (File A v1.2 released 21-Feb-2020)