Security researcher Adam Rice just ran DOOM from DNS. The entire game engine lives compressed in about 1,966 TXT records on CloudFlare. A 250-line PowerShell script pulls them down and assembles everything in memory. Nothing touches disk. The WAD file got compressed from 4MB down to 1.7MB. The DLL bundle went from 4.4MB to 1.2MB. It all fits in a single DNS zone.

Rice started with managed-doom, a pure C# port of the original DOOM engine. But it needed work. The code expected file paths. It compiled as a native executable. The windowing library required a DLL on disk. Rice doesn't know C#, so he worked with Claude to patch the codebase, converting it to run from a MemoryStream and replacing native dependencies with direct Win32 API calls. The result: pure managed .NET assemblies that load from raw bytes. While MicroGPT.cs demonstrates the compact efficiency of 600-line C# codebases, Rice successfully ported the entire DOOM engine.

Audio got cut entirely to save on record count. "DOOM runs silent, but I don't think the demons mind," Rice wrote.

Rice has a pattern of hiding payloads in unusual places for CTF challenges, including Windows registry keys and event logs. DNS TXT records appeal to him because they're arbitrary text fields with no validation. And there's precedent for serious abuse. In 2017, FireEye documented DNSMessenger, a fileless malware variant that used DNS TXT queries to retrieve and execute encrypted PowerShell commands directly in memory. The following year, Cisco Talos detailed DNSpionage, which used the same TXT record trick for bidirectional command and control. The methodology is nearly identical to what Rice built here, just with a game instead of malware. Just as Quien provides a robust interface for querying DNS, Rice used these records to host a fully functional game engine.

The full source is on GitHub. Rice described the project to his mother like this: "It's like taking a phone book and playing the 1986 academy award winning action film Top Gun starring Tom Cruise as a flip-book animation out of the phone numbers on every page."