[SUG] Splat & Anti-Splat "Fields"

Started by WillLem, March 24, 2020, 12:13:58 PM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

WillLem

I've made some versions of the Splat & Anti-Splat pads that effectively work like OOW "Fields"; For them to work, simply resize them to the terrain piece using the vertical and horizontal resize, set them to "Only On Terrain," and make sure that the top of the trigger area is 1 px above the terrain (it has been offset this way by default).

Here's a video demonstration so you can see them in action. I'll be including them in the next release of the willlem_lemminas style pack, but I've also attached them here if you want to have a play with them for now.


IchoTolot

I think these are a simple and great addition! :thumbsup:

I would even vote for these to become part of the default style and not just be hidden in a style on the huge list!

Strato Incendus

Great idea, WillLem! :thumbsup: Yes, I'd also vote for including this in the default style!
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

#3
Unfortunately, (anti)splat pads do not work like one-way arrows.

One-way arrows expect the region they cover might have terrain added or modified, and have code to make sure constructive skill terrain is not affected. Splatpads do not. Which means that, in those above examples, if a lemming were to build inside the area that's covered - even where the field is invisible due to no overlapping part-of-the-level terrain - that area would also gain splat and antisplat properties.

This means that designers must very actively work to avoid anything misleading with these objects - this might even come down to "they cannot be used fairly on levels which include constructive skills", although I'm sure there are ways especially when the Builder isn't involved at all - which to me makes it very questionable if they should be accepted into NL's downloads at all. Them becoming part of the default style is 100% out of the question.

Adding code to make splatpads / antisplat pads have OWW-like behaviour could break existing levels, and I will not be considering making it dependent on the "only on terrain" - in fact, if anything, "only on terrain" is meant to be purely for decorative purposes and it's questionable if objects with the property should still function in any case, but that's another subject. However, this blatantly falls outside the intended usage of that feature, and will not be actively supported in any way.

I think a general piece of advice you need to keep in mind: If you need to resort to tricky workarounds like this to achieve something, you probably shouldn't be trying to achieve that "something", except as a "this is technically possible" demonstration that never gets used in standard levels.

However, there are a couple of points here that I do think are very worthwhile to draw attention to:

QuoteI would even vote for these to become part of the default style and not just be hidden in a style on the huge list!

I do agree here that some kind of splat and antisplat pads - perhaps the ones from namida_wasteland as they're the most well known example - should be put into the default style. Thanks to the alias system, this can be done fairly easily now.

Quotesimply resize them to the terrain piece using the vertical and horizontal resize

The aforementioned (anti)splat pads in namida_wasteland support horizontal (but not vertical) resizing these days.
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)

WillLem

#4
So... is there no way to make this idea work fairly? I suppose to avoid the constructive skill issue, the fields would (currently) have to only be used on terrain with straight edges.

Could they be implemented as a new, separate object from Splat-pads, having the same/similar properties to OOW fields? I can just see the idea having a lot of potential in that large areas of terrain can be easily infused with the Splat/Anti-splat mechanism.

Is there a way to make it so that the trigger area only applies where it overlaps with terrain, for example?

WillLem

I'm wondering if there may be a possible compromise here.

I like the idea of the Splat Pad in principle, but its current implementation doesn't make much sense to me.

The idea for the field came up actually because I was designing my own Splat Pad, and I didn't like the fact that the lems don't actually land on it... they fall through it and then their point of contact with the terrain directly below it is affected.

So, I came up with the idea of a piece of terrain shaped the same as a pad, with the intention of then overlaying the object, so that the effect would be the same, but the lemmings would actually land on the pad.

Then, I thought... why not just make the Splat Pad a large, resizable field like a OOW... that way it can be overlayed on any terrain, easily resized to suit the needs of the level, and still affect the entire terrain area even if it's built over or dug into.

It's essentially a progression of the Splat Pad idea into something more usable. I do understand that the way I've done it is potentially problematic, but if people like the idea of a field maybe it could be developed into something less problematic.

If not, how about this as a compromise: allow the overlaying of Splat Pad objects onto terrain shaped exactly the same as the object. That way, the lems can land on it, interact with it, dig into it, etc, and it will still have its Splat/Anti-Splat properties, but there will be no "invisible area" where constructive skills will be unduly affected. Obviously, constructive skills assigned within the visible Splat Pad area will still be affected, but this could easily form part of its properties as an object that players could understand and accept.

This would, of course, limit the object to being mostly square or rectangular, due to the shape of the trigger area, but that's a small price to pay for being able to expand the possibilities of this object in lieu of going ahead full-on with the Splat Field idea.

ccexplore

Quote from: namida on March 24, 2020, 06:30:07 PMUnfortunately, (anti)splat pads do not work like one-way arrows.

Can't you just make this a separate effect from the current splat pads?  In other words, represent this as a new effect in the tracking of object triggers, even though it's really just a copy of the splat pad effect-wise.  Then as a new effect, you can safely apply logic like exemption of constructive terrain, without also affecting any behaviors of the existing splat pad objects.

ccexplore

Ok, I finally figured out where I got confused. :-[ Because of all these talks on other threads proposing new stuff to add in NeoLemmix, I thought these fields are also proposed to be a new addition to the game.  But in fact it was actually just about trying to use the existing splat pads to simulate the field effect now in the current version of NeoLemmix.

So yeah, my response above probably didn't make sense to anyone, though now you can consider my response as a minor proposed addition to NeoLemmix.

I kind of get the concern that the "fields" as done using a custom splatpad, are actually rectangular, and so the portions of the field that aren't covering terrain are hidden but still funtional, and we don't like hidden stuff.  I think for now, a good compromise like WillLem suggested would be to apply it to terrain that is nearly rectangular, so there's very little of the field that are hidden.

WillLem

@namida @mods

Can this topic be moved to NeoLemmix>Suggestions?