On-terain water and Swimmers

Started by Strato Incendus, September 18, 2019, 01:37:32 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Strato Incendus

In a similar vein to the recent discussion about Oh-Noers turned into Swimmers (which should no longer be possible), I want to draw your attention to the possibility of Swimmers interacting with water specified as "only on terrain". I've come up with the attached level yesterday, and wanted to discuss to what extent this behaviour is intended before I base further corner-case stuff on it :evil: . Two issues came up as a result of this:

1) Climbers, Swimmers, and on-terrain water

As it was explained to me in the above-linked thread, Climbers are technically located one pixel inside the wall they are climbing. Consequently, if that pixel of terrain is covered by water, a regular lemming would turn around on the wall as usual, but in the moment you assign a Climber to him, he will drown inside the wall.

A lemming who is a Swimmer already when starting to climb will climb up the wall normally. The same is of course also true if the on-terrain water starts only two or more pixels into the terrain, so that the climber can place its foot pixel inside the non-water-covered terrain on the outside. (To try this out in the attached level, switch off the pre-assigned Swimmers from the hatch and move the on-terrain water objects one pixel to the right.)

A lemming turned into a Climber first will start drowning inside the wall; if you then assign a Swimmer to the Drowner, the lemming will start swimming in the opposite direction for one or two frames before turning back into a Walker (with the Swimmer skill still assigned to him, of course).


2) on-terrain objects and terrain removal

As I've found out in Lemmings-World-Tour design during the construction of a level called "Ring of Fire", which never got made precisely because of me finding out how the mechanics actually work in this case: If you remove the terrain behind an object set to "only on terrain", be that object fire or water, the trigger area still remains active, even though the object is no longer visible. Usually, such removal is only possible by using Bombers (although, in the case of traps, other destructive skills may also work, because with traps, the trigger doesn't cover the entire image of the animation).

Thus, where I intended for the lemmings to bomb through the ring of fire so that the crowd could actually fall into it, the lemmings would still burn, only that the fire objects were no longer visible. So they'd burn in an invisible flame in mid-air.

Water behaves the same way, but since it's not quite as lethal as fire, Swimmers will interact the same way as they normally do with the now-invisible water.

Is this intended? From a "fairness" standpoint, it seems very confusing to the player that an object they can no longer see still affects the game mechanically. We no longer have the option to create invisible objects, but apparently you can still make objects invisible during level playing :D ...

If the mechanics were to be changed so that only-on-terrain objects remain visible when the terrain behind them is removed, this shouldn't affect any levels mechanically. For example, the attached level would still work - although I'd probably change the title, in that case, because the illusion of the Swimmers "flying" would no longer be present. Instead, you'd have to "free the water" out of the terrain to actually be able to use it.

Generally speaking, I think the option of on-terrain-only objects should definitely remain, since it's required to accurately replicate the aesthetics of original Lemmings levels (such as "We are now at LEMCON one", Fun 20, and its rerun).
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

IchoTolot

Quote2) on-terrain objects and terrain removal

The whole idea of "only-on-terrain" was originally to have a suitable option for displaying One-Way-Arrows correctly, while also providing support for things like the L2 shadow animated windows. Like after destruction of the terrain the OWW still functions in that area, while the arrows are only present on top of the terrain.

It was never primarily designed for the cases you mention here.

Bombers and other destructive skills destroy the terrain map. As far as I understood the concept, NL has different maps that form a level: A terrain and object map and a trigger area map. As your skills only affect the terrain map you are totally unable to affect trigger areas.

My suggestion here would be simply to use the "only-on-terrain" reasonable, as flamethrowers don't need to have this option other than for decorative purposes outside the main playing area for example. I think out of the objects only purely decorative objects and One-Way-Arrows really need it (I could be forgetting a type here), while the others still have it for decorative options (which can be abused as you described in your example).

QuoteClimbers, Swimmers, and on-terrain water

Again, I generally recommend not creating any levels where the player can't see whats going on.

The climber drowning at an terrain+water edge is working as intended, as Climbers should not climb through water. I still would consider placing a water pit exactly like that with it not reaching out further outside the wall as very bad level-design.

For assigning a swimmer to a drowing climber: Drowner turns to a swimmer -> starts to swim -> realises that there is terrain in front of him -> turns -> moves outside the water -> walks of.

Just like hidden traps I would still mark hiding water behind cliff edges as very poor level design.

namida

QuoteI think out of the objects only purely decorative objects and One-Way-Arrows really need it (I could be forgetting a type here)

