Ampliar / Ilustración del módulo de aterrizaje lunar Apolo Águila sobre la Luna. El viernes, un ingeniero de software retirado llamado Martin C. Martin anunció que recientemente descubrió un error en el código de física del juego de computadora Lunar Lander original mientras modificaba el software. Creado por un estudiante de secundaria de 17 años llamado Jim Storer en 1969, este juego primordial presentaba la acción solo como actualizaciones de estado de texto en un teletipo, pero sentó las bases para futuras versiones. El legendario juego, que Storer desarrolló en una minicomputadora PDP-8 en un lenguaje de programación llamado FOCAL pocos 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 juego Lunar Lander original, que entonces se conocía principalmente como un juego gráfico, gracias a la versión gráfica de 1974 y a un Atari de 1979. título arcade. Cuando descubrí que Storer creó la versión más antigua conocida como un juego de teletipo, lo entrevisté y escribí una historia del juego. Posteriormente, Storer publicó el código fuente del juego original, escrito en FOCAL, en su sitio web. Ampliar / Un escaneo de la salida de teletipo impresa del juego Lunar Lander original, proporcionada por Jim Storer.Jim Storer Avance rápido hasta 2024, cuando Martin, un experto en inteligencia artificial, desarrollador de juegos y ex asociado postdoctoral en el MIT, tropezó con un error en Storer. código de la escuela secundaria mientras exploraba lo que creía que era la estrategia óptima para aterrizar el módulo con la máxima eficiencia de combustible, una técnica conocida entre los entusiastas del Programa Espacial Kerbal como «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 Ampliar / Diagrama del sistema de escape de lanzamiento en la parte superior de la cápsula Apolo. 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 una expansión de la serie Taylor. 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 autor de Lunar Lander le dijo 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.