Lemming Rules

Started by 0xdeadbeef, September 21, 2005, 04:48:25 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

0xdeadbeef

Hi there,

my progress towards a Java remake of Lemmings is slow but somehow constant and while I'm still quite far away from a fully working game, I'd say I have an alpha version now which is playable to some degree (sound, music, traps are working, lemmings can exit etc.)
I also have all the skills in, but there's lots of finetuning to be done, especially since I don't know exactly how some of the skills should work in certain situations.

So some questions to the lemmings experts:

1) A Walker is able to walk trough passages which are much lower than he is. How many pixels above the walker's feet have to be free to make him progress instead of stepping up or reflecting???

2) A Basher seems to stop bashing as soon as he can walk through the gap. On the other hand, he can bash even if he could continue walking, e.g. if we walks in a low passage. Is there anything known about the exact start/stop conditions for bashing?

3) About bricks with arrows on them:
It's clear that a basher can only bash in the same direction as the arrows, but what about miners? I spend some time experimenting with miners in "Island of the Wicker people" and under certain conditions I could mine through the arrows from the wrong side, under certain conditions I couldn't. However I'm not quite sure what the exact rules are.

4) Bricks with arrows and explosions:
When a lemming explodes near to a brick with an arrow on it, these bricks are obviously not removed, if the lemming is standing on steel. Any clue what is the rule here? Are the bricks with arrows not harmed if steel is found inside the explosion mask or is it enough if there's steel beneath the lemming's feet?

5) In levels like "Steel mines of Kessel" it looks like a Walker can walk through obstacles (plants) which are much higher than the altitude he could normally step up.
I would guess the reason is the obstacle's width. If it's small enough, it's obviously not accounted as obstacle.
Probably a second (or even more?) pixel is checked to see if this is a "real" obstacle. Any clues what the algorithm is here?

ccexplore

I can probably answer all your questions...but only in PM.

0xdeadbeef


Shvegait

Quote from: 0xdeadbeef  link=1127321305/0#0 date=11273213051) A Walker is able to walk trough passages which are much lower than he is. How many pixels above the walker's feet have to be free to make him progress instead of stepping up or reflecting???

(I'm not sure I understand the question 100%.) The lemming will fall/drop if there is not a pixel at the same level of his feet. If there is a pixel at the same level of his feet, then he will step up if the height of the pixels above his feet are between 0 and 6, and will reflect and turn backwards if the height is 7 or more pixels.

Ex:
   x         o
   x         x
ooox       oox
xxxo       xxx
   xx        xx

The lemming will fall through the cracks in the first example, and step up in the second. ("x" is the terrain. "o" is the lemming.)

Quote2) A Basher seems to stop bashing as soon as he can walk through the gap. On the other hand, he can bash even if he could continue walking, e.g. if we walks in a low passage. Is there anything known about the exact start/stop conditions for bashing?

I think it has to do with whether or not the basher would become a faller. If the decline is only a pixel or two, he won't, but if it is larger, then he'll stop bashing and will fall.

Quote3) About bricks with arrows on them:
It's clear that a basher can only bash in the same direction as the arrows, but what about miners? I spend some time experimenting with miners in "Island of the Wicker people" and under certain conditions I could mine through the arrows from the wrong side, under certain conditions I couldn't. However I'm not quite sure what the exact rules are.

This is almost certainly a bug in the original Lemmings. Certain one-way arrows (I forget which), act as the opposite way's one-way arrows for miners, but not for bashers. It's actually a pretty stupid bug, and I'd imagine that you'd more likely want to implement one-way walls how they should be logically.

Quote4) Bricks with arrows and explosions:
When a lemming explodes near to a brick with an arrow on it, these bricks are obviously not removed, if the lemming is standing on steel. Any clue what is the rule here? Are the bricks with arrows not harmed if steel is found inside the explosion mask or is it enough if there's steel beneath the lemming's feet?

The arrows are 100% irrelevant here. The only thing that matters is if there is a steel area underneath the bombers feet. Well, I'm not completely positive how falling bombers react vs. standing bombers, but in general, it has to do with steel at the foot of the lemming.

