Hey all,
I've been hacking on EDuke32 again, and this one's a bit of a personal milestone.
I first tried to get it running in a browser about 10 years ago, back then there was no Asyncify and WebAssembly wasn't really a thing yet, so I ended up writing my own stack-unwinding scheme to let the engine's synchronous main loop yield to the browser event loop. Single-player sort of worked, but multiplayer was hopeless: just to slow to be playable.
Ten years later, Asyncify and WASM have matured to the point where it's actually viable. So I picked the project back up, and I'm happy to share where it's at: it runs in the browser, and multiplayer works now (WebRTC under the hood).
Try it here: https://gawen.me/webduke
I'd like to upstream this properly rather than sit on a fork, so I'm splitting it into focused, reviewable MRs against master. The first is the foundation: EDuke32 compiled to WebAssembly with Emscripten
Feedback very welcome, and thanks for keeping this engine alive all these years.
Come get some. 😎

Help
Duke4.net
DNF #1
Duke 3D #1


