
Un ingeniero jubilado descubre un error de hace 55 años en el código del juego de computadora Lunar Lander


El viernes, un ingeniero de software jubilado llamado Martin C. Martin Anunciado que recientemente descubrió un error en el original Módulo de aterrizaje lunar código de física del juego de ordenador mientras jugueteas con el software. Creado por un Estudiante de secundaria de 17 años llamado Jim Storer
El legendario juego, que Storer desarrolló en un PDP-8 minicomputadora en un lenguaje de programación llamado FOCAL apenas unos meses después de que Neil Armstrong y Buzz Aldrin hicieran sus históricos paseos lunares, permite a los jugadores controlar el descenso de un módulo lunar a la superficie de la Luna. Los jugadores deben administrar cuidadosamente su uso de combustible para lograr un aterrizaje suave, tomando decisiones críticas cada diez segundos para quemar la cantidad correcta de combustible.
En 2009, poco antes del 40 aniversario del primer alunizaje, me propuse encontrar al autor del libro original. Módulo de aterrizaje lunar juego, que entonces se conocía principalmente como un juego gráfico, gracias a la versión gráfica desde 1974 y un Título arcade de Atari de 1979. Cuando descubrí que Storer había creado la versión más antigua conocida como un juego de teletipo, lo entrevisté y escribí una historia del juego. Almacenar más tarde lanzó el código fuente al juego original, escrito en FOCAL, en su sitio web.
Jim Storer
Un avance rápido hasta 2024, cuando Martin, un experto en inteligencia artificial, desarrollador de juegos y ex asociado postdoctoral en el ., tropezó con un error en el código de la escuela secundaria de Storer mientras exploraba lo que creía que era la estrategia óptima para aterrizar el módulo con la máxima eficiencia de combustible: un técnica conocida entre Programa espacial Kerbal entusiastas como la “quemadura suicida”. Este método implica caer libremente para ganar velocidad y luego encender los motores en el último momento posible para reducir la velocidad lo suficiente como para aterrizar de forma segura. También intentó otro método: un aterrizaje más suave.
“Recientemente exploré el programa óptimo de consumo de combustible para aterrizar lo más suavemente posible y con el máximo de combustible restante”, escribió Martin en su blog. “Sorprendentemente, la mejor estrategia teórica no funcionó. El juego piensa erróneamente que el módulo de aterrizaje no aterriza en la superficie cuando en realidad sí lo hace. Al profundizar, me sorprendió la física sofisticada y la computación numérica del juego. Finalmente Encontré un error: faltaba una ‘división entre dos’ que aparentemente había pasado desapercibida durante casi 55 años”.
Una cuestión de división

NASA
A pesar de aplicar lo que debería haber sido una estrategia de aterrizaje de libro de texto, Martin descubrió que el juego informaba de manera inconsistente que el módulo de aterrizaje no había tocado la superficie de la Luna por completo. Intrigado por la anomalía, Martin indagó en el código fuente del juego y descubrió que el algoritmo de aterrizaje se basaba en física muy sofisticada para su época, incluida la Ecuación del cohete Tsiolkovsky y un serie de taylor expansión.
Como se menciona en la cita anterior, la raíz del problema fue un simple descuido computacional: faltaba una división por dos en la fórmula utilizada para calcular la trayectoria del módulo de aterrizaje. Este error aparentemente menor tuvo grandes consecuencias, provocando que la simulación subestimara el tiempo hasta que el módulo de aterrizaje alcanzara su punto más bajo de trayectoria y calculara mal el aterrizaje.
A pesar del error, Martin quedó impresionado de que Storer, entonces estudiante de último año de secundaria, lograra incorporar conceptos matemáticos avanzados en su juego, una hazaña que sigue siendo impresionante incluso para los estándares actuales. Martin contactó al propio Storer y el Módulo de aterrizaje lunar El autor le dijo a Martin que su padre era un físico que lo ayudó a derivar las ecuaciones utilizadas en la simulación del juego.
Si bien la gente jugó y disfrutó el juego de Storer durante años con el error implementado, esto demuestra que el realismo no siempre es la parte más importante de una experiencia interactiva convincente. Y afortunadamente para Aldrin y Armstrong, la verdadera experiencia del aterrizaje lunar del Apolo no sufrió el mismo problema.
Puede leer más sobre la emocionante aventura de depuración de Martin en su blog.