One-way arrows don't need it, and nowdays work completely separately from only-on-terrain objects - seperate layer and different draw conditions ("is pixel solid" for only on terrain vs "is pixel one-way-capable AND solid" for one-way-arrows). Only-on-terrain exists purely for decorative purposes these days.

I won't be making any change so that removing the terrain negates the trigger area - this, as IchoTolot suggests, falls firmly under "don't do this". However, maybe there's a different solution here: Any object set to only-on-terrain becomes ineffective in the first place. (Of course, the problem is that that's open to abuse too... but maybe less severely, and harder to hide.)
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

ccexplore

Admittedly, to someone unfamiliar with Lemmings, if you show them a movie of levels in the original game's engine where a one-way wall is bashed away, they probably wouldn't guess that the now-invisible "one-way field" is still around and active, they'd more likely to expect the one-way is associated to the terrain, and thus removing the terrain permanently removes the one-way effect.

But of course, that wasn't how the actual Lemmings game worked, and NeoLemmix more or less builds from that tradition.  The only-on-terrain in the original game engine was strictly a rendering option and has no physics impact (indeed, in the original game engine, all of the options are strictly rendering effects, even "upside down").  It is at least discoverable in terms of one-way walls (eg. if you build over the area, the one-way arrows will again become visible against your build bridge, for example).

I can see that you are perhaps hoping to achieve the concept of terrain that is deadly on more direct contact by the lemming, but can be removed and the area rendered safe via terrain removal skills, rather than the more traditional cases of traps vs disarmers.  Interesting idea perhaps but no, not achievable in the game right now.

namida

Quote from: ccexplore on September 19, 2019, 12:21:11 AM
Admittedly, to someone unfamiliar with Lemmings, if you show them a movie of levels in the original game's engine where a one-way wall is bashed away, they probably wouldn't guess that the now-invisible "one-way field" is still around and active, they'd more likely to expect the one-way is associated to the terrain, and thus removing the terrain permanently removes the one-way effect.

But of course, that wasn't how the actual Lemmings game worked, and NeoLemmix more or less builds from that tradition.

Just to clarify: What you describe here does not happen in NeoLemmix. If you destroy a one-way wall, then create some terrain in its place with a constructive skill, the new terrain is just regular terrain, not one way. This applies to both visuals and physics. This is because the non-visual aspect of one-way walls becomes a property of the terrain physics map (which gets cleared when the pixel is removed; the new pixel placed by the constructive skill is just a standard destructible pixel with no special properties), and the rendering of one-way walls directly uses the physics map to determine which pixels can or cannot be drawn on by one-way-wall objects.

However, any other object has a dedicated trigger layer (which keeps no reference to whether the object that placed the trigger area was only-on-terrain or not). One-way walls have special handling here, basically, that could not easily be extended to most other object types, especially triggered ones.
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

Dullstar

I know some original levels used it for decorations, but I question if this option should be kept for arbitrary object types. Perhaps it should be strictly available to decorative objects only (and perhaps an intrinsic property to the object rather than a toggle?). Unfortunately, there is of course always the risk of breaking existing content.

Strato Incendus

Well, in this case, it's about water, and original Lemmings definitely uses / requires that. ;)

QuoteJust like hidden traps I would still mark hiding water behind cliff edges as very poor level design.

But it's not behind the terrain, in fact, it's on top of the terrain, i.e. clearly visible, nothing unfair about it. ;)

QuoteThe climber drowning at an terrain+water edge is working as intended, as Climbers should not climb through water.

Of course they shouldn't; it's just that, in this special case, it doesn't actually look to the player as if the Climber were inside the water, but merely going up on the outside.

I'm fine with the behaviour remaining as it is, btw! :thumbsup: Apparently, this will remain a loophole, then. But I'm glad that, for once, we don't approach such a loophole with the instant mentality "this can be exploited, so let's cull it!" :D

If it's only "discouraged" as far as quality level design criteria are concerned, then of course that means I'm gonna use it :evil: , but most likely just in the form of the above-mentioned level making it into Lemmings Open Air. If several levels in one pack used this "flying-Swimmer illusion", the joke would get old pretty quickly, I guess.

So it's going to be like that one aspect about overlapping Blockers and teleporters that still remained in the game, where all Nepster could do was to threaten everyone that he'd "personally come visit them and smack them up with a fishbot" if anyone used this on a level. :devil:
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

ccexplore

