Hero coder finds bug in Lunar Lander after 55 years
Martin C. Martin discovered a 55-year-old bug in the "Lunar Landing Game," which miscalculated landings due to a missing "divide by two" in the code, showcasing early programming complexities.
Read original articleA retired software engineer, Martin C. Martin, discovered a long-standing bug in the "Lunar Landing Game," originally coded by Jim Storer in 1969. The game simulates the landing of a lunar module, requiring players to manage fuel and descent speed. Martin, while exploring the game's code, found that a missing "divide by two" in the calculations led to the game incorrectly registering successful landings. This bug had persisted for 55 years, despite the game's popularity as a programming challenge. Martin noted the game's sophisticated physics, which included the Tsiolkovsky rocket equation and a Taylor series expansion, showcasing Storer's advanced understanding of mathematics for a high school student at the time. The bug's impact was significant; it caused the game to miscalculate landing times, resulting in players being told they could improve their landing even when they had achieved a near-perfect descent. Martin's analysis revealed that the game's logic underestimated the time to the lowest point of descent, leading to discrepancies in landing outcomes. Despite fixing the bug, Martin acknowledged that some optimal landing strategies remain elusive. He praised the game's complexity and the fun it provided, suggesting that many players were content to enjoy the challenge rather than seek out the underlying issues. The discovery highlights the enduring legacy of early computer games and the intricate programming that often went unnoticed.
Related
Electromechanical Lunar Lander
The author created an electromechanical Lunar Lander game in 2016 for an interactive show. It replicated arcade mechanics with a kickball moon surface, controlled spaceship, and shared project code.
Total Annihilation Graphics Engine (2012)
The article details Jon Mavor's work on Total Annihilation's graphics engine, overcoming hardware limitations and implementing optimizations like caching units as sprites and improving image quality. Mavor's dedication and technical insights are well-received.
Whose bug is this anyway?? (2012)
Patrick Wyatt shares bug experiences from game development, including issues in StarCraft and Guild Wars. Compiler problems caused bugs, emphasizing the need for consistent tools and work-life balance in development.
HAMURABI.BAS and Its Dystopian Lessons
The article explores the game HAMURABI.BAS from 1973, highlighting financial and political lessons. Strategies involve resource management, disaster response, and controlled starvation for wealth. Automated testing led to a 99% win rate, emphasizing wise investments and strategic decisions in the game.
Whose bug is this anyway? (2012)
Patrick Wyatt shares experiences with critical bugs in StarCraft and Guild Wars games. Compiler issues caused incorrect code generation and server crashes, emphasizing the importance of consistent tool versions for stable game development.
Related
Electromechanical Lunar Lander
The author created an electromechanical Lunar Lander game in 2016 for an interactive show. It replicated arcade mechanics with a kickball moon surface, controlled spaceship, and shared project code.
Total Annihilation Graphics Engine (2012)
The article details Jon Mavor's work on Total Annihilation's graphics engine, overcoming hardware limitations and implementing optimizations like caching units as sprites and improving image quality. Mavor's dedication and technical insights are well-received.
Whose bug is this anyway?? (2012)
Patrick Wyatt shares bug experiences from game development, including issues in StarCraft and Guild Wars. Compiler problems caused bugs, emphasizing the need for consistent tools and work-life balance in development.
HAMURABI.BAS and Its Dystopian Lessons
The article explores the game HAMURABI.BAS from 1973, highlighting financial and political lessons. Strategies involve resource management, disaster response, and controlled starvation for wealth. Automated testing led to a 99% win rate, emphasizing wise investments and strategic decisions in the game.
Whose bug is this anyway? (2012)
Patrick Wyatt shares experiences with critical bugs in StarCraft and Guild Wars games. Compiler issues caused incorrect code generation and server crashes, emphasizing the importance of consistent tool versions for stable game development.