В игре 55-летней давности впервые нашли баг
![В игре 55-летней давности впервые нашли баг](https://resizer.mail.ru/p/b65fba62-e6fb-5a13-86bb-515fea7f15de/AQAKWiEt916Y5NK1-BAPRn_XqcGnVjGzNUypr6YZAI8CLrDH7LACLy35v84hRE1jBHGRwcv0mLbQQ03VUF-S-24qgPg.jpg)
Lunar Lander имитирует высадку на Луну. Как оказалась, игроки не могут использовать лучшую стратегию из-за ошибки в коде.
Энтузиаст по имени Мартин Си Мартин обнаружил ошибку в компьютерной игре Lunar Lander. Ее выпустили 55 лет назад, вскоре после высадки корабля «Аполлон-11» на Луну. Такая игра имитирует космическую программу в текстовом варианте, поскольку тогда технологии не позволяли использовать графику.
Lunar Lander создал студент Джим Сторер. Для игры он использовал язык программирования FOCAL. Через 55 лет Мартин, инженер-программист на пенсии, бывший научный сотрудник Массачусетского технологического института, решил ознакомиться с исходным кодом проекта, когда изучал оптимальную стратегию посадки модуля, который позволяет максимально экономить топливо. Согласно этому методу, космический аппарат должен устроить свободное падение, чтобы набрать скорость. Двигатели корабля необходимо включить в последний момент для безопасного приземления.
Как рассказал Мартин, он пытался поставить аппарат на Луну максимально мягко, при этом сохраняя максимальное количество топлива. По его словам, лучшая в теории стратегия почему-то не сработала. Как оказалось, Lunar Lander считает, что посадка не происходит, хотя в действительности это это не так. «Погрузившись в игру, я был поражен сложной физикой и численными вычислениями в ней. В конце концов я обнаружил ошибку: пропущенное “деление на два”, которое, казалось, оставалось незамеченным почти 55 лет», — объяснил энтузиаст причину бага.