The first-person shooter Doom has led an idiosyncratic double life as test software for decades: hackers regularly try to port the classic to a wide variety of hardware and exchange their successes under the half-serious question “Will it run DOOM?” out. In addition to microcomputers such as the Raspberry Pico, there were reports of pocket calculators, ATMs and smartwatches running ports of the shooter.

Developer Danny Spencer flipped the question and asked himself: Can Doom run it? To show that in principle you can do any limited calculations in Doom, he has recreated a simple, working adding machine in the shooter. The player enters the digits using a switch. The “display” of his counting machine consists of blocks that are filled with monsters depending on the number chosen. The whole thing is reminiscent of programming attempts in the game Minecraft, where users have calculators and working computers replicated with redstone circuits.

Recommended Editorial Content

With your consent, an external YouTube video (Google Ireland Limited) will be loaded here.

Always load YouTube video

Doom Adding Machine

Spencer writes on his blogthat he initially wanted to recreate a NAND gate with game elements. For this he used the level editor Slade. As a basis he chose the MS-DOS version of Doom 2 (v.19). The developer recreated NAND gates as binary decision diagrams and transferred them to the level design. So he built a small room with two doors for the values ​​0 and 1 for each node (Node). The doors are opened by the player via switches. At the edges of the rooms sit teleporters that lead to other rooms. In each space corresponding to a root node, he placed a monster.

Decision diagram as Doom level: Each node corresponds to a room with two doors. As soon as the player opens a door via switch, the monster moves onto a teleporter and jumps to the next node.

Spencer describes in the blog further, how he represents numbers from 0 to 9 instead of binary digits and bypasses certain hurdles of the Doom version used. The developer has the code for the level with the counting machine as a download provided on Github.

Spencer relativizes the question of whether Doom is Turing-complete or Turing-powerful, i.e. can perform any calculations. At least his approach is not proof, because for that Doom would have to allow some kind of unlimited loop constructs that his counting machine would lack.




The Internet is full of hot IT news and stale Pr0n. In between there are always gems that are too good for /dev/null.


(hze)

To home page

California18

Welcome to California18, your number one source for Breaking News from the World. We’re dedicated to giving you the very best of News.

Leave a Reply