I Always Thought Trace Routing Was Evil

Have you been waiting for KiCad and Doom to unite? Me either, but now you can blast demons mapped as PCB footprints with copper-trace walls.

nickbild
2 days ago • Gaming
Playing Doom in KiCad (đź“·: Michael Ayles)

Here we go again! Another day, another weird way to play Doom. This time it’s not an obscure IoT device or retro computer that’s running everyone’s favorite demon-blasting FPS game. Michael Ayles has done something far stranger and less practical than that by combining KiCad and Doom into one package. If you need a break from working on your PCB design, now you won’t even have to close KiCad to do a little gaming.

Ayles’ creation, called KiDoom, technically doesn’t run Doom — that is handled by the usual game engine via the doomgeneric source code port. However, KiCad’s PCB Editor is used as the frontend, displaying the graphics the best way it knows how. What it knows, of course, is PCBs. As such, copper traces were drawn to represent walls, while component footprints served as enemies, health packs, and other game items. Watch out for those QFP-64 chips! Those are the bad guys.

Instead of attempting to render Doom pixel-by-pixel — which initial tests showed would crawl along at roughly 0.15 FPS — Ayles realized that the original engine already builds geometry as vectors. PCB traces, after all, are just vectors in copper. By extracting wall and sprite data directly from the game’s drawsegs[] and vissprites[] structures, KiCad only has to update 100–300 line segments per frame instead of pushing tens of thousands of pixels. That efficiency is what makes this bizarre experiment playable, clocking in at around 10–25 frames per second, depending on the hardware.

It’s hard to call KiDoom useful, but that’s not really the point. Doom has been run on everything from printers to oscilloscopes, and this project raises the bar in its own unique way. And if you’ve got nothing better to do this weekend, you can try it out for yourself.

nickbild

R&D, creativity, and building the next big thing you never knew you wanted are my specialties.

Latest Articles