DEV Community

Mahan Tavakoli
Mahan Tavakoli

Posted on

How I Ported Classic 1993 DOOM to the Browser using WebAssembly

Hey everyone! I've always been a fan of retro gaming, and I recently decided to take on the challenge of porting the original 1993 DOOM to the browser.

The result is RetroPlay, a fully functional, zero-plugin version of DOOM that runs purely on WebAssembly.

Key Features:

  • Pure WASM: Compiled using Emscripten.
  • Freedoom WAD: Included by default so you can play immediately.
  • Mobile Friendly: Custom touch controls and gyroscope support for an immersive mobile experience.

Why I built this:

I wanted to explore the performance limits of modern browsers and see how well WebAssembly could handle a legacy C codebase. It turns out, it's incredibly efficient!

Check out the code and drop a star if you find it interesting:
GitHub Repository
Live Demo

Would love to hear your thoughts or see your speedruns!

showdev #retro #doom #wasm

Top comments (0)