Недавно Adam Rice задался вопросом: можно ли запустить DOOM при помощи DNS (система доменных имён).
Разработчик хранил необходимые данные в TXT-записях. Каждая может содержать примерно 2 тысячи символов:
Идея в том, чтобы загрузить весь игровой движок и его ассеты из DNS TXT-записей, поместить всё в память и запустить игру. Никаких загрузок, установщиков или файлов на диске. Моя цель — полностью загрузить игру в память только с помощью публичных DNS-запросов.
Adam Rice пришёл к выводу, что нужен порт DOOM на языке, который можно загрузить в память Windows без файлов:
C# часто используется для этого киберпреступниками, но я не знаю C# и не собирался переписывать исходники DOOM сам, так что начал поиски именно с этого. Я отыскал managed-doom — чистый C#-порт оригинального движка DOOM. Управляемые .NET-сборки можно загружать прямо из необработанных байтов, никаких файлов в файловой системе не требуется. В теории это позволяло загрузить скомпилированный код игры из DNS и запустить его, не обращаясь к диску.
План сработал и разработчик смог успешно запустить DOOM. Из этой версии пришлось полностью убрать звук, чтобы сэкономить место.
Изучить проект можно на GitHub.