DOOM can now run on a quantum computer with Quandoom port — seminal FPS blood and gore mixed with spooky action
But you can run it on your PC using a lightweight QASM simulator.
DOOM has been ported to quantum computers, marking another milestone for this seminal 3D gaming title. However, the coder behind this feat admits that there is currently no quantum computer capable of executing (playing) this code right now. All is not lost, though, as Quandoom can run on a classical computer, even a modest laptop, using a lightweight QASM simulator.
Barcelona ICFO-based Quantum Information PhD student Luke Mortimer, AKA Lumorti, is behind this newest port of DOOM. In the ReadMe file accompanying the Quandoom 1.0.0 release, Lumorti quips that “It is a well-known fact that all useful computational devices ever created are capable of running DOOM,” and humorously suggests that Quandoom may be the first practical use found for quantum computers.
Quandoom’s quantum computer minimum specs are quite steep. Lumorti says that the QASM code requires 72,376 qubits and 80 million gates. That’s almost like saying your 2024 game needs an RTX 9090, as there is no such quantum computer available with that kind of spec. Thankfully DOOM fans can sidestep the physical hardware requirements on their home PCs by running the code in a QASM simulator.
Even with the simulator running on a humble laptop PC, Quandoom can achieve 10-20 FPS, according to the originator of this port. An animated GIF has been shared for a sample of on-screen Quandoom action. It looks pretty good in an Atari Battlezone (1980) kind of way. Lumorti calls this X-ray mode.
If you want to play Quandoom on your PC, once you have downloaded the files from GitHub, all you have to do is drag the Quandoom.qasm file onto the simulator (simulator.exe). Please note that the file will take some time to load, requiring about 5-6GB of RAM. Moreover, when you get into the game you will only have the first level, there’s no color, no music, no sound, and other aspects of the original that need tweaking to work in Quandoom.
For those who are into coding, Lumorti provides some tips for compiling the code for yourself, or Linux. It is also interesting to read that the Quandoom.qasm file is also not completely compliant, and abbreviations were used to cut it dramatically down in size to what could have been a 30GB+ file.
The developer is still working on Quandoom but admits to sometimes getting bored with the project. Lumorti’s work includes over 8,000 lines of C++ code, a small 3D engine, game logic, and more – with functions using quantum registers. Lastly, the quantum coder hints that if enough people are interested in the source it will be made available.
Stay On the Cutting Edge: Get the Tom's Hardware Newsletter
Get Tom's Hardware's best news and in-depth reviews, straight to your inbox.
Mark Tyson is a news editor at Tom's Hardware. He enjoys covering the full breadth of PC tech; from business and semiconductor design to products approaching the edge of reason.
-
bit_user
It seems pretty clear that however he's using the qubits, it's in some kind of cheesy way, or else you wouldn't be able to simulate it on a classical computer! I'd be curious to know more about what he's doing and whether it truly qualifies as quantum computing. It feels to me like maybe the most he's doing is just using qubits to hold state, but otherwise just using classical, sequential logic to run the game.The article said:the QASM code requires 72,376 qubits and 80 million gates. ... Thankfully DOOM fans can sidestep the physical hardware requirements on their home PCs by running the code in a QASM simulator.
Even with the simulator running on a humble laptop PC, Quandoom can achieve 10-20 FPS, -
bit_user
Well, it lacks hidden line removal, which makes it kind of a cheat - not to mention a little harder to visually interpret, when the scene gets more busy.ezst036 said:I love this wireframe effect.
I believe there are GPU debuggers that can force regular games into wireframe mode, if that really interests you. Then again, the meshes in modern games will probably be too dense for it to have the same visual effect. Probably games from 20+ years ago would look better that way. -
husker This is like saying that Doom will now run on any 'droid from Star Wars. But since 'droids from Star Wars haven't been invented yet, some simulator does the same thing. In other words, nothing to see here.Reply -
The Historical Fidelity
I agree, otherwise it would seem ridiculous that a game built for a x286 processor requires so many qubits…I could have sworn I read somewhere that qubit computation power stacked exponentially, as in, 1 additional qubit will double the performance…bit_user said:It seems pretty clear that however he's using the qubits, it's in some kind of cheesy way, or else you wouldn't be able to simulate it on a classical computer! I'd be curious to know more about what he's doing and whether it truly qualifies as quantum computing. It feels to me like maybe the most he's doing is just using qubits to hold state, but otherwise just using classical, sequential logic to run the game.
Also, it seems that, if this was truly written as a quantum program and the qubit requirement is legitimate and not some sort of inefficient use case like your “hold state” hypothesis, it is difficult to make quantum logic act like classical logic, yet pedestrian to make classical logic act like quantum logic via that quantum emulator. I’m not familiar enough with quantum computing to know if my assertions are accurate or not though. Just thinking out loud. -
bit_user
Did it run on a 286?? I first played it on a 386SX (16 MHz, I think) and had to shrink down the viewport a few steps for playable frame rates. It definitely required a VGA monitor, and I think it was pretty rare to see those on a 286. I don't doubt there were some, but by the time VGA clones started popping up, I think 386's had become fairly mainstream.The Historical Fidelity said:I agree, otherwise it would seem ridiculous that a game built for a x286 processor requires so many qubits…
I'm no expert on quantum computing, but I think that's specifically for combinatorical searches.The Historical Fidelity said:I could have sworn I read somewhere that qubit computation power stacked exponentially, as in, 1 additional qubit will double the performance… -
NinoPino
You are right. It was Wolfenstein that was developed for 286 while Doom was 386 only.bit_user said:Did it run on a 286?? I first played it on a 386SX (16 MHz, I think) and had to shrink down the viewport a few steps for playable frame rates.
Monitors were not a problem because it requires a simple 320x200 resolution that can be achieved also with a CGA or EGA monitor. At Doom release date, also high resolution (for the time) monitors were widespread.bit_user said:It definitely required a VGA monitor, and I think it was pretty rare to see those on a 286. I don't doubt there were some, but by the time VGA clones started popping up, I think 386's had become fairly mainstream. -
bit_user
IIRC, DOOM ran at 320x240. It was a non-standard resolution, but supported by all fully-compliant VGA hardware.NinoPino said:Monitors were not a problem because it requires a simple 320x200 resolution that can be achieved also with a CGA or EGA monitor. At Doom release date, also high resolution (for the time) monitors were widespread.
Regardless, the reason I claim Doom didn't support less than VGA is just due to its color palette. I cannot imagine DOOM at EGA's 16 colors, much less CGA's 4 colors! Anyway, if you were going to require a 386, then VGA was almost a given. As I said, I think the 386 didn't really become popular before VGA did. It came out in late 1993, and my dad already had a XGA (1024x768) graphics card and monitor a couple years prior. -
NinoPino
VGA 256 colors resolution was 320x200 to stay in a segment of 64kB.bit_user said:IIRC, DOOM ran at 320x240. It was a non-standard resolution, but supported by all fully-compliant VGA hardware.
320x240x8bit was not a VGA resolution.
Of course it is a limitation of the VGA graphic card, not of the monitor.