Physics differences between SuperLemmini and NeoLemmix

Started by WillLem, December 29, 2020, 03:44:54 PM

Previous topic - Next topic

0 Members and 3 Guests are viewing this topic.

WillLem

I recently brought up the idea of having records topics for SuperLemmini, and I was asked by Gronkling on Discord whether there are any physics differences which may affect challenge results.

I am aware of some differences already, but I thought it might be worthwhile to investigate further and document as many as I can find. Some of these differences may affect challenge results, but others are unlikely to make any significant difference. Either way, it's interesting to see how the engines differ.

So, here are the differences that I'm aware of. Please comment if you know of any others and I'll add them to this list.

1. Levels have non-deadly side and top edges

Levels in NeoLemmix have deadly sides and tops (i.e. the lemming will disappear off the edge of the screen if they reach the extreme side or top of a level, and will exit the level as a lost lemming), whereas in SuperLemmini they are non-deadly. This is significant because not only are sides and tops no longer a threat, but they can be used to turn lemmings around.

Somewhat bizarrely, when a lemming builds to the top of a level in SuperLemmini, they stop building and walk forwards, which is of course different from building into a terrain ceiling (which turns the lemming around, as normal, in both engines).

2. High-resolution physics / Double the FPS

SuperLemmini uses high-resolution physics, and so displays twice the number of frames per second (FPS) as NeoLemmix. This means that even finer framestep positioning is possible, with lemmings moving forward in smaller increments per frame.

Also, graphics themselves are twice the resolution, so detail on the edges of terrain is finer, and lemmings can interact with every pixel, i.e. each pixel in the graphic translates to an actual pixel in the physics. Whether or not this would make any actual significant differences to level solutions is debatable, but the difference is there.

3. Steel oddities

Another one that's best shown visually. In NeoLemmix, steel is steel - it cannot be destroyed under any circumstances (this is one of the things I love about NeoLemmix).

Note in this NeoLemmix example that 2 Bombers have been used to create the first crater in the platform, and the second has been created by a Digger. Both craters show destruction right up to the edge of the steel, and it's necessary to use a Climber to exit the digger pit:



By contrast, performing the same actions in SuperLemmini produces a completely different result. The second Bomber has blown a crater in the steel, whilst the Digger was stopped several pixels short of where the edge of the steel is, meaning that the lemmings can simply walk straight out of the digger pit:



Similarly, in this level it's possible to dig and bash through the edge of the steel in SuperLemmini, provided some part of the skill path is in contact with a substantial enough amount of terrain (this means that 100% is possible in Compression Method 1):



Whereas, in NeoLemmix, this is not possible:



I prefer NeoLemmix steel to be honest; it makes more sense and is far more predictable. But, the more oddly-behaved "classic steel" in SuperLemmini means that alternative solutions may be possible.

Please note, this steel behaviour in SuperLemmini can be disabled from the 1.43 Editor, and the steel areas can be resized independently to fit the blocks exactly, so that SuperLemmini steel behaves exactly like it does in NeoLemmix. This means that levels can be edited so that the steel differences are nonexistent, however since NeoLemmix does not allow classic steel behaviour at all, it can be considered a fundamental difference between the two engines (albeit one which can be manually tweaked user-side). Furthermore, since SuperLemmini "(un)officially" presents the original games with classic steel enabled, this is how the levels are intended to be played in that engine, and challenge rules normally state that levels cannot be edited anyway.

4. Miners can "step over" a 1-pixel gap

In SuperLemmini, if assigned in just the right place (margin of error is about 3-4 frames), a Miner will land on the opposite site of a 1-pixel gap, as if they've "stepped over" it. This is most likely a bug, however I can see why it might make sense were it to be intended. The Miner leans forward as they strike, and then steps onto the available terrain in front of them. It could be argued that their forward-momentum is what has carried them over the gap.

It's also worth noting that in most engines, Miners can "float" in mid-air for a frame or two when they reach the end of a block of terrain, in a similar manner to Digger physics. The difference is that, for just 1 frame, they are still moving forward (whereas the Digger is moving downwards) It's possible that this "1-frame's-grace" is what allows the lemming's position to move past the gap in engines where the bug is unchecked.

Here's visual confirmation of the action having happened:



Needless to say, this behaviour is not replicable in NeoLemmix, having been treated as a bug and fixed.

5. Climbers can traverse a 3-Builder "wall"

The classic trick of using 3 Builders close together to form a "Blocker" (which happens due to the bridges forming a vertical "wall" of >7 pixels) is enough to contain Climbers in NeoLemmix. However, in SuperLemmini, they are able to climb up the >7 pixel "wall" and hoist themselves over it.

Again, this is one I'd probably suggest makes some sense, since the part of the bridges being climbed is towards the shallower end of the slope, where there is nothing above the "wall" stopping a Climber from transitioning to hoister. I'd be interested to know how this behaviour gets corrected in NeoLemmix, and will note it here.

Here's the behaviour in action:



Incidentally, it's also present in Amiga physics:



6. Bashers & Miners can cancel each other

In SuperLemmini, Bashers and Miners can mutually cancel, regardless of direction.

Here is a video showing them cancelling each other when moving in the same direction. And here is one showing them cancelling each other from opposite directions.

As far as I'm aware, neither is possible in NeoLemmix (I haven't managed to recreate the behaviour), but I could be wrong about this. If so, I will of course remove this item from the list.

7. It takes fewer Builders to ascend through a thin overhead platform

Another fairly important one. In the following example, it takes 2 fewer Builders to reach the overhead platform in SuperLemmini than in NeoLemmix. This is most likely due to stricter Builder checks in the latter (images supplied by Turrican):


SuperLemmini - 5 Builders used


NeoLemmix - 7 Builders used

8. The old left-facing Builder thing

You know the one; left-facing Builders don't reach quite as far. I always wondered what caused this, and it turns out that the left-facing lemmings place their first brick 1 pixel further back than right-facing lemmings.

NeoLemmix corrects this behaviour, allowing Builders to reach the same distance in both directions (images supplied by Turrican):


NeoLemmix - both Builders start their bridges flush with the wall


SuperLemmini - the left-facing Builders starts their bridge 1px further back

9. Bashing a Blocker free from a Builder staircase

This one's bizarre. Basically, in SuperLemmini it's possible to bash underneath a Blocker that's standing on a Builder staircase such that a) the Blocker is freed from duty, and b) the staircase is not completely destroyed, and can still be used by subsequent lemmings:



In NeoLemmix, it's possible to do the same thing but only whilst the staircase is under construction:



If you try to do it when the staircase is completed, the Basher goes all the way through the staircase, thus destroying it:



Best guess is that this is to do with the differences in high and low-res physics coupled with Basher terrain checks. Every single pixel in NeoLemmix translates to 4 square pixels in SuperLemmini, so terrain checks can be more strict, and Bashers can (and invariably do) stop bashing sooner than they would in NeoLemmix.

More on this particular point (i.e. Basher terrain checks) later, there are some differences here that are particularly interesting, especially when it comes to bashing towards steel, and Builder bridges in general.

10. Bashers and Miners - The "First Swing" Bonus

In SuperLemmini, Bashers and Miners are capable of taking out 1px worth of terrain from behind them on the first swing, thus:


Click the image to see a video of this in action

Whereas, NeoLemmix Bashers and Miners only destroy terrain ahead of them:


Click the image to see a video of this in action

Depending on how you look at it, this is either a bug or a bonus. I'd say it's a bonus, since both the Basher and the Miner animations start with a "backswing", so in many ways, it makes sense that they would affect whatever terrain is immediately behind them as well.

11. When using the Blocker-turning trick on a Builder, the bridge doesn't always fully connect

In Superlemmini, if you position the "blocker turns builder" trick just right (or wrong, depending on perspective/situation), it can turn the builder in such a way that the other lemmings won't be able to follow the builder. This makes it a useful worker separation/crowd-control tactic, albeit one which requires the use of an extra Builder to free the crowd.

In NeoLemmix, the bridge always connects fully at the point that the Builder is turned, and therefore requires the use of a destructive skill or another Blocker to stop the crowd from following the worker.



Thanks to Turrican and ericderkovits for supplying images, replays and videos.

Turrican

#1
This is a topic , that I would really like to participate , but unfortunately I have little time for anything lemmings related , the last months. Also I am doing some "Lemmix to Neolemmix" level conversions , and some of the converted levels , contain some tricks , that are Not possible in Neolemmix ( with more to come ).

So first of all : In Superlemmini , a basher and a miner can cancel each other , if you time them correctly. This applies if the basher and the miner are facing at the opposite direction , and if they are facing at the same direction. In both cases the miner and the basher can cancel each other.

There are two levels that I have converted , that showcase both these tricks ( the second can be solved , without that trick , but the replay of my solution includes the trick ). The converted levels are :
Spoiler
"Rush hour" by Tseug , and "The Isle of Skye" by Gronkling

Another trick: Do you have a lemming , that it needs to cross an area that has a 1-pixel gap at the floor? No problem! When it is at the edge of the 1-pixel gap , assign it a miner at the correct frame , and it will surpass it.

Levels that I have converted , that showcase this trick :
Spoiler
"Not Quite!" by Tseug , and "Trading and Cooperating" by Geoo

Also in Superlemmini , a climber can surpass by climbing , objects like a "3 builder wall" for example.

