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