Screenshot of Lunar Lander clone game play, Jayson Ash Game Developer Studio, Sept 10, 2019
Lunar Lander is a classic game that was actually inspired by the NASA Apollo program. I made a clone that simulates the original pixelated graphics on the Atari console.
So let me dive into explaining how the game works: So far the game is only one level. This level randomly generated. This works great for testing and development. If I find a need for this project to grow I will add more levels. So the level consists of a lander, some terrain, and some landing pads. The object of the game is to safely land on the landing pads and reach the highest score. Using the arrow keys to control the lander, gently navigate to a landing pad of your choice. Touching the lunar surface will result in catastrophe so be careful. My version of the game includes some slightly different physics. I found the physics in the original to be too simple and uninteresting. The physics in my version allows for tilting the lander with the lateral thrusters. The left and right arrow keys activate the lateral thrusters. The up arrow activated the main thruster. The velocity display appears in the HUD (Heads Up Display) in the text overlay of the screen at the top. Excessive vertical or horizontal velocity is dangerous.
Lunar Lander Q & A
Why did you create this project?
I created this project because I wanted to create a simple game about space. I love the intrigue of space and what better game to explore space than with Lunar Lander?
What was the most interesting thing about creating this project?
The most interesting thing was adding a feature to the tool I created. This tool was for quick creation of pixelated assets that would display well on any screen. The new feature I added allowed for custom adjustments to parts of each graphic model. It would also execute arbitrary methods when adding any type of model piece. This new feature made it easy to add thrusters to the lander and make them point to correct direction. This was a small step toward advancing the tool to become more useful later on.
What part of this project was the most challenging?
Development of this project went very smooth. I would have to say adding a feature to my tool was the most challenging. This was due to the awkwardness of how arrays get defined in C#. The positions within the arrays were 90 degrees rotated from the intended display. This rotation offset required careful consideration during the model creation.
How did you design this project and why did you design it this way?
The first thing I designed was the lander model with the thrusters and player controls. Then I designed the terrain and incorporated the collision handling with the terrain. Then I added in the landing pads. Each item was quickly added in a crude fashion. The rapid development allowed for testing the mechanics of how the player controls. The control handling is the most important aspect. With the feel of the player controls polished up I could then focus on polishing the rest of the aspects of the game.
What features would you like to add to this project?
I would add a high score feature. This would allow for everyone playing the game to have their high scores shared with the world. Players could then compete for the highest score.