В Lunar Landing, самой популярной видеоигре 70-х годов, найден 55-летний баг
Спустя 55 лет после ее выпуска наконец-то была обнаружена ошибка в коде Lunar Landing — первой игры, имитирующей высадку Аполлона на Луну в июле 1969 года через несколько месяцев после ее возникновения в реальности. Lunar Landing была разработана тогдашним скромным учеником средней школы Джимом Сторером всего через несколько месяцев после рассматриваемого события, и к 1973 году она с большим отрывом стала самой популярной компьютерной игрой. Эта ранняя видеоигра, технически представляющая собой текстовое приключение, была создана учеником средней школы в эпоху, когда компьютеры в каждом доме (или каждом кармане) казались такими далекими.
Учащийся средней школы, о котором идет речь, Джим Сторер, впоследствии приобрел несколько компьютерных патентов, получил степень доктора компьютерных наук в Принстонском университете в 1979 году и в конечном итоге стал профессором в Университете Брандейса, где он работает до сих пор.
Когда Мартин К. Мартин, обнаруживший ошибку в Lunar Landing, спросил, как автор игры достиг такого подвига в программировании в юности и в столь технически ограниченную эпоху, Сторер ответил: «В то время я был опытным в математических вычислениях и был знаком с такими концепциями, как теория Тейлора, но я также помню, что мой отец, который был физиком, помог мне в выводе уравнений [для упрощения классического уравнения ракеты].
Как оказалось, код Джима был почти идеальным, но в знаменателе квадратного корня не было цифры 2, что привело к отсутствию инструкции «деление на два». Мартин утверждает, что, скорее всего, он писал код на бумаге и карандаше, и поэтому эта небольшая ошибка приводит к тому, что время постоянно недооценивается, хотя и совсем незначительно.
Исправление ошибки привело к тому, что ранее оптимальная стратегия игры (которую более современное игровое сообщество Kerbal Space Program называет «самоубийственным сжиганием») теперь приводит к «хорошей» посадке на скорости 1,66 миль в час (идеальной была менее 1 мили в час) вместо гораздо худшей, но все же выигрышной скорости 3,5 миль в час, достигнутой ранее.
Помните, что игра по-прежнему работала на удивление хорошо и оказалась успешной — на то, чтобы выйти на поверхность такого уровня придирок, потребовалось пять с половиной десятилетий. Учитывая, насколько глючными могут быть игры в наши дни, когда в мире столько тестировщиков и завышенные бюджеты на разработку, впечатляет то, как долго просуществовала Lunar Landing, прежде чем кто-либо смог найти в ней оишбку.
Получай, Starfield.
0 комментариев