[SUG] Shimmier --> Climber Transition (Feedback wanted)

Started by Kingshadow3, August 05, 2023, 08:45:39 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Kingshadow3

During our meetup in Leeds, me and WillLem discussed about shimmiers that were also climbers being able to climb up a vertical overhang as seen in this picture with these lemmings with the arrows showing how a lemming who was also a climber could move.



WillLem asked me to start a topic on it when I got home.

I initially asked about this particular shimmier mechanic for Neolemmix back in 2017 before the shimmier was added as this mechanic exist in Lemming 2: The Tribes but was rejected on the possibility that this would be deemed overpowered. Here is the original topic.

jkapp76

If this was a real human performing this action he would indeed be facing left when he arrived at the top. But he would also continue to run circles around that terrain forever too.

walk left, slide down facing right, shimmy right, climb up facing left, walk left again.
...Jeremy Kapp

Strato Incendus

No, the lemmings won't continue circling forever, since you'd always have to assign new Shimmiers again whenever they reach the bottom. ;)
Of course, that's an interesting way of containing a crowd, but due to the constant new assignment of Shimmiers, it would keep the player busy while they're trying to accomplish something else with the worker lemming(s).

The "circling" effect is mainly a property of the Slider. For example, you can contain a crowd of (pre-assigned) Sliders by placing two Builders to their left and right, which will keep them circling back and forth between those two staircases until one of the staircases is cut through (or you have a lemming jump off a staircase to isolate him from the crowd).

Regarding this behaviour itself:
Yes, this is something that's possible in L2: The Tribes, and something I've always missed in NeoLemmix.
If it can be added to SuperLemmix, I'm definitely in support of it.
:thumbsup:

As with many such changes, it might open up backroutes in whatever of my existing NeoLemmix content I convert to SuperLemmix. But in contrast to the previous idea of Shimmiers naturally turning around when hitting walls (unless they're Sliders), this behaviour seems worth it to me.

The reason I'm glad Shimmiers don't naturally turn around on walls is that I have levels where part of the challenge is precisely the setup of the Shimmier turning around. Meaning, you either have to place a Blocker in their path, and/or rely on areas in the level that have one-way fields in order to turn the Shimmier around. If the Shimmier could simply turn around on any standard wall, these interesting challenges would have been eliminated.

Likewise, for the behaviour discussed here — Shimmiers transitioning back to Climbers — some levels that already exist right now require Jumpers to solve this. However, since Shimmiers can't transition to Jumpers, you always need additional setup — e.g., a Stoner / Freezer under the ceiling, on which the next Shimmier can then land, jump off from it (without bumping his head at the ceiling) to a nearby wall, and from that wall he can then jump back to the upwards wall. That's two extra skill types (Jumpers and Stoners / Freezers) required to get a Shimmier up a wall.

So yes, if the Climber-Shimmier can turn the upward corner immediately, this would simplify the setup a lot!
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

This one's a good idea, let's make it happen.

We might need a transition animation from right-facing Shimmier to left-facing Climber, but I'll see how it looks without it first.

EDIT: Oh, also - the above wall ought to be a minimum number of pixels high, otherwise Shimmier-Climbers will always turn when they reach any overhang of any size, which seems undesirable.

Turrican

Personally, I am more in favour of the existing behaviour. I think , the existing behaviour has more puzzle potential, and it is more nuanced, that just having a shimmier , just continue climbing , and it requires the player to be more, creative with the skill combos , that are needed for that task. Also , I think, the proposed behaviour, may probably make levels , depending on their terrain , more prone to backroutes.

Several of the levels , that I have created are very tall ( I like tall levels ). And when these contain , shimmiers/climbers , I demand more from the player, than just having their shimmier , just start climbing as described here , without the help of other skills. Strato mentioned, that you can use jumpers , and a nearby wall in order for the lemming to start climbing, the wall you want it to climb, but there are ways to do it , without the need of a nearby wall. A good way for example , is the shimmier-stoner/freezer-jumper-cloner combo, but there are other skill combos , that can achieve the same result.

If/when the new behaviour will be implemented, for my levels that contain both climbers and shimmiers , I will make small changes , on the ceilings , where shimmiers are need to be used , in order to block the new behaviour, and simulate the current behaviour (so the players will need the help of other skills too). I know other level creators, may just want the simplicity of the new proposed behaviour, but from my tall levels , I want them to require a little more from the player, than just apply some shimmiers to a climber, and just sending it to the upper parts of the level, without additional effort.
My Youtube channel ( Turrican Lemm )  :
https://www.youtube.com/channel/UCYGFBOHdYITHlsqa203Tu8Q

jkapp76

With Lemmings 2 I cannot get a lemming to shimmy right and then climb up at the end. He just hops down.

I forgot that Lemmings 2 has a dangler animation after sliding down a wall AND after shimmying across a wall. I thought Will invented the dangler. The lem waves his arm to get your attention similar to how SLX has the little lines that seem to mark his frustration.

Is there any advantage to adding the dangler animation to the shimmier as well? I don't see the advantage to it in L2 yet.

...Jeremy Kapp

Strato Incendus

The Dangler, much like the Shrugger, is supposed to give you a window of opportunity to assign a follow-up skill. In a game without rewinding features, such as Lemmings 2, this is pretty vital. ;) In NeoLemmix, you can assign a Shimmier to a lemming a couple of frames in advance, and it will still be applied once the lemming reaches the appropriate spot. Still, that window of opportunity is pretty small, compared to having a dedicated Dangler state.

