Фанаты ретро-игр не дают умирать любимым играм, делая модификации или портируя их на современные версии консолей и ПО. И особняком здесь стоит культовая игра Doom 1993 года, которую стали запускать не только на ПК и консолях, а на любых устройствах, у которых есть экран и процессор. И это стало своего рода мемом. Игра, созданная на движке id Tech 1, была разработана так, что для игры требовались лишь самые скромные настройки.
С течением времени после выхода Doom развивались многие технологии. В 2007 году началась революция, когда Apple выпустила свой первый iPhone, и вскоре дисплеи стали неотъемлемой частью XXI века, интегрируясь во всё больше и больше продуктов и повседневных инструментов: холодильники, тостеры, кассовые аппараты, автомобили, электронные сигареты и даже тесты на беременность. Вместе с этим появилась возможность запустить Doom на всех этих устройствах. Таким образом, родилась концепция «Doom running on everything» (DROE), породившая культуру, в которой в Doom играли на банкоматах, калькуляторах, кубиках LEGO, картофеле и даже на вышеупомянутых тестах на беременность.
Doom, конечно, не будет работать наилучшим образом, скажем, на светодиодном рекламном щите или консоли Playdate, но это не имеет значения. В рамках культуры DROE, просто отображение игры на экране определённого устройства считается успехом.
Будем ждать ещё больше историй о том, как энтузиасты запускают Doom при помощи подручных вещей, чтобы расправиться с демонами ада. А пока здесь собраны некоторые удивительные примеры того, как легендарную Doom запускают на различных устройствах.
❯ Зарождение
Doom с самого начала создавался как очень портативный: игра весила всего лишь 2,39 МБ. Сегодня средний размер веб-страницы составляет 3,5 МБ. Поскольку с 1993 года вычислительная мощность резко возросла, увеличилось и количество устройств, которые могут запустить игру. А ещё в неё по-прежнему очень весело играть.
Чтобы добиться 3D-эффекта, Doom был запрограммирован очень эффективно. В Doom тратится очень мало процессорных циклов. Сам движок технически не является 3D — по оси Z выполняются ограниченные расчёты. Данные очень эффективно упаковываются в WAD-файлы. В Doom есть собственный менеджер памяти. Всё это означает, что для запуска Doom система не обязательно должна быть очень мощной по сравнению с сегодняшними технологиями.
id Software выпустила исходный код Doom в 1997 году — всего через четыре года после дебюта игры — что облегчило доступ к ней и её перекомпиляцию. Разработчики регулярно заявляют, что движок Doom хорошо слажен и организован, что значительно упрощает портирование игры. id Software первоначально выпустили код версии для Linux. Почти сразу же люди приступили к портированию игры обратно в DOS, отсюда и термин «порт исходного кода». В конце концов, это привело к множеству разветвлений кода на разные исходные порты, такие как ZDoom и Chocolate Doom. Это означает, что всегда есть люди, работающие с кодом Doom и поддерживающие его в актуальном состоянии. Единственное, что объединяет все эти порты, — это то, что они могут использовать оригинальные ресурсы Doom.
Код Doom на C
Игра написана на языке программирования C, и сегодня большинство платформ имеют доступ к компилятору C. Язык программирования C имеет долгую историю, берущую начало в 70-х годах. Самое главное в C, когда он появился, было то, что он был «переносимым». Пока для платформы существует компилятор, портировать программу на C намного проще, чем портировать что-то вроде ассемблерного кода. И поскольку C старый язык, существуют компиляторы для каждой мыслимой платформы. Такие языки, как C++ и Objective C, также обратно совместимы, предоставляя больше возможностей. Кроме того, в таких языках, как Java, можно включать код C через оболочку (именно так создается большинство портов Android).
❯ Распространение
В свое время Doom был королём условно-бесплатной игры. Условно-бесплатные игры были похожи на демо-версии. В случае с Doom и многими другими первая треть игры была бесплатной, а за полную версию игры нужно было заплатить. Это означает, что по сей день люди могут получить часть Doom бесплатно.
1 декабря 2006 года ютубер Stephen English загрузил видеозапись игры Doom на осциллографе.
12 августа 2006 года ютубер KevlarGorilla опубликовал видео, в котором он играет в Doom на Nintendo DS.
8 апреля 2006 года ютубер bogaut опубликовал кадры Doom, работающей на iPod.
24 марта 2009 года ютубер yerzmyey опубликовал видео игры, работающей на 8-битном персональном компьютере ZX Spectrum.
16 февраля 2011 года ютубер DJ Omnimaga загрузил видео графического калькулятора, запустившего Doom.
16 октября 2013 года был запущен блог «It Runs Doom» на Tumblr, в котором представлены изображения и видео игры Doom, воспроизводимой на различных электронных устройствах. С тех пор «It Runs Doom» считается мемом.
10 августа 2014 года ютубер Aussie50 опубликовал видео, в котором играет в Doom на банкомате.
16 июля 2015 года ютубер TheZombieKiller загрузил кадры, на которых Doom работает внутри виртуального аркадного автомата в порте игры GZDoom. Лучший способ избавиться от скуки, убивая демонов в Doom, — это сделать перерыв и поубивать демонов в Doom. Мод для популярного порта GZDoom запускает базовую копию Doom внутри самой игры с помощью инструмента под названием Action Code Script, который позволяет создавать сложные интерактивные среды и объекты на основе действий игрока. Это лишь вопрос времени, когда можно будет сыграть в Doom в Doom в Doom. TheZombieKiller также запустил Wolfenstein в Doom.
8 мая 2016 года технологический блог Vice Motherboard опубликовал статью со списком различных устройств, на которых можно запускать Doom. В 2016 году культура DROE по-настоящему обрела свою популярность.
20 ноября 2016 года ютубер diffractive опубликовал видео, в котором Doom воспроизводится на сенсорной панели MacBook Pro. За месяц видео набрало более 1,4 миллиона просмотров и 400 комментариев.
❯ Эволюция
Пользователь Reddit, DeltaTwoForce, создал мод Minecraft, в котором можно создавать компьютеры, работающие как виртуальные машины. В видеоролике о моде можно увидеть, как игрок тестирует на компьютерах такие программы, как Paint и, конечно же, Doom. Таким образом, по сути, создается игра в игре. Его не следует путать с модом Minecraft, который создает совершенно новую карту приключений Doom в игровом процессе Minecraft.
Исследователь по имени Viktor Tóth провел эксперимент, чтобы выяснить, сможет ли он научить крысу бегать по прямому коридору в Doom с помощью VR-установки. В эксперименте крыса бегает по сфере, которая управляет движением персонажа. Тот также экспериментировал с обучением крысы стрельбе по врагам.
Во время Международной конференции IEEE по твердотельным схемам 2023 года в Сан-Франциско компания Syntiant, производитель микросхем NDP200, продемонстрировала, как чип обучали игре в VizDoom. Последний представляет собой урезанную и облегченную версию Doom, которая часто используется в исследованиях ИИ и обучении с подкреплением.
Показанный уровень имеет название «Защити круг» и представляет собой круглую комнату, в которой постоянно появляются враги, которые после убийства немедленно исчезают (поэтому нет анимации смерти). NDP200 был обучен на нейронной сети, состоящей из нескольких слоев, чтобы 640 килобайт встроенной памяти чипа могли идентифицировать демонов ада, целиться в них и стрелять.
NDP200 — это чип со сверхнизким энергопотреблением. Он предназначен, по сути, для мониторинга видео через нейронные сети, практически не потребляя энергии, и, когда он замечает, например, проходящего мимо человека, пробуждает более мощные системы для выполнения «настоящего» мониторинга. Специалисты по искусственному интеллекту, конечно же, решили продемонстрировать его возможности, научив его играть в Doom.
Пользователь Reddit, Wojtek-Graj, смог создать версию Doom, в которую можно играть, используя только звук. Смотреть было особо не на что, поэтому разработчик подключил спектрограмму, чтобы визуализировать звук.
Wotjek-Graj загрузил исходный код для этого порта Doom на Github, а также полные инструкции о том, как настраивать.
Tweet2Doom — это бот для Твиттера, позволяющий играть в классический шутер от первого лица, используя команды, отправленные через Twitter. Эти команды передаются боту, и пользователю отправляется видео, показывающее, что произошло, после чего можно продолжать отправлять больше команд и продвигаться по уровням. Полный список команд и порядок их работы можно найти в закрепленном твите аккаунта.
Это далеко не самый элегантный и полезный порт Doom, но это ещё один шаг на пути человечества к тому, чтобы сделать Doom пригодным для игры на чем угодно и когда-либо созданном.
И уже заспидранили первый, знаковый уровень Doom. Один пользователь использовал всего два твита, чтобы пройти E1M1 за 11 секунд или менее 500 кадров игрового процесса.
Благодаря своему упрощенному дизайну Doom даже проник в сети блокчейнов благодаря обновлениям сетей Bitcoin и Dogecoin. После запуска NFT-подобного протокола Ordinals, биткойн-энтузиаст вписал в блокчейн упрощённый клон Doom.
Аспирантка Массачусетского технологического института в области биоинженерии запустила Doom на кишечных бактериях. Экран представляет собой 1-битный монохромный дисплей размером 32×48, наполненный флуоресцентным белком, в котором живут бактерии E. coli, причем каждая из них действует как отдельный пиксель. И именно на этом дисплее с очень низким разрешением можно визуализировать игровой процесс Doom. Однако клеткам требуется очень много времени, чтобы осветиться должным образом: 70 минут, чтобы осветить изображение, а затем ещё восемь часов и 20 минут, чтобы погаснуть и изображение можно было сбросить для следующего кадра. Это означает, что бактериальному дисплею требуется около восьми с половиной часов для загрузки одного кадра. Потребуются примерно 600 лет, чтобы полностью пройти игру Doom на клетках кишечных бактерий. Но теоритически это возможно.
❯ Бессмертие Doom
Это лишь малая часть всех диких устройств, на которых можно играть в Doom. Без сомнения, в ближайшие годы появятся ещё более безумные гаджеты, способные играть в Doom, даже если, по общему признанию, будет сложно превзойти бактерии.
Фанаты всегда найдут новые способы почтить память своих любимых франшиз. Так что можно ожидать, что список странных устройств, играющих в Doom, будет только расти.
Перезапуск серии, возможно, поведёт франшизу в новом направлении, но оригинальный Doom по-прежнему весьма актуален сам по себе. И через двадцать лет кто-нибудь напишет статью, объясняющую, что каждое устройство в IoT теперь может запускать древний ремейк Doom 2016 года, которого нет даже в иммерсивном VR.
Возможно, захочется почитать и это:
Разрабатывайте и развивайте свою игру (и не только) с помощью облачного хостинга для GameDev ↩