Quote5) In levels like "Steel mines of Kessel" it looks like a Walker can walk through obstacles (plants) which are much higher than the altitude he could normally step up.
I would guess the reason is the obstacle's width. If it's small enough, it's obviously not accounted as obstacle.
Probably a second (or even more?) pixel is checked to see if this is a "real" obstacle. Any clues what the algorithm is here?

Each pixel height is checked separately. Any terrain strictly ABOVE the lemming is completely irrelevant! Only the terrain in the next line matters.

The structure in question seems to be this:

x
x
xx
 xo
 xx
 ox
 xx
ox o
xx

Now, imagine the lemmings as just a single pixel that rests on the ground (denoted by the "o"). Move one space to the right. Is there ground at his feet? Yes. Then is the height 6 or fewer pixels? Yes. So move to the next space. Repeat, and you will see the lemming should be able to clear this obstacle.

Just remember to ignore pixels above the lemming and it will make sense. If you just treat lemmings as a single pixel and ignore their apparent size, most of the games rules will make more sense.


And, ccexplore I'm sure will give you more detailed answers than those.

ccexplore

Quote from: ccexplore (not logged in)  link=1127321305/0#1 date=1127321565I can probably answer all your questions...but only in PM.
Actually, let me state it more precisely:

"I can probably answer all your questions in PM, based on my understanding of the game mechanics in DOS."

In particular, since I don't have experience even playing the Windows version in hi-res, I don't know whether there might be difference related to the use of high resolution.  However, I do know that DOS, Amiga, SNES, Genesis, and likely the Mac all have very similar game mechanics, so it would behoove you to disregard anything aspect of game mechanics that's specific to the high-resolution Windows version.

This means as far as the game mechanic's concerned, the playing field's always 1600x160 (or 1664x160 in some cases).  The point being that in high-resolution, a "pixel" in the graphics sense is not the same as a "pixel" in the game-mechanics sense, the latter actually translating to a 2x2 block of graphics pixels.

I will now proceed to compose the PM, though I see Shvegait has already answered most of them.

ccexplore

Quote from: Shvegait  link=1127321305/0#3 date=1127323172This is almost certainly a bug in the original Lemmings. Certain one-way arrows (I forget which), act as the opposite way's one-way arrows for miners, but not for bashers. It's actually a pretty stupid bug, and I'd imagine that you'd more likely want to implement one-way walls how they should be logically.
This sounds rather dramatic.  Do you really mean to say there's a level where I can mine from the very top of a one-way wall with arrows pointing opposite to my mining direction?

Given 0xdeadbeef pointed to "Island of the Wicker People", I'm more inclined to think what he observed might have been just the bug I mentioned about how the one-way walls' trigger areas are actually shifted 4 pixels up, leaving the 4 bottom rows of pixels ineffective.  Then it would make sense that when you are mining near the bottom of the one-way wall it would have no effect.

0xdeadbeef

