Author Topic: [FEAT] The Freezer Skill  (Read 1815 times)

0 Members and 1 Guest are viewing this topic.

Offline WillLem

  • Moderator
  • Posts: 3383
  • Unity isn't sameness, it's togetherness
    • View Profile
[FEAT] The Freezer Skill
« on: July 02, 2023, 03:03:23 AM »
Introducing the new Freezer skill!

The lem freezes-in-place, chilling for a bit inside an ice cube 8-) It looks like this:



Like the Stoner, it's a terrain-constructive skill that can be assigned in midair and it isn't climbable.

Unlike the Stoner, Freezers can be rescued!

Instead of the lem being removed from the level, they transition to a "Frozen" state. Whilst in this state, they can then transition to Walker or Faller if a reasonable amount of ice is removed from around them.

The explosion particles have now been recoloured to look like ice water (looks better, plus it's a visual cue that the lem itself hasn't exploded).

Freezers can also be assigned to Timebombers during countdown, meaning that they can be used to stop a Timebomber in midair - no other skill can do this!

Whilst Frozen, lems are zombie-proof, and remain uninfected if a zombie bumps into their cube.

More updates to follow, but for now this is looking pretty cool! 8-)

Offline WillLem

  • Moderator
  • Posts: 3383
  • Unity isn't sameness, it's togetherness
    • View Profile
Re: [FEAT] The Freezer Skill
« Reply #1 on: July 02, 2023, 03:08:49 AM »
In SuperLemmix 2.4, the Freezing/Unfreezing states will be animated as an overlay rather than hard-baked into the sprite graphic.

This essentially means that these states will be way easier to customise. The actual sprites themselves stay the same colour throughout, with the overlay being added afterwards in-game to provide the "freeze-fade" effect. This will preserve spriteset recolouring for the underlying sprites, whilst also making them easier to animate and manage.

Any custom sprites that are the same shape as default lemmings can just copy the same overlay graphic into their sprites folder, since the overlay is generic and will work for any lemming-shaped sprite in both resolutions.

Meanwhile, Freezing/Unfreezing overlays for differently-shaped sprites will need a bit of tweaking, but should be easy enough to adapt from the existing defaults. Ask if you need help with this.

NOTE: Whilst these overlays are a clear improvement for these states, they also limit sprite height to 10px (as does the Freezer skill in general, incidentally), so no custom sprites can be taller than this. This will remain the case indefinitely.
« Last Edit: July 02, 2023, 10:40:46 PM by WillLem »

Offline WillLem

  • Moderator
  • Posts: 3383
  • Unity isn't sameness, it's togetherness
    • View Profile
Re: [FEAT] The Freezer Skill
« Reply #2 on: August 15, 2023, 02:37:34 AM »
Another update to the Freezer skill has been implemented for 2.6.

It's an edge-case which is primarily a bugfix, but is also something of a new feature that has only been worth doing because we now have the Ballooner.

In 2.5.x, if a Freezer is assigned with their foot position below the bottom edge of the level, the Freezer lem immediately unfreezes and falls out of the bottom of the ice cube (the ice cube remains in place). This is because terrain is not rendered outside of the level borders, so there is nothing for the frozen lem to "stand" on; this satisfies one of the conditions for a lem to begin unfreezing, and so they go ahead and unfreeze.

As of 2.6, a Freezer in this position must now have at least 5px removed from the top of the ice cube (this reduces to 4, 3, 2 and 1 if there is less than 5px of ice cube showing) in order for the lem to unfreeze, at which point they still fall from the bottom of the level... :forehead:

...However! As of 2.6 we will also have the Ballooner skill, which can be assigned to the unfrozen lems in order to bring them back up into the level area.

All of this is, in practice, much simpler than it sounds and makes visual sense when you try it out. I might do a video demo at some point, since it showcases a unique feature of the Ballooner skill as well as the Freezer.

Implemented in Commit 48fd40208, with revisions in Commit 5f3c433bb.