Author Topic: >80 Lemmings in Lemmix.  (Read 5311 times)

0 Members and 1 Guest are viewing this topic.

Offline namida

  • Administrator
  • Posts: 12398
    • View Profile
    • NeoLemmix Website
>80 Lemmings in Lemmix.
« on: November 10, 2013, 07:22:48 AM »
It's probably no secret by now that you can have more than 80. But what's the actual limit? I decided to do a bit of investigating.

Firstly, Lemmix will recognize ANY value (as long as it fits in the two bytes the level format allows for). You can have a level with 65535 lemmings if you want.

But how well does this work in practice? Well. At around 150 lemmings, Lemmix starts to lag when in fast forward mode. Around 400, it starts to lag even at normal speed - though it's not jerky at all, it just runs at a reduced framerate (the timer does indeed slow down proportionally, so it won't cause you to run out of time prematurely). I suspect this lag actually gradually increases with more lemmings rather than having a defined starting point, but for me, exactly 400 lemmings is when it first becomes noticable.

So if we're willing to put up with it running slow (or we have a supercomputer in our bedroom), what can Lemmix actually handle? Well, first thing to consider is the interaction with the time limit - a 9 minute level with release rate 99, the time would run out exactly as the 2283rd lemming comes out. But of course - unlike the DOS game, Lemmix can handle time limits of up to 99 minutes with no problem, and up to 255 minutes with only a minor graphical glitch (specifically, it'll only show the last two digits of the remaining minutes). It should be noted that by this point, Lemmix is running at about 4 FPS, and the only practical way to advance time is using the time skip by pushing spacebar.

After around half an hour (by the game clock), we're at about 8200 lemmings, and if we unpause the game, it runs at what appears to be less than a single frame per second. But we've already said that the practical limit lies at around 400 lemmings, beyond that it's just a matter of "screw practical, this is now just about what's physically possible".

After an hour by the game clock, we're just a few lemmings shy of 15300. At this point, even with the game paused and only using the spacebar's 10 second skip, lag is noticable - actually, this was true from about 10,000 lemmings or so. I guess that's to be expected when processing and drawing that many lemmings.

At about 65 minutes 20 seconds, we pass the 16384 lemmings mark. (Some of you may know why that number is significant.) Nothing notable happens - but there again, if anything's going to happen, the most likely point is 32768 (or even more so 65536, but that's one lemming more than the LVL format allows you to set).

After two hours by the game's clock, we're at about 30300 lemmings. About eight and a half minutes after that, we hit and pass 32768 without problems. Surprisingly, even at this point, the Lemmix player is only using about 13MB of memory according to Task Manager.

I think, short of running into memory issues (which is unlikely, given the low amount being used), this should go all the way to 65535 without problems (other than lag). I see no reason why any value inbetween is likely to cause problems.



So, are there any issues with having >80 lemmings, other than lag? The short answer is, there can be.

The long answer is, up to 100, there is no issues. Beyond this, think about the way the game gives you results - as a percentage. Now obviously, once you go past 100, each lemming is worth less than 1%, but the game only displays whole numbers. It WILL calculate correctly your percent and round it down as normal, but here's something important to consider - Lemmix does not compare the number of lemmings you've saved to the level's requirement, it compares the percentages. Say for example, if you create a level with 200 lemmings and set the requirement to 199, this will display as 99%. However, if you only save 198 lemmings, this will also display as 99% - and will indeed register as passing the level. Obviously, we can't say whether DOS works the same way (other than by reverse engineering it and looking at the actual mechanics, as opposed to experimentally) due to the 80 lemming limitation - possibly if some other platform that uses percentage can handle more than 100 lemmings (perhaps Amiga? None of the levels natively have >100, but what happens if you edit a level to have more?), you could try it...

The other consideration is of course, what a level editor will allow you to set. I haven't tried seeing what Lemmix or jLevelBuilder will allow, but LemEdit won't let you set more than 80 lemmings. Of course, this can be averted by using a hex editor, and perhaps if needed, Mindless's tools to compress them into a DAT file instead of using the editor's built in feature.

(Don't freak out guys, I'm not going to slip a 65535-lemming level into LP5. =P I will be using 100 rather than 80 as the general upper limit, and may exceed it for a couple of levels - but even those would be WELL under the 400 mark, probably around 200 or so at the most.)
My Lemmings 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)

Offline ccexplore

  • Posts: 5311
    • View Profile
Re: >80 Lemmings in Lemmix.
« Reply #1 on: November 10, 2013, 11:21:54 AM »
Obviously, we can't say whether DOS works the same way (other than by reverse engineering it and looking at the actual mechanics, as opposed to experimentally) due to the 80 lemming limitation - possibly if some other platform that uses percentage can handle more than 100 lemmings (perhaps Amiga? None of the levels natively have >100, but what happens if you edit a level to have more?), you could try it...

