DOOM Shooter Launched on DNS

DOOM Shooter Launched on DNS

The legendary game continues to be launched in non-trivial ways.

Recently, Adam Rice wondered: is it possible to run DOOM using DNS (Domain Name System).

The developer stored the necessary data in TXT records. Each can contain approximately 2 thousand characters:

The idea is to load the entire game engine and its assets from DNS TXT records, put everything into memory, and run the game. No downloads, installers, or files on disk. My goal is to completely load the game into memory using only public DNS queries.

Adam Rice came to the conclusion that a DOOM port was needed in a language that could be loaded into Windows memory without files:

C# is often used for this by cybercriminals, but I don't know C# and wasn't going to rewrite the DOOM source code myself, so I started searching with that in mind. I found managed-doom - a pure C# port of the original DOOM engine. Managed .NET assemblies can be loaded directly from raw bytes, no files on the file system are required. In theory, this made it possible to load the compiled game code from DNS and run it without accessing the disk.

The plan worked and the developer was able to successfully launch DOOM. Sound had to be completely removed from this version to save space.

You can explore the project on GitHub.