The Dangler should also affect Climbers and Rock Climbers in Lemmings 2, if I remember correctly. Importantly, while I always thought a lemming had to be a Rock Climber in order to transition from shimmying back to climbing, that is not actually the case: Even regular Climbers turn the upward corner, transitioning back from Shimmier to Climber.

The main weakness of the L2 Shimmier, compared to the NeoLemmix / SuperLemmix Shimmier, is that he can't shimmy up inverted 45° slopes (1:1 length-height ratio), but only flatter ones (2:1 ratio). For the 1:1-ratio slopes, you need the Rock Climber in L2 - which obviously has the side effect of the lemming looking in the other direction, compared to shimmying up a sloped ceiling.

I haven't tried what happens in Lemmings 2 when a Shimmier who is also a Rock Climber reaches an inverted 45° slope. Will he transition back into a Rock Climber, just like he would do if reaching a 90° corner? Or will he fall down?
EDIT: I've tried it out now. Indeed, a Shimmier who is also a Rock Climber will transition to a Rock Climber when reaching an inverted 45° slope. This isn't necessary in NeoLemmix / SuperLemmix, because Shimmiers can already handle such slopes on their own. It would however be required for 90° turns.


This would mean that only slopes steeper than 90° (those with a 1:2 length-height ratio) could still stop Shimmiers, because regular Climbers can't overcome those (and we don't have Rock Climbers in NeoLemmix or SuperLemmix). The only way a Climber could overcome such an obstacle, though, would be by always transitioning into a Shimmier for one horizontal pixel, after which he would automatically transition back to a Climber for the two pixels in height gain. Meaning, this would require the player to keep spamming Shimmiers on a regular Climber. :evil:

The thing about this new behaviour is: If Shimmiers can turn upward corners, how can you still stop a Shimmier? Gaps in the ceiling no longer work as easily. Unless of course you create a height of two pixels per 1 in length (1:2 ratio) - which right now makes the Shimmier stop, and would make him climb with the new behaviour - followed by another horizontal piece of ceiling.
This would require another Shimmier assignment if the lemming is supposed to continue. If no such assignment occurs, the only minor difference would be that, rather than falling down immediately as soon as the Shimmier reaches the 2-pixel-high terrain, he would climb up those two pixels, then dangle from the ceiling above them, and then fall down (for lack of another Shimmier assignment).



In short: One of the potential obstacles Turrican could add to his levels, in order to continue to enforce the Shimmier-Freezer-Cloner-Jumper combo, would be short sloped overhangs with a 1:2 ratio. This can be done either by extending the vertical overhang into a slope, or by cutting such a steep slope into it (=by erasing terrain).
Either way: Just make sure not to provide so many Shimmiers on such a level that the player could overcome this obstacle by Shimmier-spamming, as explained above, instead of using the much more elegent four-skills combo. ;)
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: jkapp76 on August 08, 2023, 04:11:52 AM
I thought Will invented the dangler

So did I. Turns out that L2 does quite a lot of things that I think are a good idea (Danglers, Ballooners, Jumper rebound, etc). And yet, I still can't fully get into it as a game!

Quote from: jkapp76 on August 08, 2023, 04:11:52 AM
Is there any advantage to adding the dangler animation to the shimmier as well? I don't see the advantage to it in L2 yet.

As Strato said, it's to add a window of opportunity for a subsequent skill assignment when playing in real-time.

Turrican

Quote from: Strato IncendusIn short: One of the potential obstacles Turrican could add to his levels, in order to continue to enforce the Shimmier-Freezer-Cloner-Jumper combo, would be short sloped overhangs with a 1:2 ratio. This can be done either by extending the vertical overhang into a slope, or by cutting such a steep slope into it (=by erasing terrain).
Either way: Just make sure not to provide so many Shimmiers on such a level that the player could overcome this obstacle by Shimmier-spamming, as explained above, instead of using the much more elegent four-skills combo. ;)

