Lunar Lander is a genre of video games loosely based on the 1969 landing of the Apollo Lunar Module on the Moon. In Lunar Lander games, players control a spacecraft as it falls toward the surface of the Moon or other astronomical body, using thrusters to slow the ship's descent and control its horizontal motion to reach a safe landing area. Crashing into obstacles, hitting the surface at too high a velocity, or running out of fuel all result in failure. In some games in the genre, the ship's orientation must be adjusted as well as its horizontal and vertical velocities.
The first Lunar Lander game was a text-based game published under many names, including the Lunar Landing Game, written in the FOCAL programming language for the Digital Equipment Corporation (DEC) PDP-8 minicomputer by Jim Storer while a high school student in the fall of 1969. Several other versions were written soon after by other programmers in FOCAL and BASIC. The original Lunar Landing Game was converted to BASIC by David H. Ahl, who included three versions in his 1973 book 101 BASIC Computer Games. By the end of the decade, the type of game was collectively known as a "lunar lander" game.
When I started to learn Kotlin and how to work with Jetpack Compose, I needed some small project to work on and try all the things hands-on. I was inspired exactly by this conversion to BASIC by David H. Ahl, rewrote the algorithm written in BASIC to Kotlin and added a user interface and some small things around (e.g., High Score table). The goal was to keep the whole game as much the same as the original, similar like I did in my previous port of Hammurabi to Android.
This game is designed with the best intentions and needs very limited set of permissions. However, the application is provided as it is, you acknowledge that it can contain bugs. The author is neither responsible for any damage or loss, whether direct, consequential, incidental, or special which user suffers arising from any defect, error or fault of the application or its failure to perform, even if author has been advised of the possibility of such defect, error, fault, or failure. In any event, author's total aggregate liability to you for all damages of every kind and type (regardless of whether based in contract or tort) shall not exceed $0.00. In the case that applicable law may not allow the limitation or exclusion of liability or incidental or consequential damages, the above limitation or exclusion may not apply to you, although author's liability will be limited to the fullest extent permitted by applicable law.
Have fun and enjoy the game