[SUG] New skill - Ballooner

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

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

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