I am sure , I can find more differences between the two engines , but I need to find time to experiment.
My Youtube channel ( Turrican Lemm )  :
https://www.youtube.com/channel/UCYGFBOHdYITHlsqa203Tu8Q

namida

#2 in WillLem's post is a great example of how SuperLemmini is kinda inconsistent. In some of these cases, it is reproducing actual Amiga behaviors despite them being blatant glitches - the steel thing being the obvious example. And yet #2 is a deviation from Amiga physics; as Amiga behaves the same way NL does in that case. The only other engine I can think of that doesn't, is Cheapo (edit: and Lix).

EDIT: (See below, further discussion reveals SL is consistent with Amiga, DOS, NL, etc on this 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)

Simon

#2, Diagonal downwards slipping through blocks: I call this checkerboarding. This is a wonderful source of endless debate: If lemmings walk into the side of a checkerboard, shall they move diagonally upwards or downwards?

I claim that SL and Lix have this right (upwards checkerboarding = no slipping downwards through diagonal cracks) and that L1 and NL (downwards checkerboarding) suffer from the human aftermath of putting the lemming's pin inside the walked land instead of into the air directly above the land.

Icho claims the opposite and considers it natural that the lemmings slip downwards through diagonal gaps.

-- Simon

Simon

#1 (builder-cancelling top edge) and #4 (steel is can of worms) are consistent with DOS and probably Amiga L1.

In L1, there is a magic builder-cancelling force field near the top edge. Slightly higher than that, walkers will turn if they ascend diagonal slopes. If you re-assign builder to force the lemming even higher, the lemming will get stuck in the top edge.

It's not easy to find good top edge behavior, nothing feels completely natural. Most of the L1 top edge behavior, still, I consider it weird or buggy. But if SL shall replicate Amiga physics, these several effects must be replicated in SL.

-- Simon

Proxima

Quote from: Simon on December 29, 2020, 06:58:43 PMIt's not easy to find good top edge behavior, nothing feels completely natural. Most of the L1 top edge behavior, still, I consider it weird or buggy. But if SL shall replicate Amiga physics, these several effects must be replicated in SL.

As I've said before, there's a big difference between the possible philosophies of "go with Amiga in edge cases where the various versions differ" and "be a replica of Amiga, glitches and all". It's never been made clear which of these is really SL's philosophy, partly because of Tsyu not being around much, partly because of other users conflating the two in discussions.

LanaAndCo

#6
Number 2 is actually a case of NeoLemmix Editor not converting the level properly (I did it hastily and without knowing how to use the new editor). In the original SuperLemmini version, the pixels aren't diagonally opposing each others, they are "glued" together, because lemmings do walk through diagonally opposite pixels. It's in fact while making this level that I learned about this and I didn't wanted the lemmings to die so early in the level because of an optical illusion of some sort.

Here's a screenshot of the SuperLemmini version :


And here's the NeoLemmix version :


It's kinda hard to see, so I changed the background colour for it to be easier but you still need to zoom a lot.

I don't know how the NeoLemmix Editor works when converting a SuperLemmini level to a NeoLemmix one, but my assumption is that it reorganise the tiles on a grid maybe? It's probably my fault too, since I never used the newer version of the NeoLemmix Editor. Sorry for all of this.

Simon

Quote from: LanaAndCo on December 29, 2020, 07:43:55 PM
Number 2 is actually a case of NeoLemmix Editor not converting the level properly
lemmings do walk through diagonally opposite pixels.

Excellent catch, thanks. In OP's SL screenshot, the blocks are barely glued.

I, too, assume that the editor will halve the SL coordinates and round to the NL integer grid, and the diagonal gap is an artifact of the rounding.

I edited my reply #3 with: SL has downwards checkerboarding, not upwards.

Quote from: Proxima
"go with Amiga in edge cases where the various versions differ" and "be a replica of Amiga, glitches and all". It's never been made clear which of these is really SL's philosophy, partly because of Tsyu not being around much, partly because of other users conflating the two in discussions.

Right. I conjecture that SL doesn't want to duplicate Amiga physics, otherwise SL's physics would be low-res. Even then, many of these cases are good old bug-or-feature decisions.

-- Simon

WillLem

#8
Quote from: LanaAndCo on December 29, 2020, 07:43:55 PM
Number 2 is actually a case of NeoLemmix Editor not converting the level properly (I did it hastily and without knowing how to use the new editor). In the original SuperLemmini version, the pixels aren't diagonally opposing each others, they are "glued" together, because lemmings do walk through diagonally opposite pixels. It's in fact while making this level that I learned about this and I didn't wanted the lemmings to die so early in the level because of an optical illusion of some sort.

Confirmed. Thanks for clarifying this, Lana! I double-checked (pun intended ;P) by creating the following:

