[FEAT] "Poison" water object

Started by WillLem, June 25, 2023, 03:01:35 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

WillLem

"Poison" is now a new water object type which turns lems into zombies! It behaves exactly like water in every other respect. In the next update (2.4), all water types that have been renamed "poison" (e.g. orig_marble and sms_marble, but now also a few custom styles as well) will have this effect.

The idea behind this is to give the Swimmer skill a bit more nuance and interest, whilst also adding another way to create zombies. With the Kill All Zombies talisman as well, there are definitely now a few more possibilies to be explored.

WillLem

#1
Poison turns lems into Zombies, but if they aren't Swimmers then they drown. If the lem is a Swimmer, they turn into a Zombie and swim across the surface of the Poison trigger area.

I'm thinking one of 3 things should happen:

Most preference - (1) The Zombie should become a Swimmer if they aren't one already. So, Poison becomes a Zombifier/Swimmer-assigner. This keeps the Zombie active in the level, which seems to be more preferable than the Zombified lem simply being immediately extinguished.

Neutral preference - (2) We leave it as it is currently - Swimmers swim, non-Swimmers drown.

Least preference - (3) Poison shouldn't be a "water" object at all - so, the Zombified lems fall through the remaining trigger area, regardless of whether or not they're Swimmers.

Thoughts?

ericderkovits

#2
I pick number 1. because I'd want the zombie to remain active in the level making for more ways to avoid or get rid of him. What's the point of a non-swimmer lem turning into a zombie at all if he just is going to drown after going into poison

or how about a 4th option:

Swimmers lems hitting poison can turn into zombies and continue in the level as swimmer zombies and
non-swimmer lems hitting poison turn into swimmer neutrals.

Proxima

#3
No to the above -- the less "the player has to remember these rules, and these exceptions, and these exceptions to the exceptions" the better.

From that point of view, (2) is the best because it's the simplest; poison only does one thing.

But I do have another suggestion: (5) poison turns lemmings into zombies, and all zombies (swimmer or not) can swim in poison.

WillLem

#4
Quote from: ericderkovits on July 10, 2023, 02:15:51 AM
I pick number 1. because I'd want the zombie to remain active in the level making for more ways to avoid or get rid of him. What's the point of a non-swimmer lem turning into a zombie at all if he just is going to drown after going into poison

Yes, my thoughts exactly.

Quote from: Proxima on July 10, 2023, 02:33:10 AM
(5) poison turns lemmings into zombies, and all zombies (swimmer or not) can swim in poison.

I also like this suggestion. Interestingly, making all Zombies always swim in Poison means that Poison is always a Swimmable object, and this would actually simplify the code for it. With only what we have currently, this is definitely the best option.

There is just one other thing to consider, though: I do have plans to make water into a "Dezombifier" at some point (i.e. all water, rather than creating yet another modified water type). Then, should Dezombified non-Swimmer lems swim or drown?

If swim, then that means that all Zombies are always Swimmers. Not necessarily a bad thing, but there isn't exactly an explanation for it. If drown, then it makes the Swimmer skill a much more valuable factor in the scenario where Poison/Zombies and Water exist in the same level, but could potentially be confusing if the Zombies have been happily Swimming in Poison elsewhere without actually being Swimmers. So, option (2) then becomes more favourable.

Of course, both "Zombifier" and "Dezombifier" could be non-water objects, and Poison gets an early retirement (although Dezombifiers could still be independently styled as Poison, but with non-water properties, as in suggestion (3)). This would be simplest of all, but quite honestly would be far less interesting, and once again reduces the potential of the Swimmer skill.

Bit of a circular argument, this one. I feel like I need something definitive to break the loop.

WillLem

OK, now we've had a bit of time to let this particular idea stew a bit, here's how this could work...

We're about to get a new "Zombie Walker" sprite (this will essentially replace the Walker animation for Zombies), so I wonder whether we could also have a "Zombie Swimmer" (or "Drifter") sprite, which looks clearly different from a regular Swimmer.

Then, when lems enter poison, if already a Swimmer, they retain the normal Swimmer sprite but become a Zombie. If not already a Swimmer, then they become a "Drifter", which could move along more slowly, but ultimately remain active in the level. Normal water, then, would remain fatal to "Drifters", whereas Swimmers-that-are-now-Zombies would be able to swim as normal.

Thoughts on this?

Note: at present, we probably won't be getting the "Dezombifier" after all - I think it adds unnecessary complication to the game, and is also somewhat contradictory to general Zombie lore/canon. Not only that, but it could end up being an absolute mess on the programming side of things, so - let's rule this idea out, at least for the purposes of discussing what should happen with the Poison object. If we later decide we want a Dezombifier, it can always be a non-water object anyway.

WillLem

#6
OK, we now have a new Zombie-specific action: the Drifter.

Non-Swimmers entering Poison now become Drifters. These move at half the speed of Swimmers, through Poison only - Water is still fatal to all non-Swimmers, including Zombies.

Swimmer Zombies, meanwhile, swim through both Water and Poison.

I think this is simple enough to grasp, especially when you see it in action. The panel display has been updated to show what's happening as well (note that the lem highlighted in red is the one currently selected):






jkapp76

The drifter looks great partially under water.
...Jeremy Kapp