[SUG] New skill - Ballooner

Started by WillLem, July 10, 2023, 10:27:56 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

WillLem

From this topic:

Quote from: Strato Incendus
Ballooner: This one might be interesting without the fan, since it can get up vertical obstacles that the Climber cannot pass. It would require an automatic move into the direction the lemming is currently walking, though, once it finishes. Alternatively, perhaps it could be implemented as an upward Glider, moving diagonally upwards as soon as it is assigned. This would also fit with the NeoLemmix / SuperLemmix version of the Laserer, which is diagonal, too — while L2s Laser Blaster is vertical.
---
something to overcome those pesky not-Climber friendly obstacles that are way too high for a Jumper or single Builder

Quote from: Floyd Brannon
Ballooner! This would be the best upward-vertical option I think. There is also lemmings artwork showing lemmings in balloons.

WillLem

#1
Definitely my favourite of the suggestions from Strato's topic; it'd be a fun one to animate as well.

Movement-wise, I like the idea of it drifting upwards mostly vertically, but with a slight diagonal shift in the direction they're facing. Since it's a balloon, the movement could even be somewhat oscillation-based, with a slight side-to-side motion. They should definitely "bounce" off terrain as well, which may or may not turn the lemming to face the other way - both could work.

The only question I'd have here is how does it stop? It could be time-based - the balloon could "deflate" as the lem ascends, finally dropping the lem when it has no more air. Or, it could POP! on contact with overhead terrain and then drop the lem, as per L2. Slight preference for the latter.

Support for this idea? Thoughts? Suggestions?

Strato Incendus

The deflation sounds interesting, hadn't thought of that yet. This would make it more similar to the Builder, in that it can "run out of gas".
The POP! solution is not only the familiar behaviour, though — but should probably also be easier to predict in terms of its trajectory, i.e. result in less needless execution difficulty (even though SuperLemmix of course has more leeway for that than NeoLemmix, due to its different philosophy).

If we do stick with the POP! solution: Would this only happen if the balloon itself hits a ceiling / wall?
Since you mentioned that the Ballooner should be able to bounce off of walls — but that would only be possible if the lemming hits the wall, not the balloon itself. And since the balloon is normally wider than the lemming, I don't see how to make a lemming bounce against a wall without popping the balloon in the process. Unless of course the wall sticks out further at the lemming's height than at the height of the balloon. This could easily result in the lemming landing on that ledge, though.



That leads to some other questions:

- Would the lemming stop once his feet touch ground, like a Shimmier stops shimmying when the ground comes up to meet his feet?

- If not, popping the balloon might be one of the primary (interesting) challenges with this skill, to balance out its power — since it can overcome a lot of obstacles that Climbers can handle, but also many walls with irregular shapes that Climbers can't handle.

- Cancelling the Ballooner with a Walker should be possible, just like the Walker cancels any other skill.

- What about Jumpers, though? Could a lemming jump off the rope that connects him to the balloon? That would be a pretty cool transition! :thumbsup: Also, this might be one way of getting by with even a strictly vertical Ballooner. Much like the planned introduction of the Jumper allowed us to turn the Shimmier's jump ("reaching") into a straight vertical jump (whereas in L2, they jump diagonally, much like Jumpers). However, in the interest of not always having to provide Ballooners and Jumpers in tandem, I do agree that at least a slightly diagonal trajectory (probably steeper than the downward trajectory of the Glider) should be more useful in most instances.
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

Floyd Brannon

This is one of my top favorites. We don't have a way to glide upward.

The flying carpet would be okay too.


WillLem

Quote from: Strato Incendus on July 10, 2023, 06:25:26 PM
The deflation sounds interesting ... The POP! solution is not only the familiar behaviour, though — but should probably also be easier to predict in terms of its trajectory

Having seen the Ballooner in L2, I'm pretty much set on the POP! idea as a means for stopping the balloon.

Quote from: Strato Incendus on July 10, 2023, 06:25:26 PM
If we do stick with the POP! solution: Would this only happen if the balloon itself hits a ceiling / wall?
Since you mentioned that the Ballooner should be able to bounce off of walls — but that would only be possible if the lemming hits the wall, not the balloon itself

Lemming check are always calculated from its foot position (the star-shaped marker seen when observing lems in CPM). The Balloon itself would be purely aesthetic, like the Floater's umbrella. So, let's say that the lem is 10px tall and the balloon is another 10px, we'd look for terrain 20px vertically upwards from the lem's foot position, and if we find it, then the balloon pops and the lem falls.

