DooM

A wasm32 port of 1997 linuxdoom-1.10 with minimal modifications to the sources. Find all the details in the README of the WebAssembly from Scratch Article.

Keyboard events will be captured as long as the the DOOM canvas has focus.

Use to start the game, arrow keys to move, to shoot, spacebar to open gates, and arrow keys to strafe (if your browser does not handle these keys otherwise). On mobile (and mobile only) touch the buttons above. Yeah, I'm not good a UX design.

This is where the DooM screen should render.  
Hello, World, from JS Console! Answer=42 (101010 in binary)
Hello, world from rust! 🦀🦀🦀 (println! working)
Starting D_DoomMain
Triggering a printf
Doom's screen is 320x200
mallocing 12 bytes at 7078176
mallocing 11 bytes at 7078272
mallocing 11 bytes at 7078288
mallocing 12 bytes at 7078304
mallocing 15 bytes at 7078192
mallocing 12 bytes at 7078216
mallocing 13 bytes at 7078232
mallocing 12 bytes at 7078256
DOOM Shareware Startup v1.10
V_Init: allocate screens.
mallocing 256000 bytes at 7078744
M_LoadDefaults: Load system defaults.
Z_Init: Init zone memory allocation daemon.
mallocing 2097152 bytes at 7334752
W_Init: Init WADfiles.
mallocing 1 bytes at 7078320
adding ./doom1.wad
reallocing 25280 bytes. old ptr: 7078320, new ptr: 9431912
mallocing 5056 bytes at 9464688
===========================================================================
Shareware!
===========================================================================
M_Init: Init miscellaneous info.
R_Init: Init DOOM refresh daemon -
[










]











.
.
InitTextures
InitFlats
.
.
.
.
.
.
.
.
InitSprites
InitColormaps
R_InitData
R_InitPointToAngle
R_InitTables
R_InitPlanes
R_InitLightTables
R_InitSkyMap
R_InitTranslationsTables
P_Init: Init Playloop state.
I_Init: Setting up machine state.
D_CheckNetGame: Checking network game status.
mallocing 140 bytes at 7078320
startskill 2 deathmatch: 0 startmap: 1 startepisode: 1
player 1 of 1 (1 nodes)
S_Init: Setting up sound.
S_Init: default sfx volume 8
HU_Init: Setting up heads up display.
ST_Init: Init status bar.
I_InitGraphics (TODO)
BASETIME initialized to 719
Demo is from a different game version!
Demo is from a different game version!
gettmilliseconds calls per second: 0.2k Total getmilliseconds calls: 3122
DooM FPS: 35 (target: 35FPS) Total Frames drawn: 546
Browser Animation FPS: 60 (target: around 60FPS, depending on browser)