Lunar Lander

A lunar lander game that I wrote from scratch in HTML, CSS, and JavaScript. It has a random terrain generator and a physics and collision simulator that I wrote.

When
2018
Status
Playable
  • JavaScript
  • HTML Canvas
  • CSS
Click the game first so it picks up your keyboard. · Open full screen

About the game

I did this project because I wanted to be capable of doing web design, and I wanted to make my own physics simulator. I loved both elements of this. While the game is a little rough around the edges, learning how to generate random terrain and write my own collider so that the rover would be able to land were difficult challenges, and I learned a lot.

Interestingly, I think the most difficult part of this was the physics I had to teach myself. The web development itself was actually simpler than I had anticipated. However, understanding how to write a collider that introduced displacement and torque forces was a significant challenge, and I was introduced to the Dirac delta function while modeling collision forces. Now, if I rewrote this engine, it would work much better (and I would approach it far differently), but it was a great learning experience.