В игре 55-летней давности впервые нашли баг
![компьютер](https://resizer.mail.ru/p/b65fba62-e6fb-5a13-86bb-515fea7f15de/AQAKfX2agSLlW-nAz0vizjjKb4ZuOflqupyWc_oDZ5ejTAhGUXIAFMVrfHJY6yqITgXCgfOxTmZvdITPo-d8MpPG_No.jpg)
Энтузиаст по имени Мартин Си Мартин обнаружил ошибку в компьютерной игре Lunar Lander. Ее выпустили 55 лет назад, вскоре после высадки корабля «Аполлон-11» на Луну. Такая игра имитирует космическую программу в текстовом варианте, поскольку тогда технологии не позволяли использовать графику.
Lunar Lander создал студент Джим Сторер. Для игры он использовал язык программирования FOCAL. Через 55 лет Мартин, инженер-программист на пенсии, бывший научный сотрудник Массачусетского технологического института, решил ознакомиться с исходным кодом проекта, когда изучал оптимальную стратегию посадки модуля, который позволяет максимально экономить топливо. Согласно этому методу, космический аппарат должен устроить свободное падение, чтобы набрать скорость. Двигатели корабля необходимо включить в последний момент для безопасного приземления.
![Интерфейс игры Lunar Lander](https://resizer.mail.ru/p/d6c5e0c9-4a15-588f-bae9-ffdd40aace98/AQAKgG9lW-xyHaZ8ZFaJjRfODcUii62mI8Ov56jRagI2vTCZ4BqobgndUFOBtZ3nRRpqzT9-shnU6tssEPtER6KeCTM.png)
Как рассказал Мартин, он пытался поставить аппарат на Луну максимально мягко, при этом сохраняя максимальное количество топлива. По его словам, лучшая в теории стратегия почему-то не сработала. Как оказалось, Lunar Lander считает, что посадка не происходит, хотя в действительности это это не так. «Погрузившись в игру, я был поражен сложной физикой и численными вычислениями в ней. В конце концов я обнаружил ошибку: пропущенное «деление на два», которое, казалось, оставалось незамеченным почти 55 лет», — объяснил энтузиаст причину бага.
Мартин отметил, что Lunar Lander основана на очень сложной для своей эпохи физике. В частности, Джим Сторер использовал формулу Циолковского, которая определяет скорость летательного аппарата под воздействием тяги ракетного двигателя, и ряд Тейлора, который означает расположение функции в бесконечную сумму степенных функций. После открытия бага Мартин связался с автором Lunar Lander, чтобы рассказать ему об ошибке. Сторер в свою очередь отметил, что в вычислениях при создании игры ему помогал отец, работавший физиком.
Ранее азиатский программист Кэмерон Сан создал новую версию игры «Крестики-нолики». Она сильно отличается от оригинала. Игрок может определять только место знака, а не его значение.