Quote from: namida on September 19, 2019, 01:21:42 AMJust to clarify: What you describe here does not happen in NeoLemmix. If you destroy a one-way wall, then create some terrain in its place with a constructive skill, the new terrain is just regular terrain, not one way. This applies to both visuals and physics.

Oh cool, it's good to know that NeoLemmix has this more intuitive behavior.

Quote from: Dullstar on September 19, 2019, 04:16:21 AMI know some original levels used it for decorations, but I question if this option should be kept for arbitrary object types. Perhaps it should be strictly available to decorative objects only (and perhaps an intrinsic property to the object rather than a toggle?). Unfortunately, there is of course always the risk of breaking existing content.

In the original Lemmings games, the only case I can remember where it was used for decorations rather than one-way walls, was what Strato mentioned, the placing of draw-on-terrain-only acid object over the thin columns left of entrance of level "We are at LEMCON ONE" (and its repeat "Poles Apart"): https://youtu.be/dQeQMDFaHhg?t=2.  It's meant to depict bubbling acids inside tubes basically.

This decoration technique is sadly removed in DOS Lemmings version of level (actually it wouldn't work even had they kept it, as DOS Lemmings took quite a bit of shortcut with its implementation for that render flag, and will not actually render "correct" colors for anything besides one-way walls; might work in Lemmix though).  Even in ports like Amiga, SNES and Mac where this is present, the effect is, meh. :-\ I applaud the creative effort and it's kinda neat, but also doesn't quite look right.

Maybe it's fine to extend it to non-decorative objects, but then the object loses its normal trigger behavior and becomes a decorative object?  Or is that worse now that you basically have a fake version of the object?  The example above in the original game is still deadly (I think?).

Curious to know how much this kind of setup has been used in NeoLemmix levels that aren't remakes of original levels, particularly with objects that have actual trigger effects.

Quote from: Strato Incendus on September 18, 2019, 01:37:32 PMClimbers, Swimmers, and on-terrain water

It is of note that in original Lemmings unlike in NeoLemmix, when walkers turn around at the wall, the moment they first turn around they are actually inside the wall in the exact same way as climbers, so in original Lemmings the water would affect both walkers and climbers.

Ultimately, this is kind of like how you can get a builder stuck in a ceiling, while lemmings outside will just turn around at what's effectively a wall created from the build brick and the ceiling.  What I mean is that, yes, a lemming executing a skill can sometimes end up in places not accessible by normal walking lemmings.  Hence, it is possible then to place objects such that they can only be triggered by lemmings executing that skill.  Once you realize climbers are inside the wall, everything logically follows.  I'll have to look and see how the climber animations are actually positioned, whether it really looks like the lemming is completely outside the wall or not when climbing.

It's definitely a somewhat confusing-looking setup when one first sees it.  Maybe not a setup you want people to adopt too widely, but I suppose it does make for a compact setup when you want to require the lemming to be both swimmer and climber in order to get up the wall.

Strato Incendus

QuoteI suppose it does make for a compact setup when you want to require the lemming to be both swimmer and climber in order to get up the wall.

Or if you want a creative way to kill zombies with a pre-assigned Climber skill. :D The regular crowd can turn around on a wall (they don't even need to be Swimmers), whereas the non-Swimmer Zombie Climbers die the moment they try to hold on to the wall.

QuoteCurious to know how much this kind of setup has been used in NeoLemmix levels that aren't remakes of original levels, particularly with objects that have actual trigger effects.

I used it for example on fire objects for my level "Burn" from Lemmings World Tour, to simulate the Flame Towers in Baku, the capital of Azerbaijan:

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

namida

QuoteMaybe it's fine to extend it to non-decorative objects, but then the object loses its normal trigger behavior and becomes a decorative object?  Or is that worse now that you basically have a fake version of the object?  The example above in the original game is still deadly (I think?).

It would take quite some effort to use such an object in a way that isn't clearly visible as only-on-terrain, so I think as long as this is a global, known rule, it could be a suitable solution - and possibly even a good idea. Of course, there's still an expectation of some sanity when actually using it.

QuoteIf it's only "discouraged" as far as quality level design criteria are concerned, then of course that means I'm gonna use it :evil: , but most likely just in the form of the above-mentioned level making it into Lemmings Open Air. If several levels in one pack used this "flying-Swimmer illusion", the joke would get old pretty quickly, I guess.

If several levels in one pack used any of the misleading designs that have been ruled "questionable how much we can do about it", that would be a good reason to reconsider whether or not some change to prevent it does have to be made, possibly with more tolerance of side effects at that point.
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)