For terrain at the side of the lem, we can calculate how far out the "balloon" sticks from the lem's foot position, and look for terrain there. If we find it, and it's where the balloon is, we bounce away (I'm thinking the Balloon should only pop when it hits terrain above the lem, but this is of course up for discussion). If we find terrain at the lem's foot position, meanwhile, then they "land" on the terrain.

Quote from: Strato Incendus on July 10, 2023, 06:25:26 PM
- Would the lemming stop once his feet touch ground, like a Shimmier stops shimmying when the ground comes up to meet his feet?

I imagine so, yes.

Quote from: Strato Incendus on July 10, 2023, 06:25:26 PM
- If not, popping the balloon might be one of the primary (interesting) challenges with this skill, to balance out its power

Good point. Maybe we can try both and see which we prefer.

Quote from: Strato Incendus on July 10, 2023, 06:25:26 PM
- Cancelling the Ballooner with a Walker should be possible, just like the Walker cancels any other skill.

OK, maybe it pops the balloon wherever the lem is.

Quote from: Strato Incendus on July 10, 2023, 06:25:26 PM
- What about Jumpers, though? Could a lemming jump off the rope that connects him to the balloon? That would be a pretty cool transition! :thumbsup:

The Jumper could "jump" away from its current Ballooner trajectory, sure, but for the Balloon to still exist (and continue drifting upwards) it would need to do so as a separate animation. It wouldn't be out of the question to draw it as an overlay, similar to how Freezers are currently handled. That way, the Balloon's animation could be independent of the lem itself. Worth considering, definitely.

In fact, this brings to mind the possibility of the Balloon being an object rather than a skill. Maybe if a lem jumps away from it, it remains in-place, ready for another lem to access it. Popping the balloon, then, effectively disarms the object. Just a thought, whilst we're riffing ;P

Floyd Brannon

#5
This is a lemmings game. I wouldn't be shy to make the animation something comedic. Have the lemming pull the balloon out of his pocket, blow it up, (hot air) and hold on for a ride. Then, it can simply perform an arc like the glider. The balloon will rise, drift to the right, and shrivel out of air and allow the lemming to land leaving no more balloon. (No one ever asked what happened to the glider after the lemming was done with it. It disappeared and that was okay)

Have it change directions if it hits a wall. If it hits the ceiling it can just stay there until it's time for it's downward arc. Simple is sometimes better. This would easily allow crossing gaps and such.

The arc of travel can be whatever. Maybe straight up, then drift to the right with the lemming holding his feet up for that last bit of distance. I don't think the balloon needs to travel to the ceiling really, it just needs some lift. Unless you have a full hot-air-balloon in mind, which would hit the ceiling and be more like lemmings revolutions exit balloon.

jkapp76

The flying carpet might be easier to create. It's smaller with less to animate.

...But, you might be able to re-use alot of the umbrella frames for the ballooner too, just change it to him
holding the balloon. I like the visual of him lifting his feet up too, especially over water.
...Jeremy Kapp

WillLem

If we do this one, it'll be a Balloon for sure. As Jeremy's said, we can re-use the Floater animation for the most part.

Due to what's been suggested so far, my current thoughts are that it probably would make more sense to have the balloon "POP!" as a separate graphic which is displayed upon any cancellation of the Ballooner skill, whether by contact with terrain or by assigning a Walker, Jumper, or other interactive skill.

This allows the new action to be performed immediately (necessary, even if the new action is simply falling), whilst the balloon popping can be animated as a single "explosion" frame (like the Bomber) or even across 2-3 frames like it is in L2. It'd get drawn to the same layer as the Freezer overlays, so it would always appear behind the Highlight arrow or Countdown animation, if applicable.

Incidentally, if anyone happens to have access to the L2 Ballooner/balloon popping graphics and sound, please do share!




Does anyone like the idea of this being an independent object rather than a skill? I'm probably leaning towards "no", but if anyone likes the idea please do speak up.

jkapp76

#8
You can start the game in practice mode and use this right off.  I'm trying to capture every frame of the video.
...He does blow it up himself and take off

Here is a link for Lemmings 2 if anyone else wants to try. Level 6 on the first beach map has a balloon.
https://u.pcloud.link/publink/show?code=XZAHhOVZqUmQzmyvPnRJqtcULY4T5L8sNvkX

I attached a video

The pop is just one frame of the standard bomb explosion.
...Jeremy Kapp

jkapp76

Here's a video of the flying carpet. It follows terrain very differently.
...Jeremy Kapp

WillLem

#10
Quote from: jkapp76 on July 12, 2023, 12:32:37 AM
The pop is just one frame of the standard bomb explosion.

Which version are you using? In the Amiga version, the balloon seems to have its own "pop" graphic (also only 1 frame). It has its own sound as well.

Note that the "popped" balloon is the same colour as the inflated balloon for each of the style sets (i.e. rather than being a generic "explosion", as in the video Jeremy shared):




I also began attempting to get each frame of the animation by screenshotting, but tbh it would be far easier if someone knows how to extract the .DAT files from L2. I've attached the assets here - VLEMMS.DAT is, I guess, likely to be where the sprites are, but I've also attached the full set of assets just in case. If anyone can help with this, it'd be much appreciated!

P.S. These were downloaded from MyAbandonware, I highly doubt we'd have any problems using these.

jkapp76

#11
It looks like the balloon being blown up is just a few frames of different circle sizes.

I think I salvaged the balloon pop from your screenshot here...
...Jeremy Kapp

jkapp76

Here's three screenshots that show all four frames of the balloon.
...Jeremy Kapp

WillLem

Quote from: jkapp76 on July 12, 2023, 03:52:37 PM
I think I salvaged the balloon pop from your screenshot here...

Thanks for this :)

