← Back to context

Comment by danishSuri1994

2 days ago

This is one of those projects where the implementation is more interesting than the meme. Rendering DOOM isn’t the impressive part, hijacking a PCB editor’s rendering pipeline and making it behave like a real-time vector engine is.

The part I love most is how many unrelated systems had to cooperate:

extracting geometry directly from DOOM’s drawsegs/vissprite internals

mapping sprite classes to physical component footprints

running real-time updates through KiCad’s object model without triggering full recompute

and then running the same vector stream to an oscilloscope via audio DAC

That’s a really clever chain of “use the tool for something it was never designed to do.”

ScopeDoom might end up being the more interesting long-term direction, vector displays force you to think about rendering differently, and there’s something poetic about DOOM being rendered as literal analog voltage traces.

If you ever take it further, the combination of:

faster DAC (or multi-kHz arbitrary waveform generator)

true analog persistence phosphor scope

and dynamic sprite simplification

…could get you surprisingly close to a smooth vector-shooter aesthetic.

Either way: great hack. The world needs more playful abuse of serious tools.

Thanks very much. ScopeDOOM definitely has potential, I need to work on the occlusion logic to clean up the display, whilst it's not particularly visible on the demo, I did actually use distance to 'camera' to control pcb trace thickness, so close walls look thicker.

In lieu of an intensity channel for the scope implementation, slowing down the vector drawing for segments would make them 'brighter' on a proper scope, but I don't know if my relatively cheap Siglent would be able to distinguish between them.

I've got some NI DAC's here, or could use a mcu, the practical limit of the DAC on a teensy 4.1 is reportedly around 1Mhz, however for me I don't think theres a practical reason to do so.

Although, a native implementation on a teensy, with the wad on an sd card and direct input, no computer at all is very tempting...

Back on track, i've got to spend a bit more time focussing on work and other projects, but I have my next ludicrous port planned already.