First of all , thank you for your suggestion, and it is a pretty good one!
I will keep it , in mind! I also tried to test, some other possible workarounds too , but there is at least one level, that will have serious problems, because the new shimmier, seems to be way too powerful for that level. It will be too difficult to fix , and there not many ways , to mess with it's terrain, because it is a level that contains AI art. (It's practically , AI art turned into terrain) . I tried some testing, and for each part , I could think of more , and more ways to bypass parts of the terrain, even by shimmier spamming, that you mentioned.

So a possible route , for levels , that will be proven unfixable, is to have a simplified versions of them for the Superlemmix version of the pack, and keep the real versions for the Neolemmix version. In that case , I will not have to remove them , from the Superlemmix version of the pack.
My Youtube channel ( Turrican Lemm )  :
https://www.youtube.com/channel/UCYGFBOHdYITHlsqa203Tu8Q

WillLem

Quote from: Turrican on August 08, 2023, 07:22:22 PM
So a possible route , for levels , that will be proven unfixable, is to have a simplified versions of them for the Superlemmix version of the pack, and keep the real versions for the Neolemmix version

Yes, great! :thumbsup:

I'm all for the idea of SuperLemmix getting simplified levels, in general. The Forum needs some easier levels, and I'm happy to provide a platform which supports this.




Meanwhile, we now have this feature - well, at least, the bare basics of it.

However, it's not as simple as just "turn and climb", unfortunately. The action itself can be performed, no problem. But, we need to decide on a few things:

If the overhang is only 1px tall, should the lem turn, climb and immediately hoist?



Or, should there be at least 6px (or some other amount) of Climbable terrain?



And then, once that decision has been made, what about non-vertical overhangs:



In this particular example (above ^^^), the lem finds at least 6px of terrain vertically above them and so climbs, but it feels like they shouldn't due to the other staggered overhangs. So... how far up should these overhangs be... i.e. at what point should they prevent the lem from turning and climbing? This seems like a lot of new rules to learn (although, we can adapt the skill shadow to show whether the Shimmier will be able to climb at the end of the shimmy... but, again with the reliance on skill shadows!)



And... tbh it seems like a new animation might be needed to transition the lem between a Shimmier facing one way and a Climber facing the other way.

In short, I'm currently about 50/50 on whether to go ahead with this. I like the fact that it may encourage simpler versions of levels, and that it increases lem movement skill ability, and that it aligns with L2 (since, as it turns out, a lot of SuperLemmix's current skill behaviour does so!). However, the implementation itself should ideally be simple as well...

Quote from: jkapp76 on August 08, 2023, 04:11:52 AM
With Lemmings 2 I cannot get a lemming to shimmy right and then climb up at the end. He just hops down.

Did you assign a Climber to that same lemming? In my copy of L2 (Amiga version), they Shimmy, turn, and Climb...

Would anybody be happy to test out the above scenarios (1px overhangs, different shaped overhangs, etc) in L2 and see what the results are? I don't have any way of editing L2 levels, but the practice levels might provide some insight.

jkapp76

On the DOS version of Lemmings 2 I can't get it to happen. He shimmies right, then when he reaches the end he dangles and waves, eventually falling down.

He was already a climber. He was a slider too. The fact that he dangles and waves seems to indicate something can be done with him, but I have had no luck.

My copy of Amiga Lemmings 2 will not let me click practice mode. So I can't easily test Amiga. But it doesn't seem to work on DOS.
...Jeremy Kapp

nin10doadict

For small overhangs, I wonder if having the shimmier turn and use the "ascender" animation rather than the "climber" animation when he reaches the end might look better.

As for the "staggered overhangs" example... I'm getting thrown off by the high-res graphics and struggling to tell what is a "physics" pixel and what are graphical subpixels... ;P
If the Lemming is climbing up through the terrain that would probably look ugly. Almost seems like the situation calls for a "rock-climber" type animation like Lemmings 2 had, but I feel like it should be possible to avoid resorting to that.

Strato Incendus

Quote from: WillLemI'm all for the idea of SuperLemmix getting simplified levels, in general. The Forum needs some easier levels, and I'm happy to provide a platform which supports this.