Diagonally opposite pixel gap confirmation

So, the OP has been updated accordingly.

Quote from: LanaAndCo on December 29, 2020, 07:43:55 PM
I don't know how the NeoLemmix Editor works when converting a SuperLemmini level to a NeoLemmix one, but my assumption is that it reorganize the tiles on a grid maybe? It's probably my fault too, since I never used the newer version of the NeoLemmix Editor. Sorry for all of this.

No need to apologise at all, it's not your fault. The editor does handle things slightly differently when converting to NXLV, I noticed a few objects moved 1 pixel to the right during the Amiga Lemmings conversion project.

Also, your level has helped to clarify that SuperLemmini is, in fact, consistent with Amiga physics on this particular point, so thank you! :thumbsup:

WillLem

Quote from: Turrican on December 29, 2020, 06:22:07 PM
(1) In Superlemmini , a basher and a miner can cancel each other , if you time them correctly. This applies if the basher and the miner are facing at the opposite direction , and if they are facing at the same direction.
---
(2) Another trick: Do you have a lemming , that it needs to cross an area that has a 1-pixel gap at the floor? No problem! When it is at the edge of the 1-pixel gap , assign it a miner at the correct frame , and it will surpass it.
---
(3) Also in Superlemmini , a climber can surpass by climbing , objects like a "3 builder wall" for example.

Thanks for these suggestions, Turrican! I'm sure I'll be updating this topic periodically for quite a while, so feel free to mention any of these that you find as and when, it's all good.

I've confirmed 2 and 3 and added them to the OP. However, I can't seem to recreate the first of these (i.e. Bashers and Miners cancelling each other). If anyone has a replay which demonstrates this in action, I'd be grateful to see it.

Climbing past of a 3-builder "wall" is, again, another way in which SL is consistent with Amiga physics. I wonder whether the Miner/1px gap trick is also present in Amiga, but I can't think of a suitable level for testing it.

Turrican

Quote from: WillLem on December 30, 2020, 02:13:56 PM
However, I can't seem to recreate the first of these (i.e. Bashers and Miners cancelling each other). If anyone has a replay which demonstrates this in action, I'd be grateful to see it.

Both tricks are present in the replays of two of the levels that I have converted. These levels are
Spoiler
"Rush hour" by Tseug , and "The Isle of Skye" by Gronkling

Links for these two levels and their replays :

https://www.lemmingsforums.net/index.php?topic=5113.msg86502#msg86502

https://www.lemmingsforums.net/index.php?topic=5113.msg86643#msg86643
My Youtube channel ( Turrican Lemm )  :
https://www.youtube.com/channel/UCYGFBOHdYITHlsqa203Tu8Q

ericderkovits

Hi WillLem and Turrican,

I uploaded to Youtube 3 videos.

1) showing a climber climbs a 3 builder wall(from my Lemmings Reunion). This level requires a builder wall to be solved. I had to add another builder(to make a 4 builder wall), so level can be solved.
https://www.youtube.com/watch?v=nsqjzDSH-Jk

2) showing a climber WILL be STOPPED by a 4 builder wall
https://www.youtube.com/watch?v=VetJtU2iUhM

3) Miner and Basher BOTH STOPPED. From a level in Pimolems. The Miner and Basher STOPPED near exit. Thus I saved 1 over the requirement.
https://www.youtube.com/watch?v=NMJXv0S0aBQ

Turrican

Great job ericderkovits! :thumbsup:

We have eric's video now ,  that showcases the basher/miner cancel where both are facing at the same direction , so here is also , a video that showcases the basher/miner cancel where the lemmings are facing at the opposite direction ( from one of the levels that I have converted ) :

https://www.youtube.com/watch?v=06dKxkuwx48
My Youtube channel ( Turrican Lemm )  :
https://www.youtube.com/channel/UCYGFBOHdYITHlsqa203Tu8Q

WillLem

Thanks for the links, guys :thumbsup:

I've now added the Bashers & Miners trick to the OP. As far as I'm aware, it's not possible for these skills to mutually cancel each other in NeoLemmix.

I wonder how Icho created the mixed style level in Reunion...? Is it a "super style" which mixes all tiles from all sets? I was thinking of doing the same thing myself, but no need if it already exists!

I don't have Reunion for SuperLemmini yet, but I'll definitely be getting it after watching that vid! :lemcat:

ericderkovits

#14
RE: WillLem

Icho's mixed style is called EPIC. Icho used this style for the final levels of Reunion in each of the 4 5 ranks. I have all of Icho's styles in the 1.43 editor as well as for my Reunion Superlemmini Conversion. So if you have downloaded the Superlemmini 1.43 styles that I posted, you can make levels using this EPIC style for Superlemmini.