New unofficial online Lemmings game...

Started by bombsite, June 17, 2011, 09:35:34 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

finlay

http://www.lemmingsforums.com/index.php?topic=522.msg10785#msg10785">Quote from: DragonsLover on 2011-06-20 10:52:29
Quote from: bombsite
DragonsLover - I'm not sure what you mean when you say you got a builder to build through a builder's stair - were the two sets of stairs facing opposite directions?

Yes, it occured on "A ladder would be handy". I made a Lemming to builder over the pit on the bridge and when he turned back, I made him build again so that the top of the stair he was building would reach the top of the stair already built, but the Lemming stopped and turned around for no reason. When I made him to build again to cover the gap, he kept building through the stair.

Screenshots below.

Also, I got another bug with the climber on the same level : when he climbs on the wall at the right, he keeps climbing even when he reaches the middle step, making him to climb "in the air" until he reaches the top of the cliff. Screenshot below.
An explanation of the builder mechanics here will probably need to take into account the fact that the two areas on a lemming's body that the game checks to see whether it should turn back or not are its feet and its head. If a lemming approaches a block but doesn't hit its head or its feet, it shouldn't turn back. Lemmini has this bug too, annoyingly. And of course, whether the bricks touch other blocks is neither here nor there.

bombsite

http://www.lemmingsforums.com/index.php?topic=522.msg10785#msg10785">Quote from: DragonsLover on 2011-06-20 10:52:29
Quote from: bombsite
DragonsLover - I'm not sure what you mean when you say you got a builder to build through a builder's stair - were the two sets of stairs facing opposite directions?

Yes, it occured on "A ladder would be handy". I made a Lemming to builder over the pit on the bridge and when he turned back, I made him build again so that the top of the stair he was building would reach the top of the stair already built, but the Lemming stopped and turned around for no reason. When I made him to build again to cover the gap, he kept building through the stair.

Screenshots below.

Also, I got another bug with the climber on the same level : when he climbs on the wall at the right, he keeps climbing even when he reaches the middle step, making him to climb "in the air" until he reaches the top of the cliff. Screenshot below.
An explanation of the builder mechanics here will probably need to take into account the fact that the two areas on a lemming's body that the game checks to see whether it should turn back or not are its feet and its head. If a lemming approaches a block but doesn't hit its head or its feet, it shouldn't turn back. Lemmini has this bug too, annoyingly. And of course, whether the bricks touch other blocks is neither here nor there.

I think my problem was that I started off basing this on two inaccurate versions of Lemmings - DHTML Lemmings and Lemmings for Windows!  I've started basing it more on Lemmix now.

I've just made a few amendments which seems to make building work correctly.

Clam

The directional select seems to fail at times. I think this is because there's a slight delay between clicking the lemming and the skill getting assigned, so if the lemming turns around in that time it will perform the skill in the wrong direction. So when the lemmings are in a tight space and constantly turning around, directional select always fails.

And the splat start on "Steel Works" isn't splatting. Not that I'm complaining http://www.lemmingsforums.com/Smileys/lemmings/tongue.gif" alt=":P" title="Tongue" class="smiley" />

bombsite

http://www.lemmingsforums.com/index.php?topic=522.msg10791#msg10791">Quote from: Clam Spammer on 2011-06-21 01:03:38
The directional select seems to fail at times. I think this is because there's a slight delay between clicking the lemming and the skill getting assigned, so if the lemming turns around in that time it will perform the skill in the wrong direction. So when the lemmings are in a tight space and constantly turning around, directional select always fails.

I'll look into that... 

http://www.lemmingsforums.com/index.php?topic=522.msg10791#msg10791">Quote from: Clam Spammer on 2011-06-21 01:03:38
And the splat start on "Steel Works" isn't splatting. Not that I'm complaining http://www.lemmingsforums.com/Smileys/lemmings/tongue.gif" alt=":P" title="Tongue" class="smiley" />

That's another problem with it being originally based on the Windows version - Steel Works doesn't start with a splat!  Does anyone know what the correct fall distance is so I can fix this?

Clam

The safe fall distance in DOS is actually an enigma in itself. It's 60 pixels, but you gain another 3 if the lemming transitioned from walking to falling. It's probably safe enough to just make it 63. EDIT: not sure about that. You might have to replicate the "60+3" thing to cause splatting in "Steel Works", as well as making "We All Fall Down" behave the same as in DOS (where you can save diggers by making, say, every second lemming dig - if you just make the safe distance 60, every lemming has to dig or it will splat).

Since it's relevant to Mayhem 1, I should also mention that lemmings spawn 14 pixels down from the top of the entrance - in this case, the entrance is at the very top of the screen (y=0) and the lemmings enter at y=14. (AFAIK, the position of a lemming is considered as a single pixel, which when walking is in the row of pixels beneath its feet.) If you start them too low, then they still won't splat even if you change the safe fall distance.

bombsite