Quote from: Shvegait(I'm not sure I understand the question 100%.) The lemming will fall/drop if there is not a pixel at the same level of his feet. If there is a pixel at the same level of his feet, then he will step up if the height of the pixels above his feet are between 0 and 6, and will reflect and turn backwards if the height is 7 or more pixels.
Hm, I guess my mistake was to assume that the lemming should not be able to walk thorugh passages lower than themselves. This looked strange, but obviously this is correct.

Quote
I think it has to do with whether or not the basher would become a faller. If the decline is only a pixel or two, he won't, but if it is larger, then he'll stop bashing and will fall.
No, I talk about Basher converting to walkers as soon as they can walk out by stepping up. Then again they continue bashing if they could walk in a low passage. Maybe it's really the change in altitude at their foot level.
I'm not quite sure if a Basher can step down and continue bashing. Not so easy to examine this.


Quote
The arrows are 100% irrelevant here. The only thing that matters is if there is a steel area underneath the bombers feet. Well, I'm not completely positive how falling bombers react vs. standing bombers, but in general, it has to do with steel at the foot of the lemming.
Hm. Interesting. Maybe I focused too much on the arrows. But does this make sense? Why would an explosion leave bricks inside the explosion mask untouched just because the Lemming is standing on steel?

Quote
Each pixel height is checked separately. Any terrain strictly ABOVE the lemming is completely irrelevant! Only the terrain in the next line matters.
Yeah, I see. Indeed, this was my first implementation, but it looked to easy and felt strange.

Quote
Now, imagine the lemmings as just a single pixel that rests on the ground (denoted by the "o"). Move one space to the right. Is there ground at his feet? Yes. Then is the height 6 or fewer pixels? Yes. So move to the next space. Repeat, and you will see the lemming should be able to clear this obstacle.
Still I might have to check two pixels because of the doubled resolution. Indeed I also doubled the framerate to compensate for the increased resolution, so I move only one pixel per frame as in the original game, but I have twice as much frames per second. Thus some obstacles still can't be passed in hires that could be passed in lores I guess.

Quote
Just remember to ignore pixels above the lemming and it will make sense. If you just treat lemmings as a single pixel and ignore their apparent size, most of the games rules will make more sense.
At least the builder seems to consider pixels above the lemming (at least stair pixels), so I thought this would make sense. After investiagting the Amiga version, I now agree that the builder is probably a special case.


Shvegait

Quote from: ccexplore (not logged in)  link=1127321305/0#5 date=1127324185Given 0xdeadbeef pointed to "Island of the Wicker People", I'm more inclined to think what he observed might have been just the bug I mentioned about how the one-way walls' trigger areas are actually shifted 4 pixels up, leaving the 4 bottom rows of pixels ineffective.  Then it would make sense that when you are mining near the bottom of the one-way wall it would have no effect.

Oh, OK, yeah. I was just recalling something someone said a long while back. I'll try to look for that thread.

Quote from: ccexplore (not logged in)  link=1127321305/0#5 date=1127324185
This sounds rather dramatic.  Do you really mean to say there's a level where I can mine from the very top of a one-way wall with arrows pointing opposite to my mining direction?

Hmm. Well, try this. Edit "Island of the Wicker People" to change every left-pointing arrow to right-pointing arrows. Then try messing around. There is some glitch the lets you bypass the effect of the one-way wall if you're already inside of it or something... Further investigation is necessary  :???:

It's not all one-way arrows, yeah. I was recalling something incorrectly. For instance, "Upsidedown World" has properly working arrows facing the right. But climb up that first one-way obstacle, and dig into it around the center, and you'll be able to bash through the rest of it, even though you're facing the wrong way. (Edit: I think this has to do with intersection between two one-way walls.)

Edit: OK! Here is the glitch I think I was referring to, although it might seem unrelated. Try mining to the right on a one-way arrow wall to the right (you should be able to do this, right?) Well, in some cases, it won't let you, and you will turn around, as if the one-way wall were pointing to the left!

Edited 1 million times because I've been changing my mind :P

Proxima

Quote from: 0xdeadbeef  link=1127321305/0#6 date=1127325845No, I talk about Basher converting to walkers as soon as they can walk out by stepping up. Then again they continue bashing if they could walk in a low passage. Maybe it's really the change in altitude at their foot level.
A basher will continue bashing if he's FIVE or more pixels below the ground in front of him. Any fewer, and he steps up and resumes walking.

QuoteHm. Interesting. Maybe I focused too much on the arrows. But does this make sense? Why would an explosion leave bricks inside the explosion mask untouched just because the Lemming is standing on steel?
Because of how steel was handled in the original game. To save a lot of pain removing all pixels in the explosion mask and then replacing those that were steel, they just made it depend on whether the lemming is standing on steel. Try it and see: a lemming standing on steel can't explode any normal terrain next to him.

QuoteThus some obstacles still can't be passed in hires that could be passed in lores I guess.
Too damn right; look at "Steel Mines of Kessel" on the Mac, for a startling example.

0xdeadbeef

Quote from: Ahribar  link=1127321305/0#8 date=1127326963
A basher will continue bashing if he's FIVE or more pixels below the ground in front of him. Any fewer, and he steps up and resumes walking.
Is the start conditions also known? Obviously it's not the same condition as a Walker can be converted to a basher if there are pixels in front of him even if there are free pixels below them (small passage as explained above).
And what if the basher can step down? Will he continue bashing if e.g. the fall distance is 3 pixels or less (like a Walker would continue walking)?

Quote
Because of how steel was handled in the original game. To save a lot of pain removing all pixels in the explosion mask and then replacing those that were steel, they just made it depend on whether the lemming is standing on steel. Try it and see: a lemming standing on steel can't explode any normal terrain next to him.
This is strange if you consider how even animated objects like the exit in "Lost something?" are drawn on a by pixel check with the collision mask.
I wonder if I should adapt this strange behaviour as it seems to be more like a bug.
The only sense I see in this is that else "normal" terrain pixels behind a thin steel wall would be removed (if within the explosion mask) while the wall stayed.


ccexplore

Quote from: Ahribar  link=1127321305/0#8 date=1127326963
A basher will continue bashing if he's FIVE or more pixels below the ground in front of him. Any fewer, and he steps up and resumes walking.
Actually, this is only true for Cheapo.  In many other versions it's SIX not FIVE.

Basically, in most versions, when on flat ground if you dig down 6 pixels and then bash, he will continue bashing, whereas if you dig down only 5 pixels and then bash, he will stop after one stroke.

In Cheapo though the numbers are 5 and 4 respectively rather than 6 and 5.  I don't know about the Mac version.

Shvegait

Quote from: 0xdeadbeef  link=1127321305/0#9 date=1127328616And what if the basher can step down? Will he continue bashing if e.g. the fall distance is 3 pixels or less (like a Walker would continue walking)?

He does. Conway even made a level that requires this. Bashing down a slope.

QuoteThe only sense I see in this is that else "normal" terrain pixels behind a thin steel wall would be removed (if within the explosion mask) while the wall stayed.

Seems logical, but really there aren't any steel walls that are *that* thin for this to matter.

ccexplore

Quote from: 0xdeadbeef  link=1127321305/0#9 date=1127328616
Is the start conditions also known? Obviously it's not the same condition as a Walker can be converted to a basher if there are pixels in front of him even if there are free pixels below them (small passage as explained above).
Well, it's time to check your e-mail.

But in short, there is no "start condition".  The basher will always bash at least 1 stroke before quitting, even when there's nothing at all to bash.  Although the game does prevent you from assigning the basher in the first place if you're too close to steel (don't have the exact condition at hand at the moment).

QuoteAnd what if the basher can step down? Will he continue bashing if e.g. the fall distance is 3 pixels or less (like a Walker would continue walking)?
Check your e-mail, but it's 2 or less as Shvegait stated, and yes he will continue bashing.

I've actually seen this in action even on the regular, official Lemmings levels.  So it's not really too hard to verify at all.

QuoteThis is strange if you consider how even animated objects like the exit in "Lost something?" are drawn on a by pixel check with the collision mask.
Yes, but remember there can be up to 80 (or 100 in some versions) lemmings.  Whereas the number of interactive objects are much lower, not to mentioned that the interactive objects outside what's currently displayed can simply be not drawn.

QuoteI wonder if I should adapt this strange behaviour as it seems to be more like a bug.
I would consider it more of a bug.

But it's up to you.  The original Lemming's game mechanics certainly has its, um, weird points.  I think at last count there are at least a dozen or so of these "weird points".

Proxima

Quote from: ccexplore (not logged in)  link=1127321305/0#10 date=1127328774
Actually, this is only true for Cheapo.  In many other versions it's SIX not FIVE.
"Only" and "many" in that sentence contradict each other :P

In fact it's not only Cheapo; in the Mac it's also five (i.e. if a lemming walking on flat ground digs five pixels then bashes, he will continue bashing). I also checked the Genesis, which behaves as you described (you need to go down six pixels).

ccexplore

Interesting.  Then again, knowing that for example Tricky 15 requires 4 bombers on the Mac but only 3 on the PC, I guess this isn't totally surprising.

Now I really wish I either have a Mac or a Mac emulator.  The Mac version seems to be an interesting case where the levels and game mechanics are in essense the same as the more "official" versions (ie. PC & esp. Amiga), but have some difference in details here and there.