Author Topic: [SUG] New skill - Ballooner [UPDATED]  (Read 9148 times)

0 Members and 1 Guest are viewing this topic.

Offline Strato Incendus

  • The King of Shimmiers (crowned by Flopsy ;D )
  • Posts: 1755
  • #RIP Spearer/Grenader (2020 - 2021)
    • View Profile
Re: [SUG] New skill - Ballooner
« Reply #45 on: November 13, 2023, 06:55:12 PM »
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

Offline WillLem

  • Moderator
  • Posts: 3480
  • Unity isn't sameness, it's togetherness
    • View Profile
Re: [SUG] New skill - Ballooner [UPDATED]
« Reply #46 on: March 29, 2024, 03:56:03 AM »
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.

Offline WillLem

  • Moderator
  • Posts: 3480
  • Unity isn't sameness, it's togetherness
    • View Profile
Re: [SUG] New skill - Ballooner [UPDATED]
« Reply #47 on: April 01, 2024, 09:12:24 PM »
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)
« Last Edit: April 02, 2024, 10:32:29 AM by WillLem »