https://s3.eu-central-1.amazonaws.com/media.my.ua/feed/137/f250790e9cabb8ffcb04483199b9fbc2.png
https://s3.eu-central-1.amazonaws.com/media.my.ua/feed/137/c63c86e252e760dc2b9db2f6cbb8fef4.png
Программист-пенсионер Мартин К. Мартин обнаружил ошибку в оригинальном физическом коде компьютерной игры Lunar Lander 1969 года. Созданная тогда 17-летним учеником средней школы Джимом Сторером, эта «протоигра» выводила только текстовые обновления статуса на телетайпе. Фактически игра является космическим симулятором.

Легендарная игра, которую Сторер разработал на компьютере PDP-8 на языке программирования FOCAL всего через несколько месяцев после того, как Нил Армстронг и Базз Олдрин совершили высадку на Луну. Игра позволяет управлять спуском модуля на поверхность Луны. Игроки должны тщательно контролировать использование топлива, чтобы достичь мягкого приземления, принимая важные решения каждые десять секунд, чтобы расходовать нужное количество топлива.

https://s3.eu-central-1.amazonaws.com/media.my.ua/feed/137/de6593cddc37d0ab31a4e043bc4d1ded.jpg
Вот такой «графоний» был в первой версии Lunar Lander. Это вам не Unreal Engine 5.4.
В 2009 году, незадолго до 40-летия первой высадки на Луну, Бендж Эдвардс из Ars Technica решил найти автора Lunar Lander, которая тогда была известна в основном уже как графическая игра благодаря версии 1974 года и аркаде 1979 года для Atari. Он обнаружил, что Джим Сторер создал старейшую из известных версий как телетайпную игру, взял у него интервью и написал историю игры. Позже Сторер опубликовал исходный код оригинальной игры.

В 2024 году Мартин К. Мартин, эксперт по искусственному интеллекту, разработчик игр и бывший аспирант MIT, наткнулся на ошибку в коде Сторера в процессе исследования оптимальной стратегии посадки модуля с максимальной топливной эффективностью. Оптимальный метод предполагает свободное падение, чтобы набрать скорость, а затем зажигание двигателей в последний возможный момент, чтобы замедлить скорость для безопасного контакта с поверхностью.

«Недавно я исследовал оптимальный график сжигания топлива, чтобы приземлиться как можно более плавно и с максимальным количеством оставшегося топлива. Удивительно, но теоретически лучшая стратегия не сработала. Игра ошибочно считает, что посадочный модуль не касается поверхности, хотя на самом деле это так. Погружаясь глубже, я был поражен сложной физикой и вычислениями в игре. В конце концов я нашел ошибку: отсутствующее деление на два, которое оставалось незамеченным в течение почти 55 лет», — написавший Мартин в своем блоге.

Несмотря на ошибку, Мартин был поражен тем, что Стореру, который тогда был старшеклассником, удалось включить передовые математические концепции в свою игру — достижение, которое остается исключительным даже по современным стандартам. Мартин обратился за комментариями к Сторера, и автор Lunar Lander рассказал, что его отец-физик помог ему вывести уравнения, используемые в этой симуляции.

Ошибки в играх не всегда мешают наслаждаться ими. Но, к счастью для астронавтов Олдрина и Армстронга, настоящая посадка «Аполлона» на Луну была рассчитана без подобной ошибки.

https://s3.eu-central-1.amazonaws.com/media.my.ua/feed/137/f250790e9cabb8ffcb04483199b9fbc2.png
https://s3.eu-central-1.amazonaws.com/media.my.ua/feed/137/c63c86e252e760dc2b9db2f6cbb8fef4.png

от myua