I can help verify... at least with my equipment that SLX loads considerably faster than Neolemmix.
It could be the online features, then...? SLX has generally
added stuff rather than removed stuff, so it's strange that the loading times would be faster. Obviously great to hear, but it would be good to be able to find out the reasons for this so that I can potentially optimise it even further.
Also, will this also apply , to normal steel - eraser combinations ?
Yes, all current grouping behaviour will be kept exactly as it is now with no changes (unless someone specifically
requests a change, and then that request will be addressed community-wide before anything happens).
A simpler alternative might be to allow styles to mark some pieces as being primarily decorative, such as moss pieces in orig_dirt
It's not a bad idea in theory, and I can absolutely see how this would solve the particular use case of decorative terrain on steel. However, beyond that, the layer of complexity this would add to an already fairly cumbersome style management system cannot be ignored.
For instance, how would
any player, not just new players, know which pieces were meant to be decorative and which were meant to be actual terrain? What if those pieces get used elsewhere, not just on steel (that already happens with moss in orig_dirt before we even start factoring in custom levels/styles)? If they behave the same there, why not on steel?
Whilst I can agree that this idea does succeed in tackling the issue head-on, it also raises more questions than it answers. It's a move towards a more complex system, and therefore I'm not particularly sold on it.
Does anyone else have any thoughts on this?
you could have a class of terrain that's entirely decorative and can or doesn't necessarily have to be used over steel. So that it essentially has no physical effect in game; is purely decorative. Outside of steel Lemmings would pass right through it.
We already have this: marking an object as "backround" means it has no effect. Then, displaying it "only on terrain" or even using "no overwrite" will make it always display in the foreground (whilst still having no effect).
Also, did we ever get "stickers" in NeoLemmix? I seem to remember that being a suggested feature at one point...? From what I recall, the idea was similar to what's being proposed here: a foreground object with no effect other than to be decorative.
But yes, all the rebuttals you then typed stand fairly firm, particularly the "clutter and unnecessary complexity" one. We don't want to have to hit CPM every time we play a level.
I might just be tempted to enforce that steel is always on top at the sacrifice of being able to make "misshapen steel".
I'm not sure how shape relates to layer/position...? You can make steel whatever shape you like... the level
End of an ERa from God Save The Queen is a huge steel picture of Queen Elizabeth II!
Meanwhile, I have considered the idea of separating out steel from terrain and painting it on a higher layer to terrain - this would mean that it could never be decorated with regular terrain though, which seems a bit too drastic a move. Therefore, this would only be done as an
absolute last resort if all other ideas (including the ones presented by yourself and Dullstar here) fail.
I'm even more convinced now that we should look at trying Simon's idea of an intelligent system which sorts this out automatically. Here's what I propose...
SuperLemmix looks for the
boundary of a steel piece, and checks how much of the boundary is obscured. We'd need a formula that could detect the following:
Example 1, 2 and 3
The dark blue squares are steel, with the light blue boundary being what SuperLemmix "searches" to see where the steel area is defined. The terrain shapes return steel wherever they are yellow or orange, and terrain wherever they are teal green.
In the first example, the terrain circle is entirely within the light blue steel boundary, so the entire area is steel.
In the second example, the terrain line cuts across the steel boundary (note that the boundary is orange where the terrain cuts across it). SuperLemmix searches along this orange boundary for, let's say, 5 pixels. If it finds blue boundary again, then nothing happens - and again, the entire area within the steel boundary is steel (the orange part of the boundary is also steel).
In the third example, the terrain obscures an entire corner of the steel block. SuperLemmix searches along the orange boundary and doesn't find blue boundary again after 5 pixels, so it draws its own boundary between the two points at which the "boundary search" failed to find blue steel boundary. In the example given, it draws a red straight line. I would suggest that this line, the orange part of the boundary, and the yellow part of the terrain block should all be steel. The teal green part of the terrain is terrain, and a large chunk of the steel block is rendered not-steel due to being obscured.
Here's another example, with a more complex variety of steel intersections:
Example 4
So here, wherever the boundary check fails at each end of a straight line, the red boundary will be drawn along that line anyway, so the steel will be preserved as-is in spite of the thickness of the terrain in these area. However, the part of the block that is fully obscured in one corner would be dissected in a straight line, similar to the third example above.
I really think this could work, and it's predictable because the steel intersection would always follow a straight line along the terrain/steel boundary wherever a fully-obscuring intersection occurs.
If there's a formula to achieve this, I'll be amazed!