I took a quick video of the Ballooner and analyzed it on ezgif.com - it seems that the Ballooner animation is a total of 18 frames (including the POP!) with a loopback to frame 10.

If we can get those assets extracted, that would be great. Does anyone know a way to extract .DAT files? I've tried an unpacker that I found online, that didn't work. Maybe the formatting of these is slightly different.

jkapp76

I slowed the video to a crawl and counted every frame of the lemming's footstep movements against the balloon frames.
I definitely can only see 8.
...Jeremy Kapp

jkapp76

Got it!

Here's the pop sound effect from Dos Lemmings 2
...Jeremy Kapp

WillLem

Quote from: jkapp76 on July 12, 2023, 07:38:37 PM
I slowed the video to a crawl and counted every frame of the lemming's footstep movements against the balloon frames.
I definitely can only see 8.

And then, the other 9 whilst the lem is floating upwards ;P

Quote from: jkapp76 on July 12, 2023, 10:08:26 PM
Got it!

Here's the pop sound effect from Dos Lemmings 2

Brilliant, thanks! :)




I've made a good amount of progress with the Ballooner, got a basic implementation sorted, vertical-upwards motion with a slight diagonal drift, only a single terrain check and a few skill/state interactions so far. I'll upload a demo video soon.

jkapp76

Here's another pop sound.

With that first one I forgot I had my soundblaster sound card set to enable slight chorus and reverb.

This one is full 48000 hz sample rate and has no effect on it. just the raw sample.
...Jeremy Kapp

WillLem

Quote from: jkapp76 on July 13, 2023, 12:37:18 AM
This one is full 48000 hz sample rate and has no effect on it. just the raw sample.

Thanks again, Jeremy, much appreciated :)

Here's a video demo of the Ballooner skill as it is currently.

Strato Incendus

:lem-mindblown:

This has to be the fastest record for skill implementation I've seen so far. :thumbsup:

(Of course, by "implementation", I mean "functional enough for a test / video demonstration"; not to imply that this were already confirmed as a permanent feature of SuperLemmix. :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

WillLem

The Ballooner is close to being ready for pre-release testing!

I'd like to include this and one other skill in 2.5 - so, we need to decide which.

Let's discuss that here.

Strato Incendus

Apparently, you activate SuperLemming when programming SuperLemmix :lem-mindblown: .
It's only been a few days since the first suggestion, and here we are already! :thumbsup: Great work, WillLem!
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

#22
The Ballooner is now ready for pre-release testing!

It's more or less fully implemented. We have top-to-toe collision detection, skill shadow, low-res animation, basic transitions and skill/object interaction sorted. Need to add editor, talisman and hotkey support (and a hi-res animation) - but these should be done in time for the pre-release.

Would anyone like to volunteer to give this one a test flight?



Questions that need answering:

1) The Ballooner should change diagonal-drift orientation, as in the above gif. However, we could make it so the lem stays facing the same direction. Which do we prefer?

2) When reaching the top of the level, should the Balloon pop as it does when reaching overhead terrain, or should they bob around at the top until the skill is cancelled (current behaviour)?

jkapp76

#23
My vote:

1. He should change direction. Anything else would seem wrong to me. But, I'm not completely sure.
2. It should pop. Couldn't it bob forever otherwise?

I wanna be a ballooner tester too!

With Lemmings 2 changing balloon direction does NOT change lemming direction. I'm not suggesting we copy that, but they
might have done this for good reasons. (Bumping sides pops too) Testing might help.
...Jeremy Kapp

Strato Incendus

