A shareable one-click web toy (not a port of the Godot game): walk a record store first-person, pull a record, and wreck the place in the browser. Built on thriftgod's pointer-lock FP-interior patterns, zero build step (three r0.175 + @dimforge/rapier3d-compat over an importmap). - physics.js: Rapier WASM world, one body per prop, support-graph cascade (smash a rack → its crates pancake), pre-fractured swap (chunk_* bodies) with generative-shard fallback until Lane 2 ships fractured GLBs, capped debris pool. - props.js: GLTFLoader/DRACOLoader; loads props live from the 3GOD depot (/a/<file>, CORS-open) with a local web/assets/ mirror fallback so it never hard-fails offline. Read-only against the depot. - juice.js: camera-trauma screenshake, hitstop, per-material particle bursts and procedural Web-Audio smash voices (wood/cardboard/vinyl/glass/steel), combo HUD. - main.js: FP controller, record-store room, grab/smash raycasting, record ritual (pull → held → throw → shatter), "share your mess" canvas screenshot. Assets mirrored offline: record/crate/rack (from the Godot lane) + cashbot/ council-bin (from 3GOD). Verified in-browser: props load, smashing spawns shards + particles + combo, rack cascade pancakes its crates, record ritual and share work. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| game | ||
| LANES | ||
| web | ||
| .gitignore | ||
| destroyulater.txt | ||
| README.md | ||
DESTROYULATOR
Clock out. Smash everything.
A comedic, non-violent, first-person workplace-destruction game from Monster Robot Party. Level 01 is our actual record store. Nobody gets hurt but the furniture.
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). |
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).
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.