Go to file
Monster Robot Party e588508436 LANE10: the whole shop — four rooms, stitched by its own portal graph
The hip-hop room has stock (7 racks, 47 bins, 2,865 records); the entry hall and
back room are empty. Import all four anyway: the empty rooms are the connective
tissue, and they are the only floor in the building big enough to get an office
chair up to speed.

A portal pair is one doorway seen from both sides, so the importer walks the graph
and places each room by making its portal land exactly on its neighbour's. Every
pair here sits on parallel walls with opposite facings, so each join is a pure
translation — and when one isn't, it says so rather than quietly getting it wrong.
It then recentres the union, emits the interior walls with a gap at each doorway,
and puts the spawn in the entry hall, because that is the way in.

  hiphop-room <-> entry-hall <-> shop-floor <-> back-room
  12.96 x 15.41 m - 36 racks - 325 bins - 302 real genre labels - 24,024 records

Levels.record_store() now takes the walls and rooms from the import, hangs the
street glazing on the entry hall's outer wall, and lays a light grid across
whatever footprint the rooms came out as.

probe_store.gd also checks the new facts: five doorways exist, and the spawn has
nothing in it (excluding the player, who is supposed to be standing there — that
false positive was the probe's bug, not the level's).
All gates green: smoke clean, 7/7 sites 0.00 m/s, overlap CLEAN, all probes pass.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-04 02:48:39 +10:00
game LANE10: the whole shop — four rooms, stitched by its own portal graph 2026-08-04 02:48:39 +10:00
LANES LANE10: SITE 7 — the real shop, imported from its own database 2026-08-04 00:49:49 +10:00
tools LANE10: the whole shop — four rooms, stitched by its own portal graph 2026-08-04 02:48:39 +10:00
web LANE5: deploy web toy to digalot.fyi/destroy + depot already hardened 2026-07-14 23:24:49 +10:00
.gitignore LANE6: rigged FPS viewmodel, weapon loadout + material matrix, 4 HUD styles 2026-07-31 16:34:00 +10:00
destroyulater.txt Restructure into monorepo: game/ is the Godot lane 2026-07-14 15:33:13 +10:00
README.md LANE10: the whole shop — four rooms, stitched by its own portal graph 2026-08-04 02:48:39 +10:00

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.

Seven sites (Scranton branch, Pawnee city hall, a hacker house, a windowless IT basement, a greengrocer where everything is soft except the bottles, 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 the real Monster Robot Party shop — all four of its rooms, imported live from the storefront's own database and stitched together by its own portal graph, bins, genre labels and all) 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 180 with zero script errors.
  • GLB convention everywhere: glTF Y-up, 1 unit = 1 m, origin at floor-center.