I know for a fact that Proxima has tried it on the Mac version creating a 120-lemming level, however I'm not sure he has done enough levels with more than 100 lemmings to tell you what actually happens with regards to above.

I can definitely reverse engineering the DOS version to answer, though maybe at a later time.  If I have to guess though, it is most probably percentage based given the nuke glitch.

Quote
The other consideration is of course, what a level editor will allow you to set. I haven't tried seeing what Lemmix or jLevelBuilder will allow, but LemEdit won't let you set more than 80 lemmings.

Lemmix sadly does not allow you to enter a value higher than 100, apparently.  jLevelBuilder you can just negotiate with LJLPM to support whatever value you want, within reason. ;P  It makes sense that LemEdit won't let you do more than 80, since the DOS game itself does not support it--it doesn't even set aside enough memory for more than 80 lemmings.  LemEdit was designed with CustLemm in mind as you may recall.

Quote
but even those would be WELL under the 400 mark, probably around 200 or so at the most.)

To be honest, even 200 I'm suspicious of how necessary it truly is to have so many lemmings in a level, but I will reserve judgment until I actually see such levels. :-\ I suppose together with a time limit you could potentially make a level truly necessary to have that many lemmings, or maybe if it's a Cascade-like level where you are actually forced to sacrifice most of the 200.

Offline namida

  • Administrator
  • Posts: 12398
    • View Profile
    • NeoLemmix Website
Re: >80 Lemmings in Lemmix.
« Reply #2 on: November 10, 2013, 12:21:33 PM »
The latter. Though I wouldn't say most - it's possible to get around 60% (requirement is 20%) fairly easily. My absolute record is 182 lemmings, which equates to 72% (and one lemming shy of 73%). I'm 100% sure that it's impossible to save any higher using *that* strategy, but I'm not ruling out the possibility of saving more using an entirely different approach (100% is definitely impossible, but I have an idea that should get 98%, with 3 lemmings lost).
My Lemmings 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)

Offline Proxima

  • Posts: 4562
    • View Profile
Re: >80 Lemmings in Lemmix.
« Reply #3 on: November 10, 2013, 01:12:14 PM »
I know for a fact that Proxima has tried it on the Mac version creating a 120-lemming level, however I'm not sure he has done enough levels with more than 100 lemmings to tell you what actually happens with regards to above.

The Mac version crashes if there are more than 120 lemmings on a level, and even below that, playing too many edited levels with more than 80 lemmings causes glitches on the level intro screen (but these don't affect playability).

Passing the level depends strictly on the number saved, so if a level requires 1/120 and you save 0, this is displayed as "You needed 0%, you saved 0%" and you don't pass the level.

On the subject of reasons for including a large number of lemmings, my Lix level "Charge of the Lix Brigade" has 600 lix, for obvious reasons, and also because it's fun to watch a fling-nuke with that many  :P

Offline ccexplore

  • Posts: 5311
    • View Profile
Re: >80 Lemmings in Lemmix.
« Reply #4 on: November 10, 2013, 01:58:24 PM »
Passing the level depends strictly on the number saved, so if a level requires 1/120 and you save 0, this is displayed as "You needed 0%, you saved 0%" and you don't pass the level.

Hmm, not sure that's good test though due to the 0?  If a level (with 100 or less lemmings) were set to require 0, does saving 0 actually let you pass the level, or would the game still fail you?  (I honestly don't even remember how the DOS version behaves in this regard.)

Offline namida

  • Administrator
  • Posts: 12398
    • View Profile
    • NeoLemmix Website
Re: >80 Lemmings in Lemmix.
« Reply #5 on: November 10, 2013, 02:53:36 PM »
DOS displays the saved-nothing message, but counts it as a pass.
My Lemmings 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)

Offline mobius

  • Posts: 2747
  • relax.
    • View Profile
Re: >80 Lemmings in Lemmix.
« Reply #6 on: November 11, 2013, 12:59:17 AM »
this was a fun read :D 65,000 lemmings...

besides what Proxima mentioned, I've played a few multiplayer lix levels with 200 or more. In those cases you lost lemmings rapidly so a hefty amount like this is almost necessary.

and I was happy to hear about a "LP5"  :) first I heard the news, sounds exciting.
everything by me: https://www.lemmingsforums.net/index.php?topic=5982.msg96035#msg96035

"Not knowing how near the truth is, we seek it far away."
-Hakuin Ekaku

