Knee-Deep in the CAD: Boffin gets Doom running inside a design modeler
(2026/01/26)
- Reference: 1769438321
- News link: https://www.theregister.co.uk/2026/01/26/openscad_doom/
- Source link:
Not content with rendering Doom in PCB design software or playing it on an oscilloscope, engineer Mike Ayles has got the 1990s shooter running in a computer-aided design (CAD) modeler.
Everybody has a personal mountain to climb simply because it is there. In the case of Ayles, that mountain is finding ever more unlikely ways of rendering Doom. In November 2025, he showed off Doom rendered in vector graphics [1]using KiCad PCB design software . He also produced ScopeDoom, which used the MacBook headphone jack to generate crude, but recognizable, vectors on an oscilloscope.
At the time, we wondered what he might come up with over Christmas. The answer is OpenSCAD-Doom. Or as Ayles put it in his [2]blog : "The third entry in an increasingly unhinged series of projects that answer the question: 'Can I run Doom on engineering tools that were absolutely not designed for games?'"
[3]
There is an educational aspect to the insanity. A deep understanding of the technology is required to make this silly thing work. "Yes, it's absurd," Ayles said, "but it's also R&D disguised as entertainment."
[4]
[5]
Ayles told The Register that he'd planned to release the third in the series at Christmas, but performance refused to get above slideshow levels. "Then last week, I had to fix [6]OpenSCAD rendering for another project and discovered the npm openscad-wasm package was from 2022 and silently ignoring the Manifold flag," he said.
[7]Doom hits KiCad as PCB traces become demons and doors
[8]This is Doom, running headless, on Ubuntu Arm… on a satellite
[9]Just because you can render a Doom-like in SQL doesn't mean you should
[10]CAPTCHAs now run Doom – on nightmare mode
"The [11]fix took renders from 2 minutes to 2 seconds. Rolled that back to OpenSCAD-Doom and suddenly it was playable."
[12]
Doom rendered using the openSCAD software
As for how it works, Ayles said: "It's a custom Python engine that reads WAD files and outputs OpenSCAD code. Pygame handles input and runs a parallel software renderer. The OpenSCAD side uses Animation mode to bypass the file watcher's 200ms debounce." Performance-wise, the game runs at 10-20 FPS and renders well enough for the player to work out what is happening. It is, however, blocks of color.
"Unfortunately, OpenSCAD doesn't support image wrapping for textures, so solid block colors were the order of the day," Ayles said.
"It was more difficult than I was expecting it to be, the viewport still looks pretty awful, but it is recognisable as Doom at least. One little bug is the smiley faces on the monsters, they were supposed to be frowns but I messed up. It made me laugh so I kept it."
[13]
As for what's next, Ayles has some unfinished business with Autodesk's Fusion 360, a popular CAD tool. "I am fully prepared to get banned by Autodesk by rendering in Fusion 360, although its plugin system is a bit more fully featured than what I've done in the past, so it may be plausible to run 100 percent inside Fusion 360." ®
Get our [14]Tech Resources
[1] https://www.theregister.com/2025/11/26/doom_kicad/
[2] https://www.mikeayles.com/#openscad-doom
[3] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_offbeat/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=2&c=2aXedx3_y7R55PK-AJ0bbvQAAANY&t=ct%3Dns%26unitnum%3D2%26raptor%3Dcondor%26pos%3Dtop%26test%3D0
[4] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_offbeat/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44aXedx3_y7R55PK-AJ0bbvQAAANY&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0
[5] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_offbeat/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33aXedx3_y7R55PK-AJ0bbvQAAANY&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0
[6] https://openscad.org/
[7] https://www.theregister.com/2025/11/26/doom_kicad/
[8] https://www.theregister.com/2025/10/28/doom_running_in_space/
[9] https://www.theregister.com/2025/09/11/doom_for_sql/
[10] https://www.theregister.com/2025/01/03/captcha_doom_nightmare/
[11] https://phaestus.app/blog/blog0031
[12] https://regmedia.co.uk/2026/01/26/openscaddoom.jpg
[13] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_offbeat/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44aXedx3_y7R55PK-AJ0bbvQAAANY&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0
[14] https://whitepapers.theregister.com/
Everybody has a personal mountain to climb simply because it is there. In the case of Ayles, that mountain is finding ever more unlikely ways of rendering Doom. In November 2025, he showed off Doom rendered in vector graphics [1]using KiCad PCB design software . He also produced ScopeDoom, which used the MacBook headphone jack to generate crude, but recognizable, vectors on an oscilloscope.
At the time, we wondered what he might come up with over Christmas. The answer is OpenSCAD-Doom. Or as Ayles put it in his [2]blog : "The third entry in an increasingly unhinged series of projects that answer the question: 'Can I run Doom on engineering tools that were absolutely not designed for games?'"
[3]
There is an educational aspect to the insanity. A deep understanding of the technology is required to make this silly thing work. "Yes, it's absurd," Ayles said, "but it's also R&D disguised as entertainment."
[4]
[5]
Ayles told The Register that he'd planned to release the third in the series at Christmas, but performance refused to get above slideshow levels. "Then last week, I had to fix [6]OpenSCAD rendering for another project and discovered the npm openscad-wasm package was from 2022 and silently ignoring the Manifold flag," he said.
[7]Doom hits KiCad as PCB traces become demons and doors
[8]This is Doom, running headless, on Ubuntu Arm… on a satellite
[9]Just because you can render a Doom-like in SQL doesn't mean you should
[10]CAPTCHAs now run Doom – on nightmare mode
"The [11]fix took renders from 2 minutes to 2 seconds. Rolled that back to OpenSCAD-Doom and suddenly it was playable."
[12]
Doom rendered using the openSCAD software
As for how it works, Ayles said: "It's a custom Python engine that reads WAD files and outputs OpenSCAD code. Pygame handles input and runs a parallel software renderer. The OpenSCAD side uses Animation mode to bypass the file watcher's 200ms debounce." Performance-wise, the game runs at 10-20 FPS and renders well enough for the player to work out what is happening. It is, however, blocks of color.
"Unfortunately, OpenSCAD doesn't support image wrapping for textures, so solid block colors were the order of the day," Ayles said.
"It was more difficult than I was expecting it to be, the viewport still looks pretty awful, but it is recognisable as Doom at least. One little bug is the smiley faces on the monsters, they were supposed to be frowns but I messed up. It made me laugh so I kept it."
[13]
As for what's next, Ayles has some unfinished business with Autodesk's Fusion 360, a popular CAD tool. "I am fully prepared to get banned by Autodesk by rendering in Fusion 360, although its plugin system is a bit more fully featured than what I've done in the past, so it may be plausible to run 100 percent inside Fusion 360." ®
Get our [14]Tech Resources
[1] https://www.theregister.com/2025/11/26/doom_kicad/
[2] https://www.mikeayles.com/#openscad-doom
[3] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_offbeat/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=2&c=2aXedx3_y7R55PK-AJ0bbvQAAANY&t=ct%3Dns%26unitnum%3D2%26raptor%3Dcondor%26pos%3Dtop%26test%3D0
[4] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_offbeat/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44aXedx3_y7R55PK-AJ0bbvQAAANY&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0
[5] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_offbeat/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33aXedx3_y7R55PK-AJ0bbvQAAANY&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0
[6] https://openscad.org/
[7] https://www.theregister.com/2025/11/26/doom_kicad/
[8] https://www.theregister.com/2025/10/28/doom_running_in_space/
[9] https://www.theregister.com/2025/09/11/doom_for_sql/
[10] https://www.theregister.com/2025/01/03/captcha_doom_nightmare/
[11] https://phaestus.app/blog/blog0031
[12] https://regmedia.co.uk/2026/01/26/openscaddoom.jpg
[13] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_offbeat/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44aXedx3_y7R55PK-AJ0bbvQAAANY&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0
[14] https://whitepapers.theregister.com/
Next installment
Yet Another Anonymous coward
Doom on the CNC
Slow and uses a lot of material, but the 3D effect is really tangible
WADda Nutter!
Pickle Rick
Mr Ayles, you are a legend -->
Remember the scene in Independence Day where the aliens'computer has been haxx0red and displayed a laughing Jolly Roger?
I think the next alien fleet that decide to invade us will get treated to E1M1 on all their monitor whilst their systems are melting down from a nasty cryptolocker worm/virus combo...
icon - yo ho ho me maties, and a bokkle of rum!