HN2new | past | comments | ask | show | jobs | submitlogin
Show HN: Classic FPS Wolfenstein 3D brought in the browser via Emscripten (github.com/midzer)
64 points by midzer on March 3, 2023 | hide | past | favorite | 18 comments



It even works on iOS, although the game is a bit difficult when all movements also fire and there is no use key.

Still managed to get out of my cell after knifing the first guard. Good times.


TuxMath and TuxTyping are FOSS games written with SDL.

Giving your experience with porting Wolfenstein 3D SDL to emscripten, would it be easier to rewrite TuxMath given the exercise XML files or port it to WASM/emscripten (and emscripten-forge)?

Notably, the TuxMath RPM currently segfaults with recent Fedora but the Flatpak (which presumably statically-ships it's own copy of SDL) does work fine. https://flathub.org/apps/details/com.tux4kids.tuxmath https://github.com/tux4kids/tuxmath

(Other someday priorities: Looking at SensorCraft, wanting to port it to (JupyterLite WASM) notebooks w/ jupyter-book)

The latest Wolfenstein where you're girls that respawn only if tagteam is good, too; Wolfenstein: Youngblood. https://en.wikipedia.org/wiki/Wolfenstein


Porting SDL(2) games with Emscripten to get an actual WASM output is pretty straightforward. Getting the game to run properly is another story. If the game has additional dependencies, you have to build them separatly with Emscripten and link them in finally. Heavy use of the filesystem has to be commented out as well (browser tab is a sandbox).


emscripten-forge builds a ~condaenv of recipes with empack; like conda-forge: https://github.com/emscripten-forge/empack

There's not yet an SDL recipe yet: https://github.com/emscripten-forge/recipes/tree/main/recipe...

Re: emscripten fs implementations: https://github.com/emscripten-core/emscripten/issues/15041#i... https://github.com/jupyterlite/jupyterlite/issues/315


In my experience the most annoying part porting a rudimentary SDL C game to wasm via emscripten is getting the fullscreen handling to work right, especially across desktop and mobile browsers.

Otherwise it's pretty straightforward. You may even get away with the only code change being integrating the emscripten event loop...


Nice technical port! BTW the content of this URL is very illegal in Germany. So, be careful. :-)

https://de.wikipedia.org/wiki/Rechtsextreme_Symbole_und_Zeic...


For other readers, the most closely relevant version of that article in English: https://en.wikipedia.org/wiki/Strafgesetzbuch_section_86a

(Clicking the "English" article from OP's link brings you to a version without that subsection)


It's grey area as of 2018. Technically will be decided on a case by case basis rather than just claiming that video games as a whole target the young and are therefore banned as a class from using Nazi iconography.


Wolfenstein 3D, specifically, hasn't been banned since 2019: https://www.schnittberichte.com/news.php?ID=15165


Oh this brings back memories! I forgot how much I appreciated how rich the colors seemed. But also how dizzy the controls and walking made me. Ugh...


So many memories. Also games like Blake Stone. So much fun.


Walking back and forth by pushing the mouth back-and-forth is a forgotten input method which might be revigorated in certain scenarios, especially since it frees the ASDW keys.


HAHAHA, nice! Doesn't suppose to read anything about chaos-software again after so many years. I'm one of the guys from chaos-soft.


ILM works?


Note that you have basically eliminated your chances of getting a high score!


What is ILM?





Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: