Не помічали 55 років: пенсіонер виявив помилку у старій відеогрі Lunar Lander

Експерт зі штучного інтелекту, розробник ігор та колишній аспірант MIT Мартін Мартін, який насолоджувався заслуженим відпочинком на пенсії, виявив помилку в коді оригінальної комп’ютерної гри Lunar Lander. Ця гра була розроблена Джимом Сторером у 1969 році на мінікомп’ютері PDP-8 мовою FOCAL. На відміну від сучасних ігор, Lunar Lander відображав геймплей лише у вигляді текстових повідомлень на телетайпі. Лише 1974 року у гру додали графічний інтерфейс.

Ілюстрація посадки космічного корабля на Місяць
Ілюстрація посадки космічного корабля на Місяць, згенерована штучним інтелектом Gencraft AI

Lunar Lander являє собою симулятор, в якому гравцям необхідно керувати спуском місячного модуля на поверхню Місяця, контролюючи використання палива для м’якої посадки. Гравці мали ретельно стежити за використанням палива, щоб досягти м’якого приземлення, ухвалюючи важливі рішення кожні десять секунд.

Пенсіонер виявив помилку в коді Стора, коли грав у цей старий симулятор та намагався знайти оптимальну стратегію посадки модуля з максимальною ефективністю використання палива. Цей метод, відомий як «самогубство», передбачає вільне падіння для набору швидкості та запалювання двигунів в останній момент для безпечної посадки. Мартін також спробував м’яку посадку.

Lunar Lander
Саме так виглядала гра Lunar Lander в 1969 році

«Я досліджував оптимальний графік спалювання палива для м’якої посадки з максимальним його залишком. На диво, теоретично найкраща стратегія не спрацювала. Гра помилково вважає, що посадковий апарат не торкається поверхні, хоча насправді це відбувається», — написав Мартін у своєму блозі.

Поглибившись у гру, Мартін знайшов помилку, яка залишалася непоміченою майже 55 років.

Мартін виявив, що гра непослідовно повідомляла про те, що посадковий модуль розминувся з поверхнею Місяця. Він визначив, що алгоритм посадки ґрунтувався на складній фізиці, включаючи рівняння Ціолковського та розкладання в ряд Тейлора. Проблема полягала у відсутності ділення на два у формулі, що використовувалася для розрахунку траєкторії посадкового апарата. Ця помилка призводила до недооцінки часу досягнення апаратом найнижчої точки траєкторії та неправильного розрахунку посадки.

Попри помилку, Мартін був вражений тим, що Сторер, тоді ще школяр, зумів включити провідні математичні концепції у свою гру — цей подвиг залишається неймовірним навіть сьогодні. Мартін зв’язався зі Сторером, і той розповів, що вивести рівняння йому допоміг батько, який викладав фізику.

Цей випадок показує, що реалізм не завжди є найважливішою частиною захопливого інтерактивного досвіду. На щастя, реальний досвід висадки Apollo на Місяць не постраждав від цієї проблеми.

Раніше ми повідомляли про те, що відбувається у грі Oxygen Not Included.

За матеріалами arstechnica.com