http://www.lemmingsforums.com/index.php?topic=522.msg10793#msg10793">Quote from: Clam Spammer on 2011-06-21 03:38:52
The safe fall distance in DOS is actually an enigma in itself. It's 60 pixels, but you gain another 3 if the lemming transitioned from walking to falling. It's probably safe enough to just make it 63. EDIT: not sure about that. You might have to replicate the "60+3" thing to cause splatting in "Steel Works", as well as making "We All Fall Down" behave the same as in DOS (where you can save diggers by making, say, every second lemming dig - if you just make the safe distance 60, every lemming has to dig or it will splat).

Since it's relevant to Mayhem 1, I should also mention that lemmings spawn 14 pixels down from the top of the entrance - in this case, the entrance is at the very top of the screen (y=0) and the lemmings enter at y=14. (AFAIK, the position of a lemming is considered as a single pixel, which when walking is in the row of pixels beneath its feet.) If you start them too low, then they still won't splat even if you change the safe fall distance.

OK, I had the fall distance right but the Lemmings were coming out of the exit in the wrong place!

What is the technique in 'We All Fall Down' to complete it by making only every other Lemming a digger?  I can achieve it in my version by setting release rate to 35, but this only works because the previous digger has decreased the fall distance.

Whilst testing this, I also fixed another bug which made the Lemmings release at a strange rate whilst pressing + or - to change the release rate.

Simon

Hey,

a nice game! Do you wish to replicate the L1 physics as exactly as possible? For that case, here's the physics oddities I found:
  • Fallers seem to be falling too slowly. They should fall at 3 low-res pixels per frame, it looks you have them fall at 2.
  • Floaters also fall too slowly, should be 2 low-res pixels per frame, currently is 1.
  • Freshly assigned diggers remove terrain below foot. This problem vanishes after their first cycle.
  • Explosion craters appear rather late.
  • Can't assign miner on a flat horizontal surface! It gets cancelled immediately.
  • Miner continues to mine without ground, and bottom of miner tunnel doesn't look like in Amiga/DOS L1.
  • Leftwards climbers appear to be inside the terrain by 1 low-res pixel, and when they fall, they appear to be away from the wall by 1 high-res pixel (unless I didn't observe it properly).
Also some nonphysics oddities:
  • I was annoyed by having to login to permanently unlock levels. Thus, I've just tested the practise levels, not some others with full skillsets. Logging in for highscores is fine, but the majority of any site's users will not bother to make accounts. You might consider opening everything from the start. For the logged-in users, you could mark levels which they've solved.
  • Selection priority. You always assign to the frontmost lemming. Instead, you want to assign to the lem who makes the most sense (User wants to assign to worker if the skill isn't the same, but to walker otherwise. Can't assign floater to a faller behind a floater atm.)
  • Skill panel selection sound plays on beginning of level.
  • Exits and waters won't appear when the level is first drawn to the screen. They'll only appear shortly after.
  • Slight usability issue: There's two buttons of interest on the results screen: Next, and Again. What do I hit if I want to return to the level selection? Trial and error necessary to find this out.
  • No priority invert with right mouse button, but I don't know whether that is implementable in a JS game at all. There is no level in L1 which needs it anyway.
-- Simon

bombsite

That seems to be the version that real Lemmings fans prefer, so yes I'm trying to replicate that as closely as possible.  The issue with explosion craters appearing late I think is due to the explosion hole graphic not being loaded in time (the same as the water and exit graphics sometimes not appearing straight away) - I'll look into this.  The 'hole making' functions all need a bit of work doing to them which is what I'm currently looking into.

You can unlock levels without logging in - it remembers you by an encoded version of your IP address.  What does anyone else think of allowing access to all levels without unlocking?

Re selection priority - does the original Lemmings do this?

Do you think the 'Next' button should be renamed 'Next/Change Level', or would you rather have an extra 'Level Select' button?

What does priority invert actually do?

Simon

Selection priority: Yes, Lemmings does this mostly well. It gets worse in Lemmings 2. The L1 behavior is generally expected, it feels naturally, and it's not very sophisticated both to implement or to use.

Priority invert in Lemmings simply excludes all workers from the check of what lem to assign to. The IMO best version, however, works as follows. Regular priority is A) workers first, then others (maybe with nuances based on the different skills), if two lems tie by this rule, then B) decide by proximity to the mouse curser, if two lems tie again, C) take first one to spawn. Inverted priority still checks A, then B, then C, but inverts the priorities inside A and C. Note that this may well be overkill, and that priority invert isn't of high priority to implement.

The Next button does it job very well, clarifying it by renaming should work.

-- Simon

bombsite

I've now amended it so that you can't target a Lemming if it is already performing the selected task.  I have also changed the Next Level link to say Next/Change Level.

DragonsLover

Blockers work veeeeeery weirdly on "There's a lot of them about" level. Lemmings are either trapped inside the Blockers or they turn back when they reach the blocker's arm on the other side or they simply pass through him like if he doesn't exist at all. It's just annoying to find the correct spot to avoid them to cause a bug and restart the level over and over again when it fails. http://www.lemmingsforums.com/Smileys/lemmings/angry.gif" alt=">:(" title="Angry" class="smiley" />
I like dragons! They're the center of my life! I'll never forget them...

