Wojciech Graj's Doom Port Eschews the Display Device in Favor of Rendering Everything in Sound

No monitor, no keyboard, no problem: this port of Id Software's 1993 classic is played entirely through audio signals.

Gareth Halfacree
5 months ago β€’ Games / Retro Tech

The challenge of getting Id Software's classic first-person shooter Doom running on unusual devices has reached an arguable peak, as Wojciech Graj gets it running in a way nobody has ever done before: over audio alone.

"The game is displayed by generating an audio signal that can be viewed as a spectrogram," Graj explains of the unusual project, which uses audio for both output and input, "while input is taken from the microphone, with specific frequencies being mapped to specific keys. It took significant effort to get Doom to run in this manner, and it is being played in a way which obviously wasn't intended, even though it is not a hardware device that is running Doom."

This is Doom with a difference: everything from the control inputs to the display is rendered as audio signals. (πŸ“Ή: Wojtek Graj)

Graj's comment refers to the traditional hacker game of porting Doom, released in 1993 to critical acclaim, to ever more unusual hardware. We've seen Doom running on GPS receivers, thermostats, in-car entertainment systems, the Nintendo Entertainment System, the Raspberry Pi Pico, and even Doom running in Doom itself. Sometimes it's not the base hardware that differs, though, but the display device β€” as with this project to make a playable version of Doom streamed via Teletext to a suitable TV set.

It's this approach which Graj has taken with his port: the actual game of Doom is running on a standard computer, but it's not drawing its graphics to the monitor. Instead, it's generating a constant audio signal that, when viewed as a spectrogram, makes up a picture β€” then starting again with the next frame. Audio inputs can be used to control the game, though its framerate is understandably poor β€” but it's technically playable, which meets the definition of a true Doom port.

Graj has uploaded the source code for the project to GitHub under the GNU General Public License 2, with additional information available in his Reddit post.

Gareth Halfacree
Freelance journalist, technical author, hacker, tinkerer, erstwhile sysadmin. For hire: freelance@halfacree.co.uk.
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles