A developer has compiled the classic shooter Doom so that it runs entirely on a DNS database, turning the domain-name system into an unlikely computing platform.
The project follows a long tradition of running the game on increasingly modest hardware. In the early 2000s, the recurring question was whether a powerful PC could run Crysis; these days enthusiasts ask instead whether a minimal machine can run Doom. Affirmative answers have come from a range of surprising systems—and now, apparently, from DNS itself.

“I have compiled Doom for a 32-bit machine whose arithmetic and memory live in DNS,” the developer behind the build explains. “The database itself is 6.4 million rows of truth tables.”
I can’t decide whether this is deliciously horrible, or else horribly delicious. … in either case, it’s the best use of RFC 2136 DNS UPDATE that I’ve ever seen.
A pioneer of DNS
DNS translates URLs into IP addresses so computers can locate one another online, and anyone can create their own database with custom entries. The developer notes that such a system behaves essentially like a “librarian,” pulling pre-computed answers for the operations Doom needs rather than performing live computation.
The key trick lies in DNS UPDATE, the mechanism that lets records be changed—and which is what allows values and variables to update within a game world. According to the report’s author, the developer realized there was enough similarity in how DNS works to replicate the familiar conditional “if this, then this” logic of ordinary code.
“I want to be very clear here: this isn’t DNS pretending to be a CPU,” the developer says. “The instruction decoding is done ahead of time by a compiler; BIND never executes an instruction itself. All that it sees is a key-value read, a conditional write, and 6.4 million rows of precomputed answers.”
“It’s not really a computer; it’s simply a very good database. And that turns out to be enough.
The result is far from practical: one update takes just over 54 seconds. Doom‘s target tic rate is 35 per second, meaning playable performance would require a tic every 28.6 milliseconds. “I remain at 54,000 ms,” the developer writes, “which is three orders of magnitude away from victory.”
The build isn’t intended as a serious gaming experience, but it does offer an entertaining demonstration of what’s possible. The developer has shared their work for anyone curious to try it out.

会話に参加する