Одно из самых интригующих для геймера занятий – поиск “пасхалок” (или же приколов, аллюзий, отсылок) в новых и старых играх. Внимательные игроки смогут найти намеки на “Игру престолов” в третьем “Ведьмаке”, отсылки к Half-Life в S.T.A.L.K.E.R. или Лирою Дженкинсу в Mass Effect. Олдскул-пасхалки найти было еще сложнее: фанаты второго Fallout помнят “пасхальное яйцо”, запрятанное в подвале дома в Нью-Рино. Чтобы его отыскать, нужно было буквально заниматься пиксель-хантингом.

Бывший вице-президент Microsoft Эд Фрайс интересуется старыми играми и недавно отыскал первую в истории “пасхалку” в игре 1977 года выпуска. О своем приключении он рассказал в блоге. Эд, судя по LinkedIn, состоял в Ассоциации исследований Древнего Египта, и история его находки чем-то сродни археологическим раскопкам.

На след самой древней в мире “пасхалки” он наткнулся случайно, проводя интервью с разработчиком Роном Мильнером (сотрудником Atari с 1973 по 1985 год) для статьи о первой гоночной видеоигре. В конце интервью они просто болтали, и разработчик спросил, не помнит ли собеседник такую игру, как Starship 1.

И когда Эд Фрайс ответил утвердительно, Рон вспомнил что это была единственная игра в его карьере, в которую он вписал бекдор, не рассказав об этом даже нанимателям из Atari. О нем почти никто не знал десятки лет, но если в игре вписать строчку команд, на экране появлялась надпись “Привет, Рон”, а игрок получал 10 бесплатных игр (в то время игры еще были на игровых автоматах).

“Я был поражен. Если это правда, речь шла о первом в мире “пасхальном яйце”, о котором мне было известно. До этого таковой считалась “пасхалка” из игры Adventure 1979 года. Я немного поискал в интернете, и оказалось, что существовало еще более раннее “пасхальное яйцо” из игры Video Whizball для консоли Fairchild Channel F в 1978 году”, – пишет Эд.

Чтобы найти “пасхалку”, он провел целое расследование, ведь спустя 40 лет разработчик уже запамятовал, как до нее добраться! Все, что нужно было Эду для открытия старейшей игровой “пасхалки”: подтверждение даты релиза и команды, с помощью которых можно было до нее добраться.

Поиск даты релиза

Рон Мильнер не был уверен, когда именно вышла игра. Так что исследователь направился на сайт музея аркадных игр Arcade Museum. Здесь есть почти все аркады, когда-либо увидевшие свет, но поскольку создается он силами самих пользователей, информация – не всегда надежна. На сайте дата релиза игры – 1976 год, что обнадеживало. Но в то же время, копирайт мануала к игре датировался 1977, так что Эд Фрайс решил копнуть глубже. В архивах отсканированных статей из журнала Cash Box Magazine он нашел статью, которая датой релиза называла 13 июля 1977 года – день, когда Starship 1 появилась на автоматах.

Затем он покопался во внутренней документации Atari, которая подтверждала эту дату:

Поиск кода

Дата подтверждена, но существовала ли “пасхалка” на самом деле? Первым делом Эд Фрайс скачал содержимое рабочей памяти игрового автомата из интернета. В шестнадцетиричном дампе памяти довольно просто было отыскать сообщение, о котором рассказывал разработчик: “Hi Ron!”.

Таким образом он подтвердил, что сообщение в игре и правда было. Но можно ли его вызвать набором команд? Рон подключил к работе еще одного инженера Atari Майкла Албау и группа приступила к работе. Starship 1 создавался для микропроцессора 6502, такого же, которые использовались в домашних компьютерах Atari. Им удалось вычленить часть чертежа, на котором видно, как различные кнопки автомата взаимодействовали с игровым софтом:

Скоро стало ясно, что нужный код – часть программы обработки прерывания, который срабатывал, когда в автомат поступала монетка. После поисков удалось найти участок кода, для которого ключевыми указывались кнопки Phasor и Start.

Исследователи проверили, нужно ли было зажимать одновременно кнопки Phasor и Start, в то же время скармливая автомату монету, чтобы код “пасхалки” сработал.

Но триггер оказался устроен чуть сложнее.

“Если мы правильно прочли код, последовательность движений для срабатывания “пасхалки” была: бросить в автомат монету, зажать кнопки Phasor и Start, а затем быстро их отпустить и нажать на кнопку контроля скорости. Неудивительно, что за десятки лет “пасхалку” так и не обнаружили.

Чтобы проверить, как работает эта комбинация, Эд решил купить настоящий игровой автомат того времени. Но реальный автомат пришлось бы долго ждать, а потом ремонтировать, так что для начала он попробовал эмулятор MAME. И хотя сама 40-летняя игра в эмуляторе запускалась, воспроизвести чит-код не удавалось.

Чтобы точно воссоздать последовательность кнопок, пришлось менять конфигурационный файл. Проблема была в кнопке контроля скорости: разработчики эмулятора решили, что эта кнопка отвечает за переключение передач – неудивительно было ошибиться, учитывая, что выглядела она так:

Но с точки зрения воссоздания комбинации это решение делало невозможным эмуляцию быстрого нажатия такой кнопки после помещения “виртуальной монеты” в “виртуальный аппарат”.

Эд даже думал написать собственный драйвер, чтобы решить эту проблему, но после некоторого гугления нашел, как поправить конфигурацию файла так, чтобы эмулятор перестал воспринимать эту кнопку как переключатель. Виртуальную кнопку переключения скорости назначил на правый ALT, а кнопку Start – на правый CTRL, чтобы быстро воссоздать правильную последовательность действий.

И спустя 40 лет с момента выхода “пасхалка” в игре сработала как надо:

“Пасхалку” позже воспроизвели и на настоящем игровом автомате:

Напомним, на днях первому S.T.A.L.K.E.R. исполнилось 10 лет. Мы составили тест, с помощью которого можно проверить, насколько вы помните игру.