2 Punkte von GN⁺ 2024-06-15 | 1 Kommentare | Auf WhatsApp teilen

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

 
GN⁺ 2024-06-15
Hacker-News-Kommentare
  • Es wurde herausgefunden, dass Jim Storer der Autor des ersten Lunar-Lander-Spiels war, und mit ihm wurde ein Interview geführt. Danach erhielt man den Quellcode, was äußerst interessant war.
  • Storer hatte das Spiel nach seinem Highschool-Abschluss vergessen. Erst als er vor ein paar Monaten eine E-Mail erhielt, erfuhr er, dass es neben dem von ihm entwickelten Spiel noch andere Lunar-Lander-Spiele gab.
  • Beeindruckend ist, dass das Spiel 1969 von einem Highschool-Schüler entwickelt wurde. Auf technisch interessierte Menschen, die im Weltraumzeitalter aufwuchsen, dürfte es großen Einfluss gehabt haben.
  • Im Interview wurde erwähnt, dass Storer sehr gut in Analysis war. Wenn man sich für den Weltraum und Raketen interessiert, wäre es naheliegend gewesen, ein Lunar-Lander-Spiel zu programmieren.
  • Mitte der 1970er schrieb man ein Moon-Lander-Spiel auf Basis von 2D-Vektorgrafik. Wenn der Treibstoff knapp war oder man zu schnell war, stürzte man ab, andernfalls erschien die amerikanische Flagge.
  • Es wird bedauert, den Quellcode weggeworfen zu haben. Historisch gesehen war es ein frühes Grafikspiel und hätte mit einer einfachen Emulation wiederbelebt werden können.
  • Bis 1973 wurde Lunar Lander zum beliebtesten Computerspiel. Im ersten Programmierbuch versuchte man sich an diesem Spiel, scheiterte jedoch an vielen Bugs und komplexer Logik.
  • Es wird eine Strategie für treibstoffoptimierte Landungen vorgeschlagen. Beschrieben wird eine Methode, bei einem bestimmten Zeitpunkt geringen Schub einzusetzen, um sanft zu landen.
  • 1976 wurde dieses Spiel erstmals auf einem HP-25-Taschenrechner gespielt. Dabei wurde dieselbe Formel verwendet.
  • In den 1960er Jahren spielte man Spacewar auf dem PDP-1, aber es gab kein Lunar-Lander-Spiel. Storer war der Erste.
  • Es wird vorgeschlagen, keine spezielle Formel zu verwenden, sondern in jedem Frame Masse und Beschleunigung neu zu berechnen. Je niedriger die Framerate, desto ungenauer könnte es werden.
  • Mitte der 1970er spielte man eine nach Wang 2200 BASIC portierte Version des Spiels. Dabei lernte man die Technik, maximalen Schub einzusetzen.
  • Das Lochband für den PDP11 wird noch immer aufbewahrt. Man weiß nicht, wem man es geben soll.