bombsite

http://www.lemmingsforums.com/index.php?topic=522.msg10799#msg10799">Quote from: DragonsLover on 2011-06-21 09:49:39
Blockers work veeeeeery weirdly on "There's a lot of them about" level. Lemmings are either trapped inside the Blockers or they turn back when they reach the blocker's arm on the other side or they simply pass through him like if he doesn't exist at all. It's just annoying to find the correct spot to avoid them to cause a bug and restart the level over and over again when it fails. http://www.lemmingsforums.com/Smileys/lemmings/angry.gif" alt=">:(" title="Angry" class="smiley" />

That's now fixed.  I actually found whilst playing Lemmix on this level that if you place a blocker in a certain place of some of the peaks the other Lemmings just walk through them!

Clam

http://www.lemmingsforums.com/index.php?topic=522.msg10794#msg10794">Quote from: bombsite on 2011-06-21 05:14:50
What is the technique in 'We All Fall Down' to complete it by making only every other Lemming a digger?  I can achieve it in my version by setting release rate to 35, but this only works because the previous digger has decreased the fall distance.

That's exactly it. The digger reduces the height of the platform, so the next lemming can fall down safely without having to dig itself.


http://www.lemmingsforums.com/index.php?topic=522.msg10796#msg10796">Quote from: bombsite on 2011-06-21 06:24:27
You can unlock levels without logging in - it remembers you by an encoded version of your IP address.  What does anyone else think of allowing access to all levels without unlocking?

I was pleasantly surprised to find that I can carry on where I left off when I switch computers. Good call there http://www.lemmingsforums.com/Smileys/lemmings/thumbsup.gif" alt=":thumbsup:" title="Thumbs Up" class="smiley" />

I think it would be ok to have all levels unlocked from the start, since you can't get on the leaderboard unless you complete the level. Of course, as mentioned already, it would be better if you didn't have to login through Facebook.

Which brings up an obvious question that no one's asked yet: are you planning to add in the other 80 levels?

bombsite

http://www.lemmingsforums.com/index.php?topic=522.msg10801#msg10801">Quote from: Clam Spammer on 2011-06-21 15:48:39
I was pleasantly surprised to find that I can carry on where I left off when I switch computers. Good call there http://www.lemmingsforums.com/Smileys/lemmings/thumbsup.gif" alt=":thumbsup:" title="Thumbs Up" class="smiley" />

Yes, I find that useful too for making sure everything works the same on different computers!

http://www.lemmingsforums.com/index.php?topic=522.msg10801#msg10801">Quote from: Clam Spammer on 2011-06-21 15:48:39
I think it would be ok to have all levels unlocked from the start, since you can't get on the leaderboard unless you complete the level. Of course, as mentioned already, it would be better if you didn't have to login through Facebook.

I might add an option to add your name without logging into Facebook.  Would anyone consider logging in via other sites such as Twitter?  And why don't people like logging in through Facebook?  It doesn't post spam all over your friends walls like some FB games!

http://www.lemmingsforums.com/index.php?topic=522.msg10801#msg10801">Quote from: Clam Spammer on 2011-06-21 15:48:39
Which brings up an obvious question that no one's asked yet: are you planning to add in the other 80 levels?

Well, currently I'm using level data from DHTML Lemmings which only included 40 levels.  And I don't know if it's in the same format as the standard Lemmings level data (I doubt it).  Is there a guide anywhere detailing the data format/structure etc?

When I've got the game itself working properly, I also plan on adding a level editor/creator which would allow you to save your levels online and share with others.  http://www.lemmingsforums.com/Smileys/lemmings/smiley.gif" alt=":)" title="Smiley" class="smiley" />

finlay

Selection priority: Yes, Lemmings does this mostly well. It gets worse in Lemmings 2. The L1 behavior is generally expected, it feels naturally, and it's not very sophisticated both to implement or to use.

Priority invert in Lemmings simply excludes all workers from the check of what lem to assign to. The IMO best version, however, works as follows. Regular priority is A) workers first, then others (maybe with nuances based on the different skills), if two lems tie by this rule, then B) decide by proximity to the mouse curser, if two lems tie again, C) take first one to spawn. Inverted priority still checks A, then B, then C, but inverts the priorities inside A and C. Note that this may well be overkill, and that priority invert isn't of high priority to implement.

The Next button does it job very well, clarifying it by renaming should work.

-- Simon
It's last one to spawn, actually, and I don't think proximity to the mouse cursor is checked, because if two lemmings fall inside the mouse cursor square it is always the last one to spawn that is picked. Also, if the inverting priority (which IME actually just takes out the check for workers altogether) thing doesn't work with the right mouse button, it's worth noting that the Mac version, which was designed for one-buttoned mice, has you hold down a key like alt or control. This might work better with JS.