"I have seen a heap of trouble in my life, and most of it has never come to pass" - Mark Twain


Offline namida

  • Administrator
  • Posts: 12398
    • View Profile
    • NeoLemmix Website
Re: >80 Lemmings in Lemmix.
« Reply #7 on: November 11, 2013, 01:33:30 AM »
Check the LP DOS Project topic, I've made a few posts (including some preview pics/videos) in there. =) I don't want to create a new topic until it's a bit further along.
My Lemmings 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)

Offline Clam

  • Posts: 2187
  • Smiley: :8():
    • View Profile
Re: >80 Lemmings in Lemmix.
« Reply #8 on: November 11, 2013, 06:24:12 AM »
Lix has the option of a one-per-frame spawn rate, which makes it much quicker to get your 999 lix out :). High lix counts work well for "party" type multiplayer levels, especially combined with the aforementioned fling-nuke. I recall one called "Organ Symphony" where you have hundreds of lix and only fling-bombers available :D

In singleplayer, my experience with high lemming counts (even with 80 in the original Lemmings) is that you run into things like:
- having to turn up the releaserate and wait, after you've already "solved" the puzzle - often made infinitely worse by time limits, and painful if your version doesn't have fast-forward
- a tightly compressed group, which is untidy and can be harmful if you have to pick a lemming out of there.

High rodent-counts can be done elegantly (geoo's "Recycling Plant" for example), but usually I find that less is more. IIRC the only level I've made with >100 lix is "Interval Training" with 400. That's solely a releaserate level, which isn't common.

60,000 is another league entirely of course. I imagine that means waiting several minutes at spawn-interval 1 with the hyper-fast-forward on, Sounds amusing at first, but... no thanks :P

Offline namida

  • Administrator
  • Posts: 12398
    • View Profile
    • NeoLemmix Website
Re: >80 Lemmings in Lemmix.
« Reply #9 on: November 11, 2013, 08:20:13 AM »
The latter. Though I wouldn't say most - it's possible to get around 60% (requirement is 20%) fairly easily. My absolute record is 182 lemmings, which equates to 72% (and one lemming shy of 73%). I'm 100% sure that it's impossible to save any higher using *that* strategy, but I'm not ruling out the possibility of saving more using an entirely different approach (100% is definitely impossible, but I have an idea that should get 98%, with 3 lemmings lost).

Disregard this, by adding a basher and minusing a builder, I was able to make the level much trickier - as well as now requiring 98%. =D This will probably call for moving it to a later position, though.

The level still has fairly valid reason for the high number of lemmings, though.
My Lemmings 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)

Offline Crane

  • Posts: 1079
    • View Profile
Re: >80 Lemmings in Lemmix.
« Reply #10 on: November 11, 2013, 10:54:03 AM »
I read somewhere that the original DOS Lemmings (and likely CustLemm by extension) will crash if you have more than 80 lemmings due to a buffer overrun and the game logic writing into memory it shouldn't be touching.

Offline namida

  • Administrator
  • Posts: 12398
    • View Profile
    • NeoLemmix Website
Re: >80 Lemmings in Lemmix.
« Reply #11 on: November 11, 2013, 10:58:53 AM »
Perhaps further up in this topic? =P

But, this topic is about in Lemmix.
My Lemmings 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)

Offline Clam

  • Posts: 2187
  • Smiley: :8():
    • View Profile
Re: >80 Lemmings in Lemmix.
« Reply #12 on: November 18, 2013, 05:43:54 AM »
IIRC the only level I've made with >100 lix is "Interval Training" with 400.

'IIRC' doesn't work so good when you haven't looked at your own levels in months :P Turns out I have a few 200s as well:

  • Lazy Gypsy Bums - the Lix count is effectively a time limit, so I set it really high
  • Dig This! - I added more Lix to keep them coming out for longer, avoiding a backroute
  • Globe of Death - this level is all flinging, so more lix = more chaos :)

Offline EricLang

  • Posts: 464
    • View Profile
Re: >80 Lemmings in Lemmix.
« Reply #13 on: November 18, 2013, 12:42:48 PM »
Interesting Lemmix stress-test :)
I will have a look at it.
I assume the level was assembled using other tools than Lemmix, because (as ccexplore writes) Lemmix does not allow more than 100 lemmings.

Offline namida

  • Administrator
  • Posts: 12398
    • View Profile
    • NeoLemmix Website
Re: >80 Lemmings in Lemmix.
« Reply #14 on: November 18, 2013, 08:20:34 PM »
LemEdit and a hex editor. The level wasn't specifically made for the purpose, I just used an existing level.

This was using the player, not the editor, but that shouldn't make a difference.
My Lemmings 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)