From level 3, flybys can become attack runs — klaxon + red 'SENTINEL — DUCK' warning, red eye-light, then a fast sweep across the play plane at the head height it locked at spawn. Hit costs a life; surviving pays +25. Attack chance scales with level (25% + 5%/level, cap 70%). Verified both outcomes via scripted playtest. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1.7 KiB
THREETRIS
POV Matrix tetris. Bricks fly at your face in bullet time — catch the green ones, dodge the red agents (they home in on you; touching them hurts), then throw caught bricks back through the hole in the oncoming wall, rotating them mid-flight so their silhouette fits exactly. Flat tetrominoes + full 3D rotation means pitching a piece changes its silhouette (an I-piece end-on is a 1×1 hole).
Play: open index.html over http (python3 -m http.server), any modern browser.
No build step — single file, Three.js from CDN.
- Mouse — move your head (dodge / reach)
- Click — catch an incoming green brick, or throw the held brick
- W/S · A/D · Q/E — pitch / yaw / roll 90°, works while held and mid-flight
- Catch +25 · fit +100 × combo · dodge an agent +10 · 3 lives. Speed and agent frequency ramp per fit; consecutive fits build the combo multiplier.
- From level 3 the sentinel attacks: klaxon + red warning, then it sweeps the play plane at the height your head was at when it locked on. Duck out of the band or lose a life; surviving pays +25.
Assets (all generated free & local on MODELBEAST)
Everything in assets/ came off the local render farm — FLUX (logo, circuit-board
brick texture, city backdrop, sentinel concept art), RMBG background removal +
Hunyuan3D image→GLB (the sentinel flyby), Kokoro TTS (operator voice lines),
ACE-Step (music loop). Procedural Web Audio covers the small SFX. The game degrades
gracefully if assets/ is missing — flat colors, no music, same gameplay.
Cheats/debug in console: _g (state), _auto() (rotate held brick to fit),
_m(x,y) (move head), _start() (skip title).