Descubren un bug en el primer juego de Lunar Lander, 55 años después
Historia del juego
- En 1969, un estudiante de secundaria llamado Jim Storer desarrolló el primer juego de Lunar Landing.
- Para 1973, este juego se había convertido en el juego de computadora más popular.
- El juego era un sencillo título basado en texto en el que el jugador controlaba un módulo de alunizaje e intentaba aterrizar consumiendo combustible.
Estrategia óptima de consumo de combustible
- Para aterrizar con la menor cantidad posible de combustible, hay que hacerlo en el menor tiempo posible.
- Al principio, se apaga el motor y se desciende a la máxima velocidad posible; luego, en el último momento, se quema combustible a máxima potencia para llevar la velocidad a 0.
- A esta estrategia se le llama "suicide burn", y es difícil acertar el momento exacto.
Simulación física
- A pesar de ser estudiante de secundaria, Jim Storer utilizó una simulación física muy sofisticada.
- Usó la ecuación del cohete de Tsiolkovsky y aprovechó la serie de Taylor de la función logarítmica para aumentar la precisión.
- Su padre era físico y lo ayudó a derivar las ecuaciones.
Problemas al aterrizar
- La ecuación del cohete funciona bien hasta justo antes de tocar el suelo.
- Es difícil calcular con precisión la colisión en el instante en que el módulo toca la superficie.
- En el código de Jim había una ecuación incorrecta que incluía una raíz cuadrada en el denominador.
Descubrimiento del bug
- En el código de Jim faltaba un 2 que debía estar en el denominador.
- Debido a esto, el momento del aterrizaje se calculaba mal y se interpretaba que el módulo no tocaba el suelo.
- Al corregir este bug, la velocidad de aterrizaje mejora significativamente.
Conclusión
- Fue un trabajo muy impresionante para un juego hecho en 1969 por un estudiante de secundaria.
- Este bug pasó desapercibido durante casi 55 años.
- El juego seguía siendo divertido y mucha gente lo disfrutó.
La opinión de GN⁺
- Valor histórico: Este juego tiene valor histórico como parte de los inicios de los juegos de computadora y muestra las limitaciones técnicas de la época.
- Valor educativo: Aunque fue hecho por un estudiante de secundaria, incluye conceptos complejos de física y matemáticas, por lo que tiene un gran valor educativo.
- Importancia del bug: Resalta la importancia del desarrollo de software al mostrar cómo un pequeño error en el código puede tener un gran impacto.
- Comparación con los juegos modernos: Ayuda a entender las limitaciones técnicas y la creatividad de aquella época en comparación con los juegos modernos.
- Avance tecnológico: A través de este juego se puede comparar el progreso tecnológico entre entonces y ahora, y explorar las posibilidades del futuro.
1 comentarios
Comentarios de Hacker News