Entdeckung eines 55 Jahre alten Bugs im ersten Lunar-Lander-Spiel
Geschichte des Spiels
- 1969 entwickelte der Highschool-Schüler Jim Storer das erste Lunar-Landing-Spiel.
- Bis 1973 wurde dieses Spiel zum beliebtesten Computerspiel.
- Das Spiel war ein einfaches textbasiertes Spiel, in dem die Spieler eine Mondlandefähre steuern, Treibstoff verbrauchen und eine Landung versuchen.
Optimale Strategie für den Treibstoffverbrauch
- Um mit möglichst wenig Treibstoff zu landen, muss man in möglichst kurzer Zeit landen.
- Anfangs schaltet man den Motor aus und sinkt mit maximaler Geschwindigkeit, um dann im letzten Moment mit voller Leistung Treibstoff zu verbrennen und die Geschwindigkeit auf 0 zu bringen.
- Diese Strategie wird als „Suicide Burn“ bezeichnet und ist schwer richtig zu timen.
Physiksimulation
- Obwohl Jim Storer noch Schüler war, verwendete er eine sehr ausgefeilte Physiksimulation.
- Er nutzte die Tsiolkovsky-Raketengleichung und erhöhte die Genauigkeit mithilfe der Taylor-Reihe der Logarithmusfunktion.
- Sein Vater war Physiker und half bei der Herleitung der Gleichungen.
Probleme bei der Landung
- Die Raketengleichung funktioniert gut, solange der Boden noch nicht erreicht ist.
- Es ist schwierig, den Aufprall in dem Moment, in dem die Landefähre den Boden berührt, exakt zu berechnen.
- In Jims Code gab es eine fehlerhafte Gleichung, deren Nenner eine Quadratwurzel enthielt.
Entdeckung des Bugs
- In Jims Code fehlte die 2, die im Nenner stehen sollte.
- Dadurch wurde der Zeitpunkt der Landung falsch berechnet, sodass das System annahm, die Landefähre habe den Boden nicht berührt.
- Wenn man diesen Bug behebt, verbessert sich die Landegeschwindigkeit deutlich.
Fazit
- Für ein Spiel, das 1969 von einem Highschool-Schüler entwickelt wurde, war das eine äußerst beeindruckende Leistung.
- Dieser Bug blieb fast 55 Jahre lang unentdeckt.
- Das Spiel machte weiterhin Spaß und wurde von vielen Menschen gern gespielt.
Meinung von GN⁺
- Historischer Wert: Dieses Spiel besitzt historischen Wert als Teil der frühen Computerspielgeschichte und zeigt die technischen Grenzen der damaligen Zeit.
- Pädagogischer Wert: Obwohl es von einem Schüler entwickelt wurde, enthält das Spiel komplexe Konzepte aus Physik und Mathematik und hat daher einen hohen Bildungswert.
- Bedeutung des Bugs: Es unterstreicht die Bedeutung der Softwareentwicklung, dass ein kleiner Codefehler große Auswirkungen haben kann.
- Vergleich mit modernen Spielen: Im Vergleich zu modernen Spielen hilft es, die technischen Beschränkungen und die Kreativität jener Zeit besser zu verstehen.
- Technologischer Fortschritt: Anhand dieses Spiels lassen sich der technische Fortschritt damals und heute vergleichen und zukünftige Möglichkeiten ausloten.
1 Kommentare
Hacker-News-Kommentare