Doom can run on a potato, but quantum computers aren't yet powerful enough to run this wireframe version.
Who would have imagined that Doom, which was released in 1993, would be reborn as a hardware project? Enterprising coders forced Doom to work on the most unlikely hardware configurations. This included 100 pounds of moldy potato (I kid you no more), within a motherboard BIOS or on a toothbrush equipped with WiFi.
As for quantum computers, however? Even though GitHub user Lumorti created Quandoom, a recreation the first level of iconic shooter designed for the esoteric, highly experimental hardware, they admit that a powerful quantum computer is not yet available. The QASM simulator allows it to be "effectively simulated" on a laptop.
Quandoom runs on 70,000 qubits, and 80,000,000 gates. Atom Computing currently holds the record as the most powerful quantum computing system, with 1,225qubits. We're looking at about 70x more qubits to play Doom on a machine with quantum computing. No worries!
It's not the full version either. Quandoom is not only an adaptation of the first level, but also features some delicious bare wireframe graphics. Lumorti says there is no music or sound. Enemies can't move between rooms. And the imp fireball has been changed to a hitscan instead of a projectile.
The audacity of the project is what makes it interesting. It's one thing to shrink Doom and tweak it to the hilt to make it run on a badge for conference attendees. But creating a version of Doom that runs on a Quantum processor? I'm already getting a headache thinking about the quantum processor, let alone adapting a favorite game to run on one.
I'll give you a sample quote from the GitHub description to give you a sense of what it would take to translate Doom into quantum computing.
"For now I'm still tidying up the engine code, but basically I have about 8,000 lines of C++ functions allowing a number of reversible binary and arithmetic operations on quantum registers, for example "flipIfLessThanOrEqualTo" which flips all qubits in a register if the value of another register is less than some given value. All operations are performed using integers. I used these functions to write a small 3D game engine and all the logic.
"Also present is an ancilla system, a garbage system, as well as a quantum subroutine system and many other handy tools...parallelisation is done at the rendering stage, such that the list of render objects is split between cores and comments are left in the QASM to tell the simulator where to jump based on OpenMP thread ID."
I'm also lost. Damn my basic mind, I guess. Did you know that a YouTuber has grown a rat's brain and is teaching it Doom to play? Let's give rats a big thumbs up, I suppose. I'm trying to get my "grammar.exe to run" while listening a podcast.
Comments