Remember Lunar Lander? One of the very first arcade games ever? Well, actually, if I’m honest I don’t really remember it when it came out in 1979 (I was only 7 at the time), but I do think it’s a very, very cool game.

For starters, the display didn’t use scan lines like a normal telly, instead, the cathode ray moves around to make shapes, the same way that laseriums used to make pictures with lasers. (If you don’t remember the 80s you’ll probably have no idea what I’m talking about).
Secondly, it’s actually very, very difficult. So you feel a real sense of achievement when you actually land the thing safely! I was actually lucky enough to see an original vector based arcade cabinet, and the thing that immediately strikes you is how bright the screen is, and how beautiful those glowing lines are.
Sadly, Lunar Lander had a fairly limited life when it came out. It was quickly superceded by perhaps the most famous vector game ever, Asteroids. In fact most of the early Lunar Landers had their insides unceremoniously ripped out and were converted to Asteroids cabinets, so they’re pretty rare now.
A few years ago, as a tribute to the early pioneers of arcade gaming, I decided to recreate Lunar Lander in Flash, with painstaking attention to detail and accuracy! And what did I do to celebrate this great achievement? Did I shout about it from the rooftops? Did I post it on the internet for everyone to share and enjoy? Did I write a blog post about it? Well actually no, I just sat on it and it’s been laying there burning a hole on my hard drive all this time.
But don’t worry, you can now play this online here to your heart’s content. Use left and right arrows, and up arrow to thrust. It’ll take a little effort to get used to, but that’s half the joy.
But that’s not what this post is about. A local Brighton geek group, £5App decided to run a 5KApp competition, where you could submit any program that was 5120 bytes or less. And you were allowed to use Flash, so I got going to see how if I could make a Lunar Lander clone within the file size limit.
I’d worked out how to use Perlin noise to create a 2D landscape and got pretty much all of the physics and collision detection working, but I’d only used about 3K.
So to make it a bit more interesting, I decided to add 3D! To create the landscape I used the same Perlin noise image to store all the data, and drew the landscape in strips from back to front, with a very basic 3D to 2D formula, and before I knew it I had 3D Lunar Lander!
My final submission was 5118 bytes, only 2 bytes under the limit! Interestingly, swfs seem to fluctuate by a few bytes every time you publish them. (My theory is that it embeds the time and date?). The one I’ve posted here on the site is exactly 5120 bytes!
Lunar Lander 3D from Plug-in Media on Vimeo.
Just like the original, it’s very, very difficult, use the arrow keys to move left, right, forward and back, and the space bar thrusts. Look out for flat landing pads of 4 lines, and head towards them. You need to go in really close, and you’ll know you’re over it as the land turns white when you’re directly over it. And you need to land right in the middle of the 4 lines, and very, very gently! See the playthrough video if you need more help.
Despite some stiff competition from the Brighton geek community, this was voted the winner! And the prize was exactly 5120 pence. So I went and bought everyone a drink with it.
It’s actually been really fun, and it’s given me a lot of ideas for future projects. I’ll post up the source with a bit of explanation soon, but for now you can play the game here.
[UPDATE] There’s now an even cooler version of MoonLander3D especially for the 40th anniversary of the Apollo 11 moon landing. Read all about it here.
Related posts:





I’ll post up the source with a bit of explanation soon
Any chance we can get our hands on it?
Cheers
@SenatorPalpatine what would the fun be if you had unlimited fuel?
You’re right though, I should make it so that you get fuel for a successful landing.
@Neil good point! Maybe I’ll do it in time for the 40th anniversary of the Apollo moon landing
Pingback: Apollo 11 40th anniversary edition of MoonLander3D | Seb Lee-Delisle
Nice work! Does it have a MacDonald’s stand buried in it somewhere (haven’t found it yet).
Still remember playing this on a PDP-11 back in the day. Managed to destroy a few MacDonald stands – never did land next to one.
Would love you to port the original game over to use on the new palm pre. Would be great to use the accelerometer
to control the left right and possibly the thrust as well!
If you don’t want to port it, would you be averse to releasing the source code?
The original came out way before 1979 – I was playing it in college in 1970-71. Maybe the original came out in 1969? Marvelous job of duplication, absolutely marvelous. In the original, you had some control over gravity levels and speed at time of opening, I forget details, tho.
Super, thx.
Hi Seb
I can see you are already getting a lot of praise for the programming
I would just like to add my own to the HEAP (if you will forgive the
pun) – it really is an excellent rendition of the original arcade game I
used to play back in the early 80s made by Atari.
I think that entertainment aside programming needs to be dual
purpose – it needs to be fun and it needs to have an educational
element as well.
The US has always been a world leader in software development and
has contributed greatly (in unexpected ways [Kernigam and Ritchie
at AT & T developed Unix out of a game called Space Travel] and the
ways can lead to and open up truly amazing landscapes for other
applications. So I think your creation or duplication – whatever you
want to take is as inspirational as it is elegant.
Bye
nice version. the original had an abort button that would upright the lander and engage a full burn for 10 seconds or so and put you far above the moon. you should consider adding it.
Pingback: The Grego » Flash and the City 2010
Pingback: Games | BlogMonkey
Great job! I remember this game from American arcades in the 70s. Always sucked at it. Here’s my chance to improve my skills without blowing all my allowance. Thanks!
Hi Seb,
Just to add my congratulations for the construction of a great tribute to the Lunar Lander classic that was in the arcades when I was a kid.
As an added bonus for some reason my work’s firewalls don’t identify it as a game so I can play it with impunity on my breaks
The original game was hard, but the chunky throttle lever really set the game apart from its rivals. Next up see if you can recreate the Battlezone tank combat game…
Once again, thanks for a great trip down memory lane.
Your swf doesn’t play in a debug player:
VerifyError: Error #1033: Cpool entry 88 is wrong type.
ReferenceError: Error #1065: Variable MainTimeline is not defined.
I found the same problem