В игре 55-летней давности впервые нашли баг

Lunar Lander имитирует высадку на Луну. Как оказалась, игроки не могут использовать лучшую стратегию из-за ошибки в коде.

Энтузиаст по имени Мартин Си Мартин обнаружил ошибку в компьютерной игре Lunar Lander. Ее выпустили 55 лет назад, вскоре после высадки корабля «Аполлон-11» на Луну. Такая игра имитирует космическую программу в текстовом варианте, поскольку тогда технологии не позволяли использовать графику.

Lunar Lander создал студент Джим Сторер. Для игры он использовал язык программирования FOCAL. Через 55 лет Мартин, инженер-программист на пенсии, бывший научный сотрудник Массачусетского технологического института, решил ознакомиться с исходным кодом проекта, когда изучал оптимальную стратегию посадки модуля, который позволяет максимально экономить топливо. Согласно этому методу, космический аппарат должен устроить свободное падение, чтобы набрать скорость. Двигатели корабля необходимо включить в последний момент для безопасного приземления.

Как рассказал Мартин, он пытался поставить аппарат на Луну максимально мягко, при этом сохраняя максимальное количество топлива. По его словам, лучшая в теории стратегия почему-то не сработала. Как оказалось, Lunar Lander считает, что посадка не происходит, хотя в действительности это это не так. «Погрузившись в игру, я был поражен сложной физикой и численными вычислениями в ней. В конце концов я обнаружил ошибку: пропущенное “деление на два”, которое, казалось, оставалось незамеченным почти 55 лет», — объяснил энтузиаст причину бага.

Источник: hi-tech.mail.ru

0 0 голоса
Рейтинг новости
2460
0
Подписаться
Уведомить о
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии