KiDoom Brings Classic Shooter to KiCad
As the saying goes: if it has a processor and a display, it can run DOOM. The corollary here is that if some software displays things, someone will figure out a way to make it render the iconic shooter. Case in point KiDoom by [Mike Ayles], which happily renders DOOM in KiCad at a sedate 10 to 25 frames per second as you blast away at your PCB routing demons.
Obviously, the game isnβt running directly in KiCad, but it does use theΒ doomgeneric DOOM engine in a separate process, with KiCadβs PCB editor handling the rendering. As noted by [Mike], he could have used a Python version of DOOM to target KiCadβs Python API, but thatβs left as an exercise for the reader.
Rather than having the engine render directly to a display, [Mike] wrote code to extract the position of sprites and wall segments, which is then sent to KiCad via its Python interface, updating the view and refreshing the βPCBβ. Controls are as usual, though youβll be looking at QFP-64 package footprints for enemies, SOIC-8 for decorations and SOT-23-3 packages for health, ammo and keys.
If youβre itching to give it a try, the GitHub project can be found right here. Maybe itβll bring some relief after a particularly frustrating PCB routing session.
