От жёсткого диска на антресолях до Ransomware: как утекает исходный код игр
Ultimate Mortal Kombat 3
Рекламные материалы порта игры для 3DO. На изображениях использованы скриншоты из версий для Sega Saturn и SNES
В своё время Mortal Kombat 3 получил огромную популярность, поэтому позже была выпущена его дополненная версия под названием «Ultimate Mortal Kombat 3» (UMK3), которую портировали на множество консолей, в том числе на Genesis, Sega Saturn и SNES. Разрабатывался и порт для Panasonic 3DO, но почти завершённый проект был остановлен (вероятно, из-за падения популярности консоли).
В 2010 году пользователь bitrate с форумов AssemblerGames каким-то образом получил диски с исходным кодом и графическими ресурсами порта UMK3 для 3DO. Он поделился с пользователями форума рипнутой графикой, однако исходный код никому не показывал.
Движок Dark Engine (Thief, Thief II, System Shock 2)
В 2006 году моддер игр для Dreamcast под ником game_player_s приобрёл онлайн комплект разработки Dreamcast, надеясь найти на его жёстком диске что-нибудь интересное, однако выяснил, что для подключения комплекта к PC требуется очень редкий адаптер. Спустя три с лишним года он всё-таки нашёл этот адаптер, но тот оказался сломанным. Ему всё-таки удалось изучить жёсткий диск и он нашёл там множество материалов Looking Glass 1996–2000 годов, в том числе и незавершённые порты Thief II и System Shock 2 для Dreamcast. Ещё через пару месяцев он решил проверить содержимое сумки, в которой к нему прибыл devkit. Внутри обнаружился CD с исходным кодом Dark Engine — движка, на котором разрабатывались Thief, Thief II и System Shock 2. Эта находка стала настоящим подарком для сообщества любителей игр компании Looking Glass, благодаря которой с тех пор фанатами было выпущено несколько важных апдейтов игр на движке Dark Engine.
Turok: Dinosaur Hunter
В феврале 2017 года на eBay выставили на продажу за $ 2551,99 компьютер Silicon Graphics Indy с исходным кодом версии игры для Nintendo 64. Продавец приобрёл эту машину на распродаже имущества компании Acclaim Entertainment после её ликвидации. Покупатель не хотел раскрывать исходный код игры, опасаясь юридического преследования, однако 27 августа 2018 года некий анонимный источник опубликовал его. Кроме кода, на жёстком диске компьютера был архив со всеми графическими ресурсами и моделями (в качестве носителей в Nintendo 64 использовались картриджи размером до 64 МБ, поэтому многие данные приходилось упаковывать). Код алгоритма распаковки тоже присутствовал в исходниках, поэтому с ней проблем не возникло. Выяснилось, что для создания игровых 3D-моделей использовалась программа 3D Studio (ещё до того, как она получила приставку MAX).
Star Wars Galaxies
В 2003 году Lucas Arts выпустила MMORPG Star Wars Galaxies, несмотря на критику получившую достаточно большую известность (число подписчиков доходило до 250 тысяч игроков). Спустя два года разработчики выпустили обновление, сильно упростившее боёвку и уменьшившую количество профессий, после чего количество пользователей значительно снизилось. Тем не менее, у игры оставались преданные поклонники. В 2011 году было объявлено о том, что проект закрывается в связи с выпуском новой MMORPG в мире «Звёздных войн» Star Wars: The Old Republic. Фанаты SWG, пытаясь сохранить жизнь любимой игры, начали писать эмуляторы серверов. Среди подобных проектов нам интересен один, который является не совсем эмулятором.
Сначала все проекты развивались обычным для фанатских инициатив образом — программисты работали с официальными серверами как с «чёрными ящиками», пытаясь добиться в эмуляторе максимально схожего поведения. Однако в 2013 году от одного из фанатских серверов откололась группа, с которой вышел на связь неизвестный сотрудник компании Sony Online Entertainment (разработчика игры). Этому отчаянному анониму удалось украсть исходный код Star Wars Galaxies в версии 2010 года. Там было практически всё: игровой сервер, клиент, инструменты. Новая группа создала проект SWG Reveniens. Спустя какое-то время из-за трений внутри группы исходный код утёк в открытый доступ. Юридически его использование подпадает под уголовную ответственность и поначалу фанаты опасались санкций Sony Online Entertainment и Lucas Arts, однако теперь проект развивается централизованно и имеет свою страницу на GitHub под названием SWG Source. Сегодня любой может поднять свой сервер Star Wars Galaxies, для этого достаточно только Oracle VirtualBox.
Home Alone 2: Lost in New York
В 2016 году архивист, историк и разработчик видеоигр Фрэнк Сифалди (Frank Cifaldi) обнаружил на старом жёстком диске исходный код версии игры для NES. По его информации, код игры основан на коде других игр по мультсериалу «Симпсоны», тоже разработанным студией Imagineering.
Пользователи форума nesdev изучили выложенные Сифалди материалы и обнаружили там код, документацию и несколько файлов EXE, среди которых были ассемблер процессора 6502, программы для сжатия текста, графический редактор и различные конвертеры. Одному из пользователей удалось частично скомпилировать образ картриджа NES, демонстрирующий экран заставки игры. В коде встречаются забавные комментарии:
«Ниже представлен альтернативный способ выполнения longcall. Примечание: Генри сказал поместить его сюда, но я (Марк Б.) не считаю, что это сработает. Увы, он выше меня по должности.»
Ransomware-атака на серверы CDPR
9 февраля этого года CD Projekt Red сообщила об утечке данных, которые позже были выставлены на аукцион хакерского форума Exploit. Среди похищенной информации были исходный код движка Red Engine, игр The Witcher 3: Wild Hunt, Thronebreaker: The Witcher Tales и выпущенной незадолго до этого Cyberpunk 2077, а также некие внутренние документы компании.
Начальная цена составляла 1 миллион долларов, а в результате торгов лот ушёл за 7 миллионов.
Заключение
Исходный код игр покидает стены компании-разработчика разными путями — иногда по доброй воле создателей, иногда случайно. Бывает, что этому способствуют злоумышленники. В целом, обществу следует стремиться к балансу между интересами частных компаний и сохранением исторического наследия, которое зачастую пропадает из-за убийственной комбинации — защиты авторских прав и пренебрежения прошлым. Нам остаётся только догадываться, сколько игр ушло от нас безвозвратно из-за смены владельцев франшиз, пожаров и банальной очистки винчестеров под новые проекты. Поэтому стоит отдать честь тем людям, которые стремятся бережно собирать и архивировать эту часть истории цифровой культуры человечества. Среди них упомянутый в статье Фрэнк Сифалди, ставший основателем Video Game History Foundation и спасший от забвения множество игр, и Джейсон Скотт, выложивший в Internet Archive и на GitHub исходный код таких игр, как Zork (1977 год), Stargate (1981 год), NBA Jam (1993 год) и Pinball Fantasies (1994 год).
На правах рекламы
Аренда Windows сервера на любом тарифе начиная с 2 vCPU, 4 ГБ ОЗУ и 20 ГБ хранилища. Создайте собственный сервер в пару кликов, максимальная конфигурация — 128 ядер CPU, 512 ГБ RAM, 4000 ГБ NVMe.
Подписывайтесь на наш чат в Telegram.