Pandora NanoLemmings [Original Game]


Since 'dying in creative ways' is a Lemmings tradition, I have an odd twist idea...

What happens to the nano lemmings now when they die from a fall?  Disappear/fade/other?

How about they stick/squish - and stay.  The material build up becomes thicker as more 'bodies' pile up, gradually building up to where fresh falling lemmings don't squish - but instead bounce off the pile on random trajectories, preserving some largish percentage of their falling momentum.  Potentially splattering into a wall, roof, another floor, other - maybe surviving if they catch a ledge in the trajectory arc.

So - thousands of nano lemmings falling of of a ledge splat, build up, then start to fountain in all directions from the impact point, live sometimes, die and start building up surface most times, etc...
Nice idea, but it would require too much code changes. At the moment, there is no real physics: the lemmings don't have momentum and there is no real gravity, they just have a direction (left or right) and fall down one or two pixels if there's no floor below them. So bouncing off in random trajectories would require a lot of changes, and it would probably take some effort to optimize the code so that all of that can be computed fast enough for all of those nanolemmings.

Bodies piling up is easy to do, so maybe I'll do that. It changes the game quite a bit though, since any cliff can be survived if you can make a big enough pile. I would certainly have to make sure that the pile does not end up being just a 1 pixel wide tower.
Ahh - sorry,  didn't know that physics were out.  You're welcome to use or loose ideas of course.

For the pile...  how about crush depth.  Eventually if they pile up high enough they compress into 'dirt' at some ratio - maybe 10:1?

For the stack...

If the falling lemming encounters a dead lemming body:

1.  check down 1, left 1.  If unoccupied, falling lemming moves one column left and continues to fall.  else 2.

2.  check down 1, right 1.  If unoccupied, falling lemming moves one column right and continues to fall.  else 3.

3.  stack on top of dead lemming.  count stack.

4.  if stack is > 20 (or 50 or ?) dead lemmings tall, compress the bottom 5 or 10 (or so?) into dirt/carbon.

5.  if stack compressed, all dead lemmings above it fall again.

Which brings up the questions of whether lemmings can dig through a pile of dead lemmings or build from the top of the stack or if a pile of dead lemmings are too slippery to climb - and if you dig through a hole into a pile of dead lemmings do they fall/flow and flood a bit back into the hole and kill the workers that dug it?

Not wanting to complicate things - just brain storming weird and funny things that could happen if dead lemmings didn't just pop and fade.
 
The game is progressing nicely. I didn't get much coding done lately, but once the christmas holiday is over, I'll have more time because my daily work commutes start again.

mcobit is helping a lot with the pixel art, the help screens will look wonderful and the new toolbar he designed looks really nice in my opinion.

I want to use some of Dr. Awesome's Amiga mods from the late 1980's, early 1990's as background music, but I'm still waiting for a reply from him.

Now the main thing I need is levels. Where are the level designers?
 
i'm sorry the christmas period has been a little hectic, now things have settled down a little i can probably hopefully draw some of the levels i've got planned. Most of the week i'm looking after the kids but i get the occasional day off. any restrictions on the dimensions of the level images? format is .png right?
 
i'm sorry the christmas period has been a little hectic, now things have settled down a little i can probably hopefully draw some of the levels i've got planned. Most of the week i'm looking after the kids but i get the occasional day off. any restrictions on the dimensions of the level images? format is .png right?
There are no restrictions, and the format is png indeed. You need at least one png file per level, to serve as both the level terrain data and the visible graphics. Or you can use a different image for the graphics. You can optionally even have two layers of animated overlays where you can use full alpha pngs for each frame. The first layer goes below the lemmings and stairs, the second layer goes on top of everything.
 
I already added water before, but it was just a static terrain type that influenced the lemming's behavior (in particular, allows them to swim up, fall in it from great heights, and scatter/fall slowly).

