{"_id":"@caputchin/game-phobos","_rev":"6-2acbbc4750ec4d4a1e590a86859713fc","name":"@caputchin/game-phobos","dist-tags":{"latest":"0.3.0"},"versions":{"0.2.0":{"name":"@caputchin/game-phobos","version":"0.2.0","keywords":["caputchin","caputchin-game","captcha","doom","fps","game"],"license":"GPL-2.0-only","_id":"@caputchin/game-phobos@0.2.0","maintainers":[{"name":"caputchiner","email":"info@caputchin.com"}],"homepage":"https://github.com/Caputchin/caputchin-games#readme","bugs":{"url":"https://github.com/Caputchin/caputchin-games/issues"},"dist":{"shasum":"9abe0f7c2b0da91f5f4979d5b8a0e3b96417fe0c","tarball":"https://registry.npmjs.org/@caputchin/game-phobos/-/game-phobos-0.2.0.tgz","fileCount":9,"integrity":"sha512-WSZyzwzzGP2kAR0deTpsG3liH7knpQ74/ixpFGhrHmnrGPXP8HNcvemYQQfj7Pr1EMD9LHCucDIE14MI/NngOA==","signatures":[{"sig":"MEQCIApxSMXNqtlVWWXIjwJWKnPx/2ddOpGmaSfs21f+NjnZAiATsia9EkmK0oOgTzE9Ptyt9P8Fs1dumQZihYmlJBG5qw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10117959},"type":"module","_from":"file:caputchin-game-phobos-0.2.0.tgz","private":false,"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","predev":"{ [ -f build/phobos-headless.wasm ] || pnpm build:engines:headless; } && { [ -f src/generated/phobos-live-wasm.ts ] || pnpm build:engines:live; }","pretest":"[ -f build/phobos-headless.wasm ] || pnpm build:engines:headless","prebuild":"{ [ -f build/phobos-headless.wasm ] || pnpm build:engines:headless; } && { [ -f src/generated/phobos-live-wasm.ts ] || pnpm build:engines:live; }","typecheck":"tsc --noEmit","test:watch":"vitest","build:engines":"bash scripts/build-engines.sh","build:engines:live":"PH_LIVE_ONLY=1 bash scripts/build-engines.sh","build:engines:headless":"PH_HEADLESS_ONLY=1 bash scripts/build-engines.sh"},"_npmUser":{"name":"caputchiner","email":"info@caputchin.com"},"_resolved":"/tmp/ddf16f4bc4340836ecee294684ec20c6/caputchin-game-phobos-0.2.0.tgz","_integrity":"sha512-WSZyzwzzGP2kAR0deTpsG3liH7knpQ74/ixpFGhrHmnrGPXP8HNcvemYQQfj7Pr1EMD9LHCucDIE14MI/NngOA==","repository":{"url":"git+https://github.com/Caputchin/caputchin-games.git","type":"git","directory":"packages/phobos"},"_npmVersion":"10.9.8","description":"Clear the demons to prove you're human. A real DOOM-engine captcha. A Caputchin first-party game.","directories":{},"sideEffects":["./dist/phobos.js"],"_nodeVersion":"22.22.3","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^2.0.0","happy-dom":"^15.0.0","typescript":"^5.4.0","@types/node":"^20.0.0","@caputchin/game-sdk":"^3.0.0","@caputchin/replay-contract":"^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/game-phobos_0.2.0_1780326467098_0.1027393249665931","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@caputchin/game-phobos","version":"0.2.1","keywords":["caputchin","caputchin-game","captcha","doom","fps","game"],"license":"GPL-2.0-only","_id":"@caputchin/game-phobos@0.2.1","maintainers":[{"name":"caputchiner","email":"info@caputchin.com"}],"homepage":"https://github.com/Caputchin/caputchin-games#readme","bugs":{"url":"https://github.com/Caputchin/caputchin-games/issues"},"dist":{"shasum":"4a38db2765d4ce8df39a5f772fb0b4d3e6580fa8","tarball":"https://registry.npmjs.org/@caputchin/game-phobos/-/game-phobos-0.2.1.tgz","fileCount":9,"integrity":"sha512-iMI8qGWJyliyJSa2WLjnGrIaA6QQmNthUstq8YEdOxZ/wmWrJ7CqXBGxq4jeTXAUDrEimIn27LiLbFE/50yetA==","signatures":[{"sig":"MEUCIQDXvR1F7N+4JcfylW4YR7S7/dtLHj6Lz3+ey/AnTKabiwIgP9XpjnKR0hxUoHUG7V+gf+n0hZT9rQf7eKHgghYTRLo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7133202},"type":"module","_from":"file:caputchin-game-phobos-0.2.1.tgz","private":false,"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","predev":"{ [ -f build/phobos-headless.wasm ] || pnpm build:engines:headless; } && { [ -f src/generated/phobos-live-wasm.ts ] || pnpm build:engines:live; }","pretest":"[ -f build/phobos-headless.wasm ] || pnpm build:engines:headless","prebuild":"{ [ -f build/phobos-headless.wasm ] || pnpm build:engines:headless; } && { [ -f src/generated/phobos-live-wasm.ts ] || pnpm build:engines:live; }","typecheck":"tsc --noEmit","test:watch":"vitest","build:engines":"bash scripts/build-engines.sh","build:engines:live":"PH_LIVE_ONLY=1 bash scripts/build-engines.sh","build:engines:headless":"PH_HEADLESS_ONLY=1 bash scripts/build-engines.sh"},"_npmUser":{"name":"caputchiner","email":"info@caputchin.com"},"_resolved":"/tmp/048ba176374e5c2e20dbe299ba09772e/caputchin-game-phobos-0.2.1.tgz","_integrity":"sha512-iMI8qGWJyliyJSa2WLjnGrIaA6QQmNthUstq8YEdOxZ/wmWrJ7CqXBGxq4jeTXAUDrEimIn27LiLbFE/50yetA==","repository":{"url":"git+https://github.com/Caputchin/caputchin-games.git","type":"git","directory":"packages/phobos"},"_npmVersion":"10.9.8","description":"Clear the demons to prove you're human. A real DOOM-engine captcha. A Caputchin first-party game.","directories":{},"sideEffects":["./dist/phobos.js"],"_nodeVersion":"22.22.3","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","fflate":"^0.8.2","vitest":"^2.0.0","happy-dom":"^15.0.0","typescript":"^5.4.0","@types/node":"^20.0.0","@caputchin/game-sdk":"^3.0.0","@caputchin/replay-contract":"^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/game-phobos_0.2.1_1780340376972_0.05897786630061286","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@caputchin/game-phobos","version":"0.2.2","keywords":["caputchin","caputchin-game","captcha","doom","fps","game"],"license":"GPL-2.0-only","_id":"@caputchin/game-phobos@0.2.2","maintainers":[{"name":"caputchiner","email":"info@caputchin.com"}],"homepage":"https://github.com/Caputchin/caputchin-games#readme","bugs":{"url":"https://github.com/Caputchin/caputchin-games/issues"},"dist":{"shasum":"1cc76d0106830dc9abb2ab87578a65bca28e1c29","tarball":"https://registry.npmjs.org/@caputchin/game-phobos/-/game-phobos-0.2.2.tgz","fileCount":12,"integrity":"sha512-5GN53tpn70Fa98OcMpiarMMxI7yGZVy7ixPV84RI3gkVvhSrt9oic+ZBYNGDYAV8QgMqlqSQ7k0FTus+FsI2rw==","signatures":[{"sig":"MEUCIFD6AMyDZoFt/Evh/MAcPM9WeFSyc3f3txz4uHgFSe9dAiEAmhjkE8kFY8mq3Gu9ELI70fE5JaHTvltqxsEc75xQCuI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7154556},"type":"module","_from":"file:caputchin-game-phobos-0.2.2.tgz","private":false,"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","predev":"{ [ -f build/phobos-headless.wasm ] || pnpm build:engines:headless; } && { [ -f src/generated/phobos-live-wasm.ts ] || pnpm build:engines:live; }","pretest":"[ -f build/phobos-headless.wasm ] || pnpm build:engines:headless","prebuild":"{ [ -f build/phobos-headless.wasm ] || pnpm build:engines:headless; } && { [ -f src/generated/phobos-live-wasm.ts ] || pnpm build:engines:live; }","typecheck":"tsc --noEmit","test:watch":"vitest","build:engines":"bash scripts/build-engines.sh","build:engines:live":"PH_LIVE_ONLY=1 bash scripts/build-engines.sh","build:engines:headless":"PH_HEADLESS_ONLY=1 bash scripts/build-engines.sh"},"_npmUser":{"name":"caputchiner","email":"info@caputchin.com"},"_resolved":"/tmp/59fbc3db828790633cbafac60c9e355a/caputchin-game-phobos-0.2.2.tgz","_integrity":"sha512-5GN53tpn70Fa98OcMpiarMMxI7yGZVy7ixPV84RI3gkVvhSrt9oic+ZBYNGDYAV8QgMqlqSQ7k0FTus+FsI2rw==","repository":{"url":"git+https://github.com/Caputchin/caputchin-games.git","type":"git","directory":"packages/phobos"},"_npmVersion":"10.9.8","description":"Clear the demons to prove you're human. A real DOOM-engine captcha. A Caputchin first-party game.","directories":{},"sideEffects":["./dist/phobos.js"],"_nodeVersion":"22.22.3","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","fflate":"^0.8.2","vitest":"^2.0.0","happy-dom":"^15.0.0","typescript":"^5.4.0","@types/node":"^20.0.0","@caputchin/game-sdk":"^3.0.0","@caputchin/replay-contract":"^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/game-phobos_0.2.2_1780392473771_0.684563687946667","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@caputchin/game-phobos","version":"0.2.3","keywords":["caputchin","caputchin-game","captcha","doom","fps","game"],"license":"GPL-2.0-only","_id":"@caputchin/game-phobos@0.2.3","maintainers":[{"name":"caputchiner","email":"info@caputchin.com"}],"homepage":"https://github.com/Caputchin/caputchin-games#readme","bugs":{"url":"https://github.com/Caputchin/caputchin-games/issues"},"dist":{"shasum":"0401d4bff5742f3fe74e1267fdd8e5de0d523900","tarball":"https://registry.npmjs.org/@caputchin/game-phobos/-/game-phobos-0.2.3.tgz","fileCount":12,"integrity":"sha512-bT8Z2UDlHuK0IzVsEq0krKNdfR/n8sgVNTNL8UVunjBF+B1oy3cAavzbmGdnf/g99778yHyUxu6JVxv+kDGyNg==","signatures":[{"sig":"MEQCIBai5ryUclu8f+qNTHnUg4LXpyuH4agH6/Vus0F9IRwHAiBpLZ/jRTJ5PsFt2k91qziIRJVD+Y6FKj0qnmQIR23RlA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7154572},"type":"module","_from":"file:caputchin-game-phobos-0.2.3.tgz","private":false,"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","predev":"{ [ -f build/phobos-headless.wasm ] || pnpm build:engines:headless; } && { [ -f src/generated/phobos-live-wasm.ts ] || pnpm build:engines:live; }","pretest":"[ -f build/phobos-headless.wasm ] || pnpm build:engines:headless","prebuild":"{ [ -f build/phobos-headless.wasm ] || pnpm build:engines:headless; } && { [ -f src/generated/phobos-live-wasm.ts ] || pnpm build:engines:live; }","typecheck":"tsc --noEmit","test:watch":"vitest","build:engines":"bash scripts/build-engines.sh","build:engines:live":"PH_LIVE_ONLY=1 bash scripts/build-engines.sh","build:engines:headless":"PH_HEADLESS_ONLY=1 bash scripts/build-engines.sh"},"_npmUser":{"name":"caputchiner","email":"info@caputchin.com"},"_resolved":"/tmp/65765aae05c08b5cd9695c5bdfa471fb/caputchin-game-phobos-0.2.3.tgz","_integrity":"sha512-bT8Z2UDlHuK0IzVsEq0krKNdfR/n8sgVNTNL8UVunjBF+B1oy3cAavzbmGdnf/g99778yHyUxu6JVxv+kDGyNg==","repository":{"url":"git+https://github.com/Caputchin/caputchin-games.git","type":"git","directory":"packages/phobos"},"_npmVersion":"10.9.8","description":"Clear the demons to prove you're human. A real DOOM-engine captcha. A Caputchin first-party game.","directories":{},"sideEffects":["./dist/phobos.js"],"_nodeVersion":"22.22.3","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^2.0.0","happy-dom":"^15.0.0","typescript":"^5.4.0","@types/node":"^20.0.0","@caputchin/game-sdk":"^3.1.0","@caputchin/replay-wasm":"^0.2.0","@caputchin/replay-contract":"^0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/game-phobos_0.2.3_1780543676740_0.4860933514233592","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@caputchin/game-phobos","version":"0.2.4","keywords":["caputchin","caputchin-game","captcha","doom","fps","game"],"license":"GPL-2.0-only","_id":"@caputchin/game-phobos@0.2.4","maintainers":[{"name":"caputchiner","email":"info@caputchin.com"}],"homepage":"https://github.com/Caputchin/caputchin-games#readme","bugs":{"url":"https://github.com/Caputchin/caputchin-games/issues"},"dist":{"shasum":"a1081d6fc6d65dab70034af3ab677fe580b6d083","tarball":"https://registry.npmjs.org/@caputchin/game-phobos/-/game-phobos-0.2.4.tgz","fileCount":12,"integrity":"sha512-0IJK1KmMvkX5MIgT11IPli0cHz2Mkecwt7NdOBUMT+Y73G1BRYA8NjiTaIdcgppZ0I+9cJ3d1kp0hpbBL+ridA==","signatures":[{"sig":"MEQCIEBWbLomKaqSP54Lm0WABzpqTdLA3dDMET7Wo2XNnKDrAiBgqubpiQEbz3MrdRHFD/FRJFDIiPuqUlR1s816GBxZ8g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7154230},"type":"module","_from":"file:caputchin-game-phobos-0.2.4.tgz","private":false,"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","predev":"{ [ -f build/phobos-headless.wasm ] || pnpm build:engines:headless; } && { [ -f src/generated/phobos-live-wasm.ts ] || pnpm build:engines:live; }","pretest":"[ -f build/phobos-headless.wasm ] || pnpm build:engines:headless","prebuild":"{ [ -f build/phobos-headless.wasm ] || pnpm build:engines:headless; } && { [ -f src/generated/phobos-live-wasm.ts ] || pnpm build:engines:live; }","typecheck":"tsc --noEmit","test:watch":"vitest","build:engines":"bash scripts/build-engines.sh","build:engines:live":"PH_LIVE_ONLY=1 bash scripts/build-engines.sh","build:engines:headless":"PH_HEADLESS_ONLY=1 bash scripts/build-engines.sh"},"_npmUser":{"name":"caputchiner","email":"info@caputchin.com"},"_resolved":"/tmp/00756569976ec40429e922ee6d257148/caputchin-game-phobos-0.2.4.tgz","_integrity":"sha512-0IJK1KmMvkX5MIgT11IPli0cHz2Mkecwt7NdOBUMT+Y73G1BRYA8NjiTaIdcgppZ0I+9cJ3d1kp0hpbBL+ridA==","repository":{"url":"git+https://github.com/Caputchin/caputchin-games.git","type":"git","directory":"packages/phobos"},"_npmVersion":"10.9.8","description":"Clear the demons to prove you're human. A real DOOM-engine captcha. A Caputchin first-party game.","directories":{},"sideEffects":["./dist/phobos.js"],"_nodeVersion":"22.22.3","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^2.0.0","happy-dom":"^15.0.0","typescript":"^5.4.0","@types/node":"^20.0.0","@caputchin/game-sdk":"^3.1.0","@caputchin/determinism":"^0.2.0","@caputchin/replay-wasm":"^0.3.0","@caputchin/replay-contract":"^0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/game-phobos_0.2.4_1780595896537_0.8137364212173346","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@caputchin/game-phobos","version":"0.3.0","description":"Clear the demons to prove you're human. A real DOOM-engine captcha. A Caputchin first-party game.","keywords":["caputchin","caputchin-game","captcha","doom","fps","game"],"homepage":"https://github.com/Caputchin/caputchin-games#readme","repository":{"type":"git","url":"git+https://github.com/Caputchin/caputchin-games.git","directory":"packages/phobos"},"license":"GPL-2.0-only","private":false,"type":"module","sideEffects":["./dist/phobos.js"],"devDependencies":{"@caputchin/determinism":"^0.2.0","@caputchin/game-sdk":"^3.2.0","@caputchin/replay-contract":"^0.3.0","@caputchin/replay-selfcheck":"^0.2.0","@caputchin/replay-wasm":"^0.3.0","@types/node":"^20.0.0","happy-dom":"^15.0.0","tsup":"^8.0.0","typescript":"^5.4.0","vitest":"^2.0.0"},"scripts":{"build:engines":"bash scripts/build-engines.sh","build:engines:headless":"PH_HEADLESS_ONLY=1 bash scripts/build-engines.sh","build:engines:live":"PH_LIVE_ONLY=1 bash scripts/build-engines.sh","pretest":"[ -f build/phobos-headless.wasm ] || pnpm build:engines:headless","test":"vitest run","test:watch":"vitest","prebuild":"{ [ -f build/phobos-headless.wasm ] || pnpm build:engines:headless; } && { [ -f src/generated/phobos-live-wasm.ts ] || pnpm build:engines:live; }","build":"tsup","predev":"{ [ -f build/phobos-headless.wasm ] || pnpm build:engines:headless; } && { [ -f src/generated/phobos-live-wasm.ts ] || pnpm build:engines:live; }","dev":"tsup --watch","typecheck":"tsc --noEmit","check":"node scripts/check.mjs"},"_id":"@caputchin/game-phobos@0.3.0","bugs":{"url":"https://github.com/Caputchin/caputchin-games/issues"},"_integrity":"sha512-aFfhY943NY97/Wd2LMgosM4QIA2wE8gWIgkmGGYmchCh4lnbMPnIXVw21tDiOkzORU064ziUmuo1aAQT1jI5mA==","_resolved":"/tmp/c9a69a16c9572d271d74f517709b2578/caputchin-game-phobos-0.3.0.tgz","_from":"file:caputchin-game-phobos-0.3.0.tgz","_nodeVersion":"22.22.3","_npmVersion":"10.9.8","dist":{"integrity":"sha512-aFfhY943NY97/Wd2LMgosM4QIA2wE8gWIgkmGGYmchCh4lnbMPnIXVw21tDiOkzORU064ziUmuo1aAQT1jI5mA==","shasum":"2ea752be84f5e32a62d0c3eda9c6db5ab8a37a97","tarball":"https://registry.npmjs.org/@caputchin/game-phobos/-/game-phobos-0.3.0.tgz","fileCount":12,"unpackedSize":7154404,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDp8pb/AzqNzNA780hYEcaUzSNHeehOAAg4as78Hhg1ygIhAIJAxeMV17u2Tpn16pLMaKxNqR1ubv6nPSNLSsButfS0"}]},"_npmUser":{"name":"caputchiner","email":"info@caputchin.com"},"directories":{},"maintainers":[{"name":"caputchiner","email":"info@caputchin.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/game-phobos_0.3.0_1780846263451_0.30305523994204253"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-01T15:07:46.912Z","modified":"2026-06-07T15:31:03.816Z","0.2.0":"2026-06-01T15:07:47.320Z","0.2.1":"2026-06-01T18:59:37.232Z","0.2.2":"2026-06-02T09:27:54.009Z","0.2.3":"2026-06-04T03:27:56.993Z","0.2.4":"2026-06-04T17:58:16.745Z","0.3.0":"2026-06-07T15:31:03.693Z"},"bugs":{"url":"https://github.com/Caputchin/caputchin-games/issues"},"license":"GPL-2.0-only","homepage":"https://github.com/Caputchin/caputchin-games#readme","keywords":["caputchin","caputchin-game","captcha","doom","fps","game"],"repository":{"type":"git","url":"git+https://github.com/Caputchin/caputchin-games.git","directory":"packages/phobos"},"description":"Clear the demons to prove you're human. A real DOOM-engine captcha. A Caputchin first-party game.","maintainers":[{"name":"caputchiner","email":"info@caputchin.com"}],"readme":"# Phobos\n\nClear the demons to prove you're human. A Caputchin first-party game that drops\nthe visitor into a real, first-person **DOOM** arena: true 3D, the iconic\nshotgun, and demons closing in.\n\n> **License:** Phobos is **GPL-2.0-only** (it links the open-source DOOM\n> engine). Embedding it through the standard check does not place your own site\n> under the GPL. See [Licensing](#licensing).\n\n## How it plays\n\nYou spawn in the middle of a demon-infested arena, shotgun in hand. Move, turn,\nand fire to clear the wave. It is the genuine DOOM feel: 3D rooms with a raised\nplatform and varied tech-base walls, charging imps and pinkies, the heads-up\ndisplay, and DOOM's classic auto-aim (line a demon up horizontally and the shot\nlands, no precise vertical aiming). Kill the target number of demons and the\nround is **Verified** - then keep playing as long as you like.\n\nEvery round is different. The demons are placed fresh from a one-time secret the\nserver issues for that attempt, so no two challenges are the same and a layout\nyou have seen before will not come back.\n\n| Action | Keyboard | Touch |\n|---|---|---|\n| Move / strafe | `W` `A` `S` `D` or arrow keys | the on-screen pad |\n| Turn | `A` / `D` or `Left` / `Right` | the turn buttons |\n| Fire | `Space`, `Ctrl`, or click | the fire button, or tap the view |\n\n## Why it's a strong check\n\nThe score is never taken on trust. When you finish, the server **re-plays your\nactual run** inside a sandboxed copy of the same DOOM sim and accepts only the\nresult it recomputes. A bot cannot post a fake \"I won\" - it has to produce an\ninput that genuinely clears the arena. And because the demons are positioned\nfrom that per-attempt secret, a pre-recorded playthrough fails: the monsters are\nsomewhere else, so the recorded shots miss.\n\n## Customization\n\nEverything is driven by [`caputchin.json`](caputchin.json) and resolved by the\nwidget per site:\n\n- **Difficulty** - kills required to pass, DOOM skill (1-5), how many demons\n  spawn, fast monsters, respawning monsters, which arena, and an optional time\n  limit. The challenge can be as quick or as punishing as the site wants.\n- **Locales** - all on-screen text (start screen, controls hint, Verified\n  badge) ships in the 11 official languages and is fully overridable.\n- **Skins** - light and dark chrome presets the host picks; colors for the\n  background, HUD, buttons, and the Verified badge.\n\n## Accessibility and support\n\n- **Keyboard and touch**: full WASD / arrow-key play on desktop, and a large\n  on-screen control pad with fire on mobile (multi-touch, so you can turn and\n  fire together).\n- **Fixed size**: a fixed 16:10 view (native 640x400). It scales down to fit a\n  narrower embed but always keeps that aspect ratio and never exceeds its native\n  size; it does not reflow, so it is not a responsive layout. Give it room.\n- **Sound**: short SFX (shots, demons, doors) with an on-screen mute toggle, so\n  audio is optional and off-by-a-tap.\n- Phobos is a fast visual shooter, so it is **not** screen-reader solvable -\n  sites that need a non-visual challenge should pair it with an accessible\n  alternative.\n\n## Add it to your site\n\nPhobos runs as a sandboxed widget behind a Caputchin verification check. Preview\nit live and copy the embed snippet, with your locale, skin, and difficulty\npresets, from its [marketplace listing](https://caputchin.com/marketplace).\n\n## Licensing\n\nPhobos links the open-source **DOOM engine**, which is GPL-licensed, so the game\nis **GPL-2.0-only**.\n\nWhat this means if you embed Phobos:\n\n- **Your site is unaffected.** Phobos runs in Caputchin's sandboxed iframe, so\n  the standard check does not place your site under the GPL.\n- **Caputchin carries the obligation.** As the distributor, Caputchin publishes\n  the complete corresponding source (the engine included) in this package's\n  `engine/` directory.\n- **Re-hosting is the exception.** If you download and serve the Phobos bundle\n  yourself, you become the distributor and take on the GPL-2.0 obligations\n  directly.\n\nThe game ships with no warranty, as stated in the GPL. The full license text is\nin [`LICENSE`](LICENSE), with engine and game-data attribution in\n[`THIRD-PARTY-NOTICES.md`](THIRD-PARTY-NOTICES.md).\n\n---\n\nDOOM is a trademark of id Software LLC; Phobos is not affiliated with or endorsed\nby id Software, ZeniMax, or Microsoft. It is built on the open-source DOOM engine\nand free, libre **Freedoom** game data - no id artwork or game files. See\n[`TRADEMARK.md`](TRADEMARK.md) and [`THIRD-PARTY-NOTICES.md`](THIRD-PARTY-NOTICES.md).\n","readmeFilename":"README.md"}