Great job, WillLem! :thumbsup: Here's my take on your questions?

QuoteQuestions that need answering:

1) The Ballooner should change diagonal-drift orientation, as in the above gif. However, we could make it so the lem stays facing the same direction. Which do we prefer?

2) When reaching the top of the level, should the Balloon pop as it does when reaching overhead terrain, or should they bob around at the top until the skill is cancelled (current behaviour)?

1) If the drift direction changes, but the lemming stays facing the same direction, that would make the Ballooner fly backwards. If that's what player's want, we can talk about the "Backwards Walkers" gimmick again. :D But so far, if we keep thinking of the Ballooner as an upward Glider, then just like the Glider changes the direction it faces when changing its drifting direction, so should the Ballooner. In short, keep it as it is right now. ;)

2) Isn't the ceiling still deadly? What happens in Lemmings 2: The Tribes, where the ceiling is deadly, too?
??? I would expect the balloon to carry the lemming beyond the upper level border, and would therefore expect the lemming to die. :evil:
This would be an interesting restriction, to prevent the player from just assigning the Ballooner anywhere they want. Keep in mind the Ballooner can get over a lot of obstacles that Climbers can't get over, so they need something to balance out this power. And the potential danger of a lemming going beyond the level border (which, to be fair, can happen to Climbers, too) does not only seem interesting to me, but might even be vital in preventing the Ballooner from becoming overpowered.

If the level designer makes the ceiling solid by placing terrain all across it, then of course the balloon would pop, just like it does when it hits overhead terrain anywhere else in the level.
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 July 16, 2023, 01:41:04 AM
1. He should change direction. Anything else would seem wrong to me. But, I'm not completely sure.
---
With Lemmings 2 changing balloon direction does NOT change lemming direction
Quote from: Strato Incendus on July 16, 2023, 05:46:41 AM
so far, if we keep thinking of the Ballooner as an upward Glider, then just like the Glider changes the direction it faces when changing its drifting direction, so should the Ballooner

The Ballooner doesn't have to be an upwards Glider, it can be whatever we want it to be. Turning around does seem the best way to go, but let's try it both ways and see which we prefer.

Quote from: jkapp76 on July 16, 2023, 01:41:04 AM
2. It should pop. Couldn't it bob forever otherwise?

It bobs around until cancelled by Walker, Shimmier or Jumper. So, effectively, the lemming becomes unavailable and it becomes a matter of strategy whether a cancelling skill is used to "rescue" a Ballooner from the top of the level. Speaking of which...

Quote from: Strato Incendus on July 16, 2023, 05:46:41 AM
2) Isn't the ceiling still deadly? What happens in Lemmings 2: The Tribes, where the ceiling is deadly, too?[/b] ??? I would expect the balloon to carry the lemming beyond the upper level border, and would therefore expect the lemming to die. :evil:
This would be an interesting restriction, to prevent the player from just assigning the Ballooner anywhere they want.

