L’ingegnere informatico in pensione Martin K. Martin ha recentemente scoperto un bug nel codice di elaborazione del leggendario gioco per computer “Lunar Lander”, creato nel 1969.
Il gioco consiste nel far atterrare un modulo lunare sulla superficie della Luna. La scoperta è stata fatta mentre studiava la strategia ottimale per l’atterraggio del modulo con il massimo risparmio di carburante.
La prima versione del gioco “Lunar Lander” (dall’inglese “Lunar Module”) è stata scritta dal diciassettenne Jim Storer su un minicomputer PDP-8 utilizzando il linguaggio di programmazione FOCAL. Il testo del gioco mostrava solo gli aggiornamenti di stato relativi alla posizione del modulo lunare durante l’atterraggio sulla superficie lunare. I giocatori dovevano gestire attentamente il consumo di carburante per garantire un atterraggio morbido, prendendo decisioni critiche ogni 10 secondi sulla quantità di carburante bruciato.
Questo gioco primitivo ha aperto la strada alle versioni future. Una versione grafica apparve nel 1974 e un gioco arcade di Atari nel 1979, grazie al quale “Lunar Lander” divenne ampiamente noto. Per il 40° anniversario del primo sbarco dell’uomo sulla Luna nel 2009, un appassionato ha trovato l’autore del gioco originale, Jim Storer, lo ha intervistato e ha raccontato la storia della creazione di Lunar Lander. Storer ha successivamente pubblicato il codice sorgente del gioco sul suo sito web.
Dopo aver analizzato il codice nel 2024, l’esperto di intelligenza artificiale ed ex ricercatore del MIT Martin K. Martin ha identificato un bug nell’implementazione dei calcoli fisici. Il bug è stato attivato quando si tentava di atterrare nel modo più efficiente possibile utilizzando la tecnica della “frenata suicida”, nota tra i fan del gioco Kerbal Space Program. Questa strategia prevede la caduta libera per aumentare la velocità e quindi l’accensione dei motori all’ultimo momento per frenare in sicurezza.
“Recentemente ho studiato il consumo ottimale di carburante per l’atterraggio più morbido con un’elevata spinta residua”, ha scritto Martin sul suo blog. – Inaspettatamente, si è scoperto che la strategia teoricamente migliore non ha funzionato. Il gioco pensava erroneamente che il modulo non toccasse la superficie, quando in realtà ciò accadeva. Mentre approfondivo, sono rimasto stupito dalla complessità della fisica e dei calcoli numerici del gioco. Alla fine ho trovato un bug: l’operazione di divisione per due mancante, che a quanto pare era passata inosservata per quasi 55 anni”.
Nonostante l’utilizzo di una strategia di atterraggio apparentemente perfetta, il gioco riportava in modo incoerente che il modulo mancava completamente la superficie lunare. Incuriosito da questa anomalia, Martin esaminò il codice sorgente e scoprì che l’algoritmo di atterraggio era basato sulla fisica avanzata per l’epoca, inclusa l’equazione di Tsiolkovsky della propulsione a razzo e la serie di Taylor.
Come menzionato nella citazione sopra, la radice del problema risiede in un banale errore di calcolo: l’assenza di divisione per due nella formula per calcolare la traiettoria del modulo lunare. Questa omissione apparentemente insignificante ebbe gravi conseguenze, portando ad un calcolo errato del tempo prima dell’atterraggio e dell’atterraggio stesso. Nonostante l’errore, Martin rimase colpito dal fatto che Storer, da studente delle superiori, fosse in grado di incorporare concetti matematici avanzati nel suo gioco, un risultato significativo ancora oggi.
Contattando lo stesso Storer, Martin apprese che il padre dell’autore di “Lunar Lander” era un fisico e aiutò suo figlio a ricavare le equazioni per la simulazione del gioco.
Sebbene le persone giochino da anni al gioco di Storer con il bug, ciò dimostra che il realismo non è sempre la parte più importante di un’esperienza interattiva coinvolgente. E, fortunatamente per Aldrin e Armstrong, l’effettiva missione lunare Apollo non ha subito un simile errore.
Ti è piaciuto questo articolo? Ne stiamo discutendo nella nostra Community su LinkedIn, Facebook e Instagram. Seguici anche su Google News, per ricevere aggiornamenti quotidiani sulla sicurezza informatica o Scrivici se desideri segnalarci notizie, approfondimenti o contributi da pubblicare.

CybercrimeLe autorità tedesche hanno recentemente lanciato un avviso riguardante una sofisticata campagna di phishing che prende di mira gli utenti di Signal in Germania e nel resto d’Europa. L’attacco si concentra su profili specifici, tra…
InnovazioneL’evoluzione dell’Intelligenza Artificiale ha superato una nuova, inquietante frontiera. Se fino a ieri parlavamo di algoritmi confinati dietro uno schermo, oggi ci troviamo di fronte al concetto di “Meatspace Layer”: un’infrastruttura dove le macchine non…
CybercrimeNegli ultimi anni, la sicurezza delle reti ha affrontato minacce sempre più sofisticate, capaci di aggirare le difese tradizionali e di penetrare negli strati più profondi delle infrastrutture. Un’analisi recente ha portato alla luce uno…
VulnerabilitàNegli ultimi tempi, la piattaforma di automazione n8n sta affrontando una serie crescente di bug di sicurezza. n8n è una piattaforma di automazione che trasforma task complessi in operazioni semplici e veloci. Con pochi click…
InnovazioneArticolo scritto con la collaborazione di Giovanni Pollola. Per anni, “IA a bordo dei satelliti” serviva soprattutto a “ripulire” i dati: meno rumore nelle immagini e nei dati acquisiti attraverso i vari payload multisensoriali, meno…