A CAPTCHA that lets you play DOOM® to prove you're human (for educational and entertainment purposes)
The project works by leveraging Emscripten to compile a
minimal port of Doom to WebAssembly and enable
intercommunication between the C-based game runloop (g_game.c) and the
JavaScript-based CAPTCHA UI.
Some extensions were made to the game to introduce relevant events needed for its usage in the context of a CAPTCHA.
SDL-based port of Doom that
can be efficiently compiled to WebAssembly
wad (doom1.wad) for legal use
JS land to be used by the
CAPTCHA UI:
onPlayerBorn when the player is born or rebornonPlayerKilled when the player is killedonEnemyKilled when the main player kills an enemy
d_main.c
to make the game more challenging:
-skill 5 sets the difficulty to "Nightmare!"-fast makes it even harder-warp e1m1 jumpstarts the game to where the action is
-nomenu doesn't let the player trigger the main menu
See the v0 UI generation or get the source.
Built on the shareware version of DOOM® released publically for non-commercial use. DOOM® is a registered trademark of id Software LLC, a ZeniMax Media company.
at least 3 monsters