Now in addition to that type of water, I also implemented "real" water. That is, from the point of view of lemmings, it's exactly the same as the old water, but the difference is that real water can flow. So for example, if you have a cup of water made out of diggable material, the lemmings can dig a hole in the cup and the water will flow out of the cup. It looks pretty cool.

Basically the "real" water is made out of particles that are simplified versions of nanolemmings. So you can't have too many of them or the game becomes too slow. Also, while it looks quite a bit like real water, there is no real physics behind it. So for instance, communicating vessels do not behave correctly.

I'm keeping the old type of water too, because it still has advantages. It has no computational cost, and it may be useful to have the option of having water floating freely in the air without falling down (this is impossible with "real" water since it has gravity).
 
Did you also implement a water source?
No, but that would be relatively easy to do. How should it work though? Just keep producing water, one particle per frame, as long as they can flow away?

Like I implemented it now, water never dies: if it hits the bottom of a level, it stays there. It only dies (evaporates) if it hits lava, but when that happens, the particle is still there, taking up memory and some time. So unlimited water production may not be a good idea for performance reasons.
 
What happens if a Lemming hits the bottom of a level? does it "fall into oblivion"? or walk across? The former allows you to have some precarious situations, and also gives you space to kill water particles. I'd also kill them if they flow off the sides of the screen too.

How configurable is your level? Is it just graphics, or do you have any meta-data? If you do, you could allow the designer to set the speed.

Also, If you put a water source at the bottom of a well, would your water level rise as more water is produced (think about the new particles spawning at the bottom of the pool, you could then make them rise until they are not colliding with another).

Heh, sounds pretty interesting to implement
 
Last edited by a moderator:
if you implement a water source could you do the same for lava too? this might have some interesting possibilities for levels.
 
What happens if a Lemming hits the bottom of a level? does it "fall into oblivion"? or walk across? The former allows you to have some precarious situations, and also gives you space to kill water particles. I'd also kill them if they flow off the sides of the screen too.


How configurable is your level? Is it just graphics, or do you have any meta-data? If you do, you could allow the designer to set the speed.


Also, If you put a water source at the bottom of a well, would your water level rise as more water is produced (think about the new particles spawning at the bottom of the pool, you could then make them rise until they are not colliding with another).


Heh, sounds pretty interesting to implement
If a Lemming hits the bottom (or any other edge of the map) it falls into oblivion with a scream and dies, just like in the original. If water hits the bottom, it just stops falling and "walks" across. This is intentional, so you can have water at the bottom of a level without having it fall off the map, while lemmings can still sink through it and die.

There is meta-data, e.g. for the number of lemmings to be saved, etc.

If the source would be at the bottom of a well, the water level wouldn't rise since water particles don't move up. It's the same problem with communicating vessels. To fix that is rather nontrivial. I want to keep the water particles very simple, and use only 32 bits to represent each particle: one bit for alive/dead, one bit for left/right, and 15 bits each for its x and y coordinates. There are no forces or anything like that, just a few simple game-of-life like rules.

if you implement a water source could you do the same for lava too? this might have some interesting possibilities for levels.
At the moment that is not possible since there is no "real" lava - only the static kind. I could implement real lava as well, but I don't think it offers that much possibilities since lemmings die on contact with lava, so you cannot have lemmings swimming around in a lava container like you can have with water. But maybe it could be turned into a more interesting game element if lava and water cancel eachother out (both the lava particle and the water particle die), so you may need to create a water stream that extinguishes a lava puddle that is in the way.
 
Last edited by a moderator:
if you implement a water source could you do the same for lava too? this might have some interesting possibilities for levels.
At the moment that is not possible since there is no "real" lava - only the static kind. I could implement real lava as well, but I don't think it offers that much possibilities since lemmings die on contact with lava, so you cannot have lemmings swimming around in a lava container like you can have with water. But maybe it could be turned into a more interesting game element if lava and water cancel eachother out (both the lava particle and the water particle die), so you may need to create a water stream that extinguishes a lava puddle that is in the way.
Sounds like a lot of work but it could be interesting. It was just an idea, was toying with the concept of certain areas gradually becoming completely impassable due to encroaching lava flow so you'd have to find an alternate route. Lava/Water interaction canceling eachother out seems like an interesting concept for the future, its something i hadn't considered. 
 
