
Легендарная игра DOOM продолжает удивлять разнообразием нетривиальных способов своего запуска. Недавно разработчик Адам Райс (Adam Rice) поставил перед собой необычную задачу: выяснить, возможно ли запустить DOOM, используя исключительно систему доменных имён (DNS).
Его инновационный подход заключался в хранении всех необходимых данных игры, включая игровой движок и его ассеты, в TXT-записях DNS. Каждая такая запись способна вмещать до 2000 символов. Основная идея была в том, чтобы полностью загрузить весь игровой контент из DNS-записей прямо в оперативную память компьютера, минуя традиционные загрузки, установщики или запись файлов на диск. Цель Райса — запустить игру, опираясь исключительно на публичные DNS-запросы.

Для реализации задуманного Адам пришел к выводу о необходимости использования порта DOOM, написанного на языке, позволяющем загружать его в память Windows без создания файловой системы. Он отметил, что C# часто используется для подобных целей (в том числе в кибербезопасности), и хотя сам он не был экспертом в C# и не собирался переписывать исходный код DOOM с нуля, он начал искать готовые решения. Вскоре Райс обнаружил ‘managed-doom’ — чистый C#-порт оригинального движка DOOM. Преимущество управляемых .NET-сборок состоит в возможности их прямой загрузки из необработанных байтов, что исключает необходимость в каких-либо файлах на диске. Это теоретически позволяло загрузить скомпилированный код игры через DNS и успешно запустить его, не обращаясь к диску.
В итоге, план Адама Райса оказался успешным, и ему удалось запустить DOOM. Для максимальной экономии места и соответствия ограничениям, из этой уникальной версии игры пришлось полностью удалить звуковое сопровождение. Проект Адама Райса доступен для изучения и ознакомления на GitHub.