Good to know! :thumbsup: I was torn about whether any pack I may end up designing for SuperLemmix should e.g. contain tutorial levels. Since my current in-testing pack, Lemmings Hall of Fame, does not have them - it simply assumes any player wanting an easier pack will go to another one of my packs (or someone else's pack) first. But I've always enjoyed making simple, but satisfying tutorial levels, so I'll happily include some in at least one dedicated SuperLemmix pack I might create.

Quote from: WillLemIn this particular example (above ^^^), the lem finds at least 6px of terrain vertically above them and so climbs, but it feels like they shouldn't due to the other staggered overhangs. So... how far up should these overhangs be... i.e. at what point should they prevent the lem from turning and climbing? This seems like a lot of new rules to learn (although, we can adapt the skill shadow to show whether the Shimmier will be able to climb at the end of the shimmy... but, again with the reliance on skill shadows!)

This is one of the cases where, in my view, the lemming should transition from Shimmier to Climber, then bump his head on the ceiling, and consequently fall down, unless you assign another Shimmier. This is one of the obstacles you could overcome by "Shimmier spamming", any time the Climber reaches a new sub-ceiling.

Quote from: WillLemDid you assign a Climber to that same lemming? In my copy of L2 (Amiga version), they Shimmy, turn, and Climb...

Indeed, I also just used the Amiga version. The DOS one currently doesn't open for me. I don't have any problems starting Practice Mode in the Amiga version, though.

As far as I recall, Shimmiers in L2 don't perform any transition animation at all when switching to a Climber - only in the other direction, when transitioning from Slider (=downward Climber) to Shimmier, with the interim step of the Dangler.

If you do want a transitioning animation from Shimmier to Climber, have you thought about reversing the Slider animation? ??? Meaning, the lemming would "swing upwards" from the shimmying position, as if he did an upward circle forwards in gymnastics.

The problem is, while the lemming would indeed end up on the wall to-be-climbed, looking in the appropriate direction (left vs. right), he would do so with his head pointing down, rather than up... :D
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

jkapp76

I'm not very good at the really hard levels. I enjoy the easier-to-medium difficulty. And I love all those text intros on world tour. I liked the clues.

I do complete the high-difficulty levels packs too, I just don't enjoy them as much and peek at replays if I'm stuck too long on a level... which happens often on some packs.

I love when someone refers a good pack to me. It's a hard decision with so many out there. I like packs that use the new skills lately.

Here's a link to my portable DOS lemmings 2. It'll run on windows if anyone here wants to test the shimmier interaction.
https://u.pcloud.link/publink/show?code=XZAHhOVZqUmQzmyvPnRJqtcULY4T5L8sNvkX
...Jeremy Kapp

WillLem

Well... it turns out that L2 Shimmier-Climbers always try to turn and climb even in the "multiple overhangs" scenario. So, in the following screenshot, the lem that is currently climbing got to that position by first shimmying from left-to-right. They then turn and attempt to climb the overhang. After reaching the top of the Climbable section, they turn and fall, as normal.



So, this is precisely what Strato is suggesting, as far as I can tell. And, as stated earlier, I'm more than happy to generally emulate L2 for this particular behaviour.

If we keep it as simple as "climber-shimmiers will always try to climb when they reach a section they can no longer shimmy", then they ultimately fall facing the same direction as their approach (since Climbers turn when they fall). The exception to this is if the lem is also a Slider, in which case they slide down, dangle, and ultimately fall facing the opposite direction to their approach.

This means leaving the code exactly as it is, which is always nice ;P

Regarding "minimum vertical pixels" for the Shimmier to attempt to climb, we need to set that to at least 2px, otherwise Shimmier-Climbers will try to climb every pixel of a 45-degree slope, which seems undesirable.




Regarding the transition animation:

Quote from: nin10doadict on August 09, 2023, 08:07:27 AM
For small overhangs, I wonder if having the shimmier turn and use the "ascender" animation rather than the "climber" animation when he reaches the end might look better.

To be honest, the near-instant transition to hoister in these cases looks pretty good; I'll get a video demo up soonish so you can see.

Quote from: Strato Incendus on August 09, 2023, 03:55:17 PM
As far as I recall, Shimmiers in L2 don't perform any transition animation at all when switching to a Climber

There is, as far as I can tell, an approximately 4-frame animation of the lemming turning around. Going straight to Climber from Shimmier is somewhat jarring, but we could possibly just leave it as it is. I'll include the behaviour in the 2.6 RC release, and if we all agree that there should be a transition state, I'm happy to create one.

"Borrowing" animation frames from other sprites isn't as easy as it sounds; each sprite animation is intrinsically linked to a lemming action*. It's probably not out of the question, but it would honestly be easier to just create a new sprite and let it be its own action.

*For instance, this is why the slider's de-hoister state is its own sprite, rather than re-using the climber's hoister in reverse.