Last edited by a moderator:
I implemented real lava now, and made it so that when a lava particle and a water particle meet, they both disappear. Lava is just like water, only it falls more slowly (one pixel per frame, instead of two pixels per frame for water and lemmings).

I also implemented water and lava sources. They just spawn a particle one pixel below the source location if that pixel is air and the particle limit has not been reached. Because lava and water cannot climb, that means the water/lava level cannot be higher than the location of the source. You can have as many sources in a level as you want. The color for real water is #0000FF, fake water is #000088, real lava is #FFFF00, fake lava is #AAAA00, a water source is #8888FF, a lava source is #FFFF88. One pixel suffices to make a source, but if you want the source to flow more rapidly, you can just add more pixels. A one-pixel source produces one particle per frame (if it can flow unhindered), so 60 particles per second. When there are more than a few tens of thousands of particles, performance becomes an issue, so you have to keep that in mind when designing a level.

Like it is now, both lava and water can be contained with bridges (petrified lemmings). I think that offers the most interesting possibilities. E.g. you can make "tubes" by building a thick bridge connected to a water or lava reservoir, digging through the reservoir and hollowing out the tube with the digging tool. If it's lava, that's of course a suicide mission for the poor nanolemmings who have to dig through the reservoir and who are in the middle of the tube ;) .

So now you can have things like the destination being surrounded by lava, which you have to extinguish by redirecting a stream of water.
 
BTW, a little criticism. I didn't really realise how to change the level on my first play test.  I thought there was only one stage to play.

So maybe flash some arrows or something to make it obvious you can choose the level? :) (Or if it's written down somewhere please feel free to tell me to RTFM. ;) )
 
BTW, a little criticism. I didn't really realise how to change the level on my first play test.  I thought there was only one stage to play.

So maybe flash some arrows or something to make it obvious you can choose the level? :) (Or if it's written down somewhere please feel free to tell me to RTFM. ;) )
Hum, same for the kids, they didn't really at first.
 
I implemented real lava now, and made it so that when a lava particle and a water particle meet, they both disappear. Lava is just like water, only it falls more slowly (one pixel per frame, instead of two pixels per frame for water and lemmings).

...

So now you can have things like the destination being surrounded by lava, which you have to extinguish by redirecting a stream of water.
I really wasnt expecting this implemented any time soon, if at all, it was just a crazy thought i had. it will be interesting to see how this works in game.

Is there any way i can run my WIP levels through the pnd? it would be more convenient that running the tarball everytime.
 
I implemented real lava now, and made it so that when a lava particle and a water particle meet, they both disappear. Lava is just like water, only it falls more slowly (one pixel per frame, instead of two pixels per frame for water and lemmings).

...

So now you can have things like the destination being surrounded by lava, which you have to extinguish by redirecting a stream of water.
I really wasnt expecting this implemented any time soon, if at all, it was just a crazy thought i had. it will be interesting to see how this works in game.

Is there any way i can run my WIP levels through the pnd? it would be more convenient that running the tarball everytime.
Yes, by putting your files in appdata and an updating appdata/nanolemmings/maps/maplist.

BTW, a little criticism. I didn't really realise how to change the level on my first play test.  I thought there was only one stage to play.

So maybe flash some arrows or something to make it obvious you can choose the level? :) (Or if it's written down somewhere please feel free to tell me to RTFM. ;) )
Hum, same for the kids, they didn't really at first.
I still need to implement a decent menu. It will probably have guihints.
 
tried the alpha - I like it!! one small thing: maybe its unavoidable, but the lemmings seem to flicker a bit as they move...
 
Back
Top