A robot vacuum (scripts/Roomba.gd, kind=steel) docks near spawn, lifeless, and deploys the moment the first thing in the site breaks: the cleaner arrives because there is mess. It patrols, sniffs out debris within 5 m, and eats it — each shard shrinks into the intake, beeps smugly, and takes 2 points off your score. Dent it (crowbar and up — the matrix already knew) and it panics and flees at 2.7x cruise. A sledgehammer genuinely kills it, at which point the payslip bills you for a destroyed Roomba, because it was company property and you were seen. Voice is three synthesized chirps, no assets. Not spawned in LEVEL 0 — nothing cute lives in the Backrooms. Docked = genuinely asleep, so probe_levels stays 0.00. dev/probe_roomba.gd measures the contract: docked at spawn, wakes on first smash, shard dropped in its path is eaten within 5 s and the score goes down. ROOMBA OK. probe_levels 6x 0.00 m/s - probe_overlap CLEAN. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| game | ||
| LANES | ||
| tools | ||
| web | ||
| .gitignore | ||
| destroyulater.txt | ||
| README.md | ||
DESTROYULATOR
Clock out. Smash everything.
A comedic, non-violent, first-person workplace-destruction game from Monster Robot Party. Nobody gets hurt but the furniture.
The game is CUBICLE HELL. You work a shift doing deliberately infuriating office tasks. A rage meter fills. When it fills you snap, and you physically cannot go back to your desk until you've broken enough things. Then you sit back down and try to earn the rest of your day. Your score is your payslip: wages earned minus damages caused — so during a meltdown you want to wreck a lot of cheap rubbish rather than one expensive filing cabinet. Falling Down, scored by payroll.
Six sites (Scranton branch, Pawnee city hall, a hacker house, a windowless IT
basement, a greengrocer where everything is soft except the bottles, and the Backrooms — where the walls are procedurally generated and everything
you're there to destroy is invisible until you coat it in extinguisher powder, some of
which you breathe) and four modes (Cubicle Hell, the Gauntlet, Total Destruction, Against the
Clock). Sites are data, not code — see game/scripts/Levels.gd.
Design, built and planned, lives in LANES/LANE7-cubicle-hell.md.
Monorepo layout — one lane per directory
| Dir | Lane | What |
|---|---|---|
game/ |
Lane 1 — the game | Godot 4.7 (Jolt physics, Mac-native). The shippable build. |
web/ |
Lane 3 — web toy | Three.js dig-and-destroy demo (planned; thriftgod-adjacent). |
tools/ |
asset build | Blender generators for the viewmodel + office props. Re-runnable. |
LANES/ |
coordination | Execution specs for parallel Claude/Opus work sessions. |
3D-STORE/ |
not in git | 700MB Blender/Unreal source-asset vault (see .gitignore). |
destroyulater.txt |
lore | The founding chat where the idea happened. |
Asset generation lives in its own repo: ~/Documents/meshgod (text→GLB factory). The
first-person arms are cut from ~/Documents/character_kit_modular (the GODVERSE modular
character kit) by tools/gen_fps_arms.py.
Rules for parallel work sessions
- A lane session writes ONLY inside its own directory. Cross-lane contracts
(asset formats, file drops) are specified in
LANES/*.md. - Every change to
game/must pass the headless smoke test before commit:Godot --headless --path game --quit-after 180with zero script errors. - GLB convention everywhere: glTF Y-up, 1 unit = 1 m, origin at floor-center.