...the SLX level top isn't deadly, it's modelled on the Amiga L1 level top and its various interactions (doesn't turn Builders, but does prevent lemmings accessing the top of the level). This was done mainly so that Jumpers and Projectiles can continue their arc back into the level, but also because I don't want the top and sides to be deadly in general.

Just to confirm - yes, Ballooners disappear out of the top of the level in L2. And yes, this means that preventing Ballooners from accessing the top of the level becomes part of the challenge of using them. This is worthwhile.

Hence, the decision to have them bob around at the top - they become unavailable until the Ballooner skill is cancelled, which I think is better than having them disappear altogether; the top of the level is still a threat, but the lemmings can still be rescued - best of both worlds. This means that they can be used in more interesting ways, by both designers and players.

Having said that...

Quote from: Strato Incendus on July 16, 2023, 05:46:41 AM
If the level designer makes the ceiling solid by placing terrain all across it, then of course the balloon would pop, just like it does when it hits overhead terrain anywhere else in the level.

...whilst it is important to take potential level design into account, I generally prefer to be a voice saying "let's not worry too much about level design specifics." The reason being that what I've observed tends to end up happening is the conversation gets bogged down in hypothetical scenarios, the overall concept gets lost, and decisions get made which unnecessarily limit the skill's versatility and range for the sake of only one of many possible uses.

Quote from: Strato Incendus on July 16, 2023, 05:46:41 AM
we can talk about the "Backwards Walkers" gimmick again

SLX most likely won't be getting any of the skill/movement-affecting gimmicks - for the most part, I think it's a good thing these were removed.

The only gimmicks I think were worthwhile are:

- Superlemming (which has be re-inroduced in SLX as of 2.4!)
- Frenzy (which is available as a "Play Without Pressing Pause" talisman rather than forced on the player)
- Karoshi (which I'm thinking might also be good as a talisman, but since talismans require the level to have been completed, I'm not sure how this would work)
- Wrap (which will be implemented as soon as I can figure out how to move lemmings across large distances without crashing the game!)
- Rising Water (alongside Wrap, we can potentially re-make some of the Revolutions levels in SLX! It also has the potential to make the Swimmer a more interesting skill. If re-implemented, it will probably be its own object type, and, like in Revolutions, will likely be triggered by a switch)

Beyond that, I've looked over the list of old gimmicks many times and the others are all mostly very tiresome once the novelty has worn off. So, just making this clear before there are any actual suggestions to bring these back (I realise your comment may have just been in passing).

Strato Incendus

Quote...the SLX level top isn't deadly, it's modelled on the Amiga L1 level top and its various interactions (doesn't turn Builders, but does prevent lemmings accessing the top of the level). This was done mainly so that Jumpers and Projectiles can continue their arc back into the level, but also because I don't want the top and sides to be deadly in general.

Thanks, I discovered that in the meantime. :evil: The top edge makes sense with the projectiles, and won't affect that many of my levels, given how the ceiling was solid in Old Formats, so I already had to add terrain on a lot of older levels when converting them to New Formats. The non-lethal left and right edges however will require more changes to my existing material, since this is essentially a return to Very-Old Formats NeoLemmix (1.43), minus the ability to climb the level sides.

But as for the Ballooner, yes, I guess having them bop around at the top level edge is better - because if they do go beyond the upper level border, like a projectile, but don't die there like in Lemmings 2, then we'd have lemmings that are still considered to be in the level, but are no longer accessible.

Quote
...whilst it is important to take potential level design into account, I generally prefer to be a voice saying "let's not worry too much about level design specifics." The reason being that what I've observed tends to end up happening is the conversation gets bogged down in hypothetical scenarios, the overall concept gets lost, and decisions get made which unnecessarily limit the skill's versatility and range for the sake of only one of many possible uses.

Alright, thanks for the explanation! :D This is a very different approach than in (especially New-Formats) NeoLemmix, but I welcome it! :thumbsup: Leaving more autonomy to the designers of individual packs, rather than limiting the skill for everyone.

QuoteSLX most likely won't be getting any of the skill/movement-affecting gimmicks - for the most part, I think it's a good thing these were removed.

The only gimmicks I think were worthwhile are:

Oh wow, I wasn't aware you were even considering bringing some gimmicks back at all, on top of everything you're already doing for SuperLemmix. :lem-mindblown:
I didn't expect to see any gimmicks ever again. So I'll be happy for any single one we might eventually end up getting! :thumbsup:
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

#27
"and, like in Revolutions, will likely be triggered by a switch"...


I think we should get some new switches that look like toggle switches too. Toggled left for off, and right for on like revolutions.
I just like the look, it's nothing to do with copying revolutions really.
...Jeremy Kapp

WillLem

#28
I'm happy to announce that the Ballooner is now confirmed for inclusion as a new skill in SuperLemmix 2.6! :lemcat:

Here's a demo video showing the Ballooner in action. A recent update added the ability to pop balloons with airborne projectiles!


Strato Incendus

Great job, WillLem! :thumbsup: I look forward to trying out the skill myself!
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

Ballooner collision detection question...

At present, the extreme sides and top of the balloon are the main points of contact - the lem turns if the sides hit terrain, and the balloon pops if the top hits terrain.

If they find terrain at their foot position, they ascend vertically until they can walk onto it.

So far so good - the "middle" part of the ballooner basically never meets terrain due to the movement of the balloon and the likelihood that the top and sides will meet it first.

That is, unless the Ballooner is at the top of the level. Here, a different set of collision possibilities are presented because the Ballooner bobs back and forth along the top of the level, moving from side to side infinitely.

So, it's possible for a Ballooner at the top of the level to meet something like the following:



The foot position is below the horizontal pole, so they won't find terrain and ascend. Also, the side of the balloon is above the horizontal pole, so it won't cause the lem to turn:



That is, until the side of the balloon meets the vertical pole, at which point they will turn:



Technically, this is the same as Walkers ignoring the horizontal pole in the same setup, except that Walkers would also ignore the vertical pole.

However, the balloon itself is part of the skill, so it makes sense that it would check for terrain, which it is doing - i.e. only the lem themself is ignoring the terrain (since it isn't at their foot position).

I feel like this is correct and consistent, but... there could be an argument for having the lem interact with the terrain somehow in this setup. My instinct is to keep it as it is, but I wanted to see if anyone had any other expectations about what should happen here?

jkapp76

I like it the way it is.
I been looking at the pics and trying think of a way to improve on it, but I got nothing.

I would never have been surprised to see this happen. It look natural. To me.
...Jeremy Kapp

geoo

Quote from: WillLem on July 12, 2023, 02:08:40 PM
I also began attempting to get each frame of the animation by screenshotting, but tbh it would be far easier if someone knows how to extract the .DAT files from L2. I've attached the assets here - VLEMMS.DAT is, I guess, likely to be where the sprites are, but I've also attached the full set of assets just in case. If anyone can help with this, it'd be much appreciated!

P.S. These were downloaded from MyAbandonware, I highly doubt we'd have any problems using these.
I extracted all the L2 graphics long time ago, attached are the ones with lemmings sprites. Not sure which tribe's palette these are using.
I also have all the terrain tiles, objects, cutscenes, etc if that's useful for anything.

WillLem

Quote from: jkapp76 on August 22, 2023, 01:31:05 AM
I like it the way it is.

Yeah, me too. Let's leave it and see if it ever gets mentioned.

Quote from: geoo on August 22, 2023, 08:31:51 AM
I extracted all the L2 graphics long time ago, attached are the ones with lemmings sprites.

Brilliant! Thanks for this geoo, I'm sure it will come in handy, if only as a guide for putting certain animations together. Interesting to see that the balloon is an entirely separate graphic in L2: for SLX, the balloon and lem are all one sprite.

The balloon POP! graphic, however, is a separate "effect" which is overlaid at the point of explosion; this is necessary because the lem has already transitioned to a new action at that point, and is no longer a ballooner.

Quote from: geoo on August 22, 2023, 08:31:51 AM
I also have all the terrain tiles, objects, cutscenes, etc if that's useful for anything.

By all means please do send these over, or post them here, I'm sure they will come in handy for something :)

Strato Incendus

Just to be clear, this means the balloon cannot be popped from the side, unless it's hit by a projectile, right?

I must admit, I'd kind of expect the balloon to pop when it its the vertical pole from the side. But if we keep things as they are, I wouldn't mind either. In the latter case, I'd just hope there won't be that many levels exploiting this behaviour as a glitch.
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 August 23, 2023, 05:01:25 PM
Just to be clear, this means the balloon cannot be popped from the side, unless it's hit by a projectile, right?

That's correct. The balloon only pops if the top makes contact with terrain, or if a projectile hits any part of the balloon.

Quote from: Strato Incendus on August 23, 2023, 05:01:25 PM
I must admit, I'd kind of expect the balloon to pop when it its the vertical pole from the side

Since we don't have the L2 fan, I thought it would be best to have the sides turn the lem rather than popping. That way, the Ballooner has a bit more general mobility.

If the above situation ever causes problems (i.e. unfair levels, arguments regarding the behaviour) and we need to change it, it's more likely that we'll turn the lem around rather than pop the Balloon. But, of course, this would be up for discussion should the situation ever arise.

Simon

The angled ballooner is interesting, nice.

No opinion on collision with walls. Turning sounds okay because the balloon's angle of ascent is so steep.

Your top edge still sounds unnatural. I feel you're now squishing unwanted symptoms of that decision. If you insist on a solid top edge, I recommend to design a general rule for ballooner collision (that applies everywhere, not merely near the top edge) and a general rule for the top edge (that applies to all skills, e.g., also to climbers, jumpers) and accept whatever comes from it.

I still believe that level ideas shouldn't rely on edge behaviors other than the abyss at the bottom.

-- Simon

WillLem

#37
Quote from: Simon on August 23, 2023, 09:23:16 PM
Your top edge still sounds unnatural. I feel you're now squishing unwanted symptoms of that decision

The initial behaviour was for the balloon to simply pop, but we decided against this because it would in fact be somewhat inconsistent.

The top edge of the level, as with the sides, should be thought of as more of a "force field" than a solid ceiling; that way, the balloon only pops where there is visible terrain.

We could also have Ballooners ascend out of the level, but then they are lost unnecessarily. The decision to have them hang at the top of the level was made in order to keep the lem active, and provide an interesting Lemmings-esque challenge that's unique to this skill (i.e. figure out how to make a Ballooner descend). I acknowledge that it causes skill edge cases (quite literally!), but it's a small price to pay for the gameplay possibilities that the feature affords.

Quote from: Simon on August 23, 2023, 09:23:16 PM
I still believe that level ideas shouldn't rely on edge behaviors other than the abyss at the bottom.

I'm not sure how much I agree with this, although I acknowledge it's a popular point of view and it's not one to be dismissed out of hand; I've read the original NL topic on level edges, and created another for SLX in order to give the feature the extensive consideration it's due.

Ultimately, the level edges are as much a part of the game as anything else, and it's important for players to explore and find out what their behaviours are. Designers can make use of this, or not, of course.

---

Incidentally, between the 4 currently available platforms, we now have 4 different edge types covered - (deadly in NL, solid in Lemmini, wrap in Lix, forcefield in SLX)!

Simon

Quote from: WillLem on August 24, 2023, 12:20:08 AM
edge cases (quite literally!), but it's a small price to pay for the gameplay possibilities that the feature affords.

Assuming your edge behavior is indeed that valuable a mechanic: Design the forcefield as a standalone gadget. Designers can then put the forcefield where they want it.

The more you want X to play an active role, the more visible X should be.

-- Simon

Strato Incendus

I agree with Simon regarding the level sides. It's really weird to me that you can (ab-)use the level sides in SLX to e.g. bounce a Miner or a Builder around mid-performance. :evil:

And placing steel there doesn't solve the problem, because that cancels those skills, and/or provides a wall to turn lemmings around. The only way to still have lethal edges in SLX is to not actually place anything at the edges, but always leave a gap for an abyss in between.

But that's a discussion for a different topic — this one is about the Ballooner.
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: Simon on August 24, 2023, 04:02:09 AM
Design the forcefield as a standalone gadget

It already is a standalone gadget (one-way forcefields, which are essentially Blocker code repurposed as an object). I take your point about visibility, though.

The question of "what should the sides of the level do?" is not an easy one to answer: so far, we have 4 different answers to this question across the 4 currently available platforms.

I don't want to have too much of that conversation in this topic, but suffice to say that forcefields was a conclusion I drew from several hours across days across weeks of giving this feature a lot of thought. All things considered, it actually makes the most sense (to me) and won't be changed without a lot of consensus in another direction from active SLX users.




But yes, back to the Ballooner... since nobody seems to have any strong feelings about what should happen in the situation outlined above, I'll leave it as it is for now.

WillLem

Following some discussion around the idea on Discord, it's been decided that Ballooners won't be pre-assignable via hatches since the Ballooner is not a permaskill. They can, however, be assigned to pre-placed lems (as with Shimmiers).

If there is enough demand for hatch assignability in the future, then this could be reconsidered.

Strato Incendus

Oh, I hadn't even thought of that possibility... :forehead: Since I indeed thought of them as comparable to Shimmiers.

If I recall correctly, it's not possible to assign a Ballooner to a Faller, since the lemming needs to stand somewhere to blow up the balloon.
I was just thinking of level possibilities where, instead of having to assign Floaters or Gliders to Fallers right out of a hatch, you'd have to assign Ballooners to save them.
But then again, I've never felt the need to do that on any level thus far, since I hadn't even thought of Ballooners doing anything straight after coming out of a hatch.

QuoteThey can, however, be assigned to pre-placed lems (as with Shimmiers).

That is the important part, because it allows for lots of "get the Ballooner down" solutions, involving interactions with Grenaders, Spearers, and Laserers.
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 November 08, 2023, 04:03:27 PM
If I recall correctly, it's not possible to assign a Ballooner to a Faller, since the lemming needs to stand somewhere to blow up the balloon

Ballooners can be assigned to Fallers.

At present, the lem is simply suspended in midair during the first few frames of the Ballooner animation, then they begin to ascend once the balloon is fully inflated. Essentially, exactly what happens with a normal Ballooner assignment.

Do we think the lem should continue to fall until the balloon is sufficiently inflated? This could be done, similar to how falling lems react to a Floater assignment.

jkapp76

I personally like it as it is. It's quick enough that it looks convincing.
...Jeremy Kapp

Strato Incendus

Okay, then I'd also advocate for leaving it as it is. :D

I kind of foresee player complaints if somebody makes a level where everyone has to be assigned a Ballooner out of the hatch, rather than them all being pre-assigned.

Then again, I'm not a fan of levels with splat-height hatches, where you have to spend time assigning Floaters while simultaneously trying to build a splatform with some worker lemming. Usually, these levels only require a certain number of lemmings to be assigned Floaters (in this case, Ballooners) before the splatform is finished.

In contrast, I mainly use splat-height hatches if breaking the fall factors into the main solution somehow — rather than just being thrown in there as an additional challenge.
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

For 2.7, the Ballooner collision detection has been improved considerably.

The top 4 vertical pixels of the balloon are now the "poppable" area, leaving "bounce-and-turn" to only the extreme left and right edges. Previously, only the top 2 pixels were poppable, which led to the lem occasionally turning when popping was more reasonably expected. The checks are also fine-tuned to the exact shape of the top of the (low-res) balloon.

Here's a graphic to show the updated collision checks:



The changes have been tested against all of my existing Ballooner levels/replays; all 15 levels worked as before, none were broken.

With that said, if you have levels featuring Ballooners, it will definitely be worth double-checking to make sure they're still playable in 2.7.

Implemented in Commit c62f1a87e.

EDIT: Commit 3825b5e4d also adds a preference for popping in the event that both side and top collision returns true simultaneously - it's a rare occurrence, but it does happen. In this case, the lem shouldn't turn if the balloon has popped on the same frame.

WillLem

#47
After much tinkering and experimentation, I think I've found the sweet spot for Ballooner assignability and collision! 8-)

At the point of assignment, Ballooners now check for 9 vertical pixels - if they find 9 or less, they "ascend" along it until their feet meet the top, then the balloon pops and they begin walking - ideal for getting a lem up shorter pillars/steps/blocks.

If they find 10 or more vertical pixels, the effect is now that the Ballooner is turned and pushed away from the wall as the balloon inflates. What this means in practice is that Ballooners can now be assigned whilst lems are adjacent to vertical walls without the Balloon immediately popping due to contact with the wall:



This means that assigning Ballooners to Climbers and Sliders now results in the lem Ballooning away from the wall, which is perhaps the most reasonable expectation for this interaction. Yes, we lose the ability to use a Ballooner to cancel a Climbing or Sliding lem, but since Jumpers and Shimmiers can both be used for this particular purpose, it seems a waste to limit Ballooners to this as well.

I tried various iterations of this behaviour, with different interactions for Hoisters/Dehoisters (these were scrapped due to bugs/inconsistency), different terrain checks, etc, and this is the most consistent, predicatable and well-behaved version I could settle on. It's been tested for bugs and alongside various different terrain setups, and I'm about 99% confident that this is the one! :lemcat:

Let's give it a good try out in 2.7 and see if we like it!

(Commit 4c15b8918 implements the final version of this behaviour after several experimental commits)

Strato Incendus

Hi, just a quick question: Is it intentional that a Ballooner can float through a Ladderer's ramp from below? :lem-shocked:

It's a cool trick, and I recall discussions about this - but I just discovered it by accident, and it certainly wasn't what I would have expected.
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 June 25, 2024, 07:44:34 PM
Hi, just a quick question: Is it intentional that a Ballooner can float through a Ladderer's ramp from below? :lem-shocked:

That depends. If the Ballooner was entirely (i.e. including the balloon itself) below the platform on approach, then no - that's a bug and needs to be fixed. If they approached slightly from the side, then... I'd need to see, ideally.

Do you have a level + replay with this behaviour included by any chance?

Strato Incendus

I didn't save a replay yesterday, but I've been able to recreate the phenomenon on the level where I first discovered it.
(For the record, the attached level is probably not solvable yet - I was just trying out things last night.)

The Ballooner through the Ladderer's ramp is the last skill assignment in this replay. Not that passing through the Ladderer's ramp does pop the balloon, but with the lemming ending up on top of the ramp.
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

#51
Quote from: Strato Incendus on June 26, 2024, 06:02:55 PM
Note that passing through the Ladderer's ramp does pop the balloon, but with the lemming ending up on top of the ramp.

Yes, this is intended: a Ballooner stops ballooning if they have terrain at their feet. The ability of the lem to "pass through" the ladder is also not a bug, due to a decision made regarding a similar "should the Ballooner find terrain in this situation" question here.

I've made a gif of the behaviour currently in question for ease of discussion:



This is happening because we only start checking for overhead terrain once the balloon is fully inflated. I'm currently about 50/50 on whether this should be allowed, since a player can't reasonably be expected to guess that assigning a Ballooner here will allow the lem to ascend above the platform. Then again, here's a simplified version of exactly what's happening, which could arguably be expected behaviour:



So... do we want this? Should the terrain checks organically grow with the size of the balloon (an easy enough fix to implement), or should we only care about the balloon itself once the Ballooner has actually begun to move?

Please also see this topic. I think that whatever we decide here should be consistent across all movement-based skills.

Strato Incendus

Thanks for the confirmation! ;) Indeed, I recall us having discussed this, and me advocating for leaving things as they are, earlier on this page. I guess this was just the first time I saw this behaviour in action myself, on one of my own levels.
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

@Strato

I'd be interested to know what you think of this, this and this, whilst we're on the subject of physics updates.