BLOBBO/GDD.md
type-two 1506c12759 GDD v0.1: full design doc, idea capture, MODELBEAST farm client + concept wave 1
Fall Guys x Splatoon x Micro Machines — paint-coverage-as-loadout blob racer.
GDD.md is the review artifact: feature tiers, draft 7-colour buff table,
tech recommendation (web-first three.js+Rapier), milestones, Opus 4.8 lanes.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-17 18:15:56 +10:00

217 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# BLOBBO — Game Design Document
**v0.1 — draft for John's review, 2026-07-17.**
Raw idea capture: [docs/IDEA.md](docs/IDEA.md). Everything below is proposed-for-review;
⚠️ marks decisions that need John's sign-off before Opus 4.8 execution lanes are written.
---
## 1. Pitch
**Fall Guys × Splatoon × Micro Machines.** Up to dozens of friendly white blobby
dudes race giant absurd Rube-Goldberg obstacle courses. Paint cannons along the
course spray colour — whatever sticks to your body is your loadout: **the relative
% coverage of each colour is your buff kit.** The course paints you; being painted
changes how you race the course.
**The invention nobody else has:** paint coverage measured *on your own body* as
the skill system, inside a physics-comedy racer where the course is one giant
player-triggered machine.
## 2. Pillars
1. **Comedy through physics** — soft wobbly blobs, out-of-scale props, telegraphed
chain reactions. Funny beats fair; fair beats random.
2. **Paint is everything** — identity, buffs, weight, size, strategy all read off
your painted body. No HUD-first design: your state is visible on you.
3. **Readable chaos** — every contraption telegraphs ~0.5s before it fires.
Getting flattened must feel earned/funny, never random (random = ragequit).
4. **One goo universe** — players are goo; the world fights back with other goo
(paint, honey, oil, mud, water, bubbles). Viscosity playground, not gimmick pile.
## 3. The Blobbo
Friendly white soft-body blob — Michelin-man silhouette, fewer rolls, big eyes.
Starts every race clean/white. Accumulates paint as a visible skin layer.
Soft-body wobble is cosmetic (shader/spring jiggle over a rigid physics proxy —
see §9); the comedy is in the wobble, the determinism is in the capsule.
## 4. Core loop
Race an obstacle course → paint cannons/zones spray colour → manage your coverage
mix (seek, avoid, cleanse, smudge) → coverage grants buffs that change traversal →
buffs + weight + size interact with the course machinery → finish placement →
next round / next course.
## 5. Feature list
Tiers: **[MVP]** first playable · **[V1]** launch · **[V2]** post-launch/stretch.
### 5.1 Paint system (the core)
- **[MVP]** 7 main colours; per-player texture-space coverage mask; live % per colour.
- **[MVP]** Buff activates at threshold (⚠️ proposal: ≥20% coverage), strength
scales with %; dominant colour drives visual/audio identity.
- **[V1]** **Secondary blends**: two adjacent colours both ≥20% → blend effect
replaces/joins the pair (see §6 table). Way more permutations, mastery =
deliberately building a mix.
- **[V1]** **Super-state**: ≥70% one colour = amped version of the buff **with a
drawback** — you glow, you're a target, one detergent bubble wrecks you.
- **[MVP]** **Cleansing**: detergent bubbles on course (full or partial cleanse ⚠️),
water rinses gradually.
- **[V1]** **Contact smudging**: bumping other blobs *transfers* paint both ways
(⚠️ transfer vs. plain removal — transfer is funnier and more strategic).
- **[V2]** Paint flaking: growing stretches/cracks paint off in pickup-able flakes.
### 5.2 Weight (paint = mass)
- **[MVP]** Coverage adds mass: heavy blobs sink pressure plates, tip see-saws,
wobble slower, launch shorter; clean blobs are light and flingable.
- **[MVP]** Detergent bubbles double as tactical weight-drops.
- **[V1]** Buoyancy inversion underwater: clean floats (fast surface lane),
painted sinks (slow bottom lane, better pickups).
### 5.3 Scale (environment scale as mechanic)
- **[V1]** Colour-driven size: ⚠️ purple = grow, pink = shrink (see §6). Big =
heavy/blocks/easy target; small = pipe shortcuts/hard to hit/flung far.
- **[V1]** Paint dilution: growing increases surface area → your % coverage drops.
Size trades directly against your buff loadout.
- **[V1]** Scale zones: shrink sections racing *inside* the machine (marble runs,
domino chains, gear guts); giant sections stomping over a model town while tiny
racers dodge your feet.
- **[V2]** Players as course furniture: a giant blob is a platform/counterweight
for tiny blobs — the machine incorporates the players.
### 5.4 Course-as-machine (Rube Goldberg)
- **[MVP]** Contraption toolkit: see-saws, boots, buckets, conveyors, dominoes,
gears, catapults, fans — **triggered by players, not timers**. Everyone upstream
rigs the course for everyone downstream.
- **[MVP]** Telegraph rule: every chain reaction winds up visibly ~0.5s before firing.
- **[V1]** Colour-keyed machinery: mechanisms respond only to blobs of their
colour (green valve needs a mostly-green blob → shortcut opens for them + any
tailgaters). Emergent alliances, zero UI.
- **[V1]** Persistent course state: triggered contraptions stay tripped/reset
slowly; sprayed paint lingers on surfaces as slip/grip zones. Back of the pack
races a messier course — chaos as natural rubber-banding.
- **[V2]** Gravity switches as contraption outputs: a lever flips gravity for a
zone; heavy blobs slam, light blobs drift. Ceiling-runs through upside-down rooms.
### 5.5 Physics zones & surfaces
- **[V1]** **Underwater**: buoyancy lanes + gradual paint rinse (shortcut costs loadout).
- **[V2]** **Zero-g**: momentum pinball; paint floats as wobbly globs mid-air —
fly through one to wear it.
- **[V1]** **Honey**: slow but sticky — climb walls/ceilings. Traversal tool.
- **[V1]** **Oil**: fast, no steering, luge; fire-buffed blob ignites a trail
behind them (emergent trap-laying).
- **[V1]** **Mud = anti-paint**: coats brown, masks colours, suppresses buffs until
washed — makes water double-edged.
- **[MVP]** Surface material framework (friction/stick/flow per material) so all
of the above are data, not code.
### 5.6 World & tone
- **[MVP]** Out-of-scale everyday settings (Micro Machines DNA): giant kitchen
tables, gardens, bathtubs, desks; comically huge and tiny props.
- **[V1]** Course sections themed as rooms of one absurd oversized house.
### 5.7 Format & multiplayer
- **[MVP]** Local-feel party size first: 8-player online rooms, single race.
- **[V1]** 3040 player fields, multi-round elimination show (Fall Guys format).
- **[V1]** **Server-authoritative simulation + anti-cheat from day one** — cheating
is what soured Fall Guys; non-negotiable design constraint, not a patch.
- **[V2]** Spectator/replay clips (the game is a clip generator — lean in).
## 6. Draft colour/buff table ⚠️ (the big review item)
7 mains on a wheel; adjacent pairs blend. All names/effects are proposals.
| Colour | Buff | Effect | Drawback / texture |
|---|---|---|---|
| **Red** | BURN | Speed-boost flame trail; ignites oil; melts wax/ice barriers | Slowly burns itself off (self-consuming coverage) |
| **Orange** | BOUNCE | Rubberized — higher bounces, contraptions launch you further | Harder to stop precisely |
| **Yellow** | ZAP | Trigger colour-keyed machinery at range; static bump-stun | Attracts to metal (yanked toward rails/magnets) |
| **Green** | GRIP | Sticky feet — immune to oil/ice slip, climb like honey, hold on through gravity flips | Slower top speed |
| **Blue** | SLICK | Waterproof (no rinse), swim jets, leaves a slippery trail | Your own trail is slippery to you too |
| **Purple** | MEGA | Grow big + heavy — plates, see-saws, shoving, blocking | Paint dilutes as you grow; huge target |
| **Pink** | MINI | Shrink small + light — pipe shortcuts, hard to hit, mega-flung | Can't trigger plates; gusts/fans own you |
Example blends (adjacent, both ≥20%) — final list needs a full pass:
- Red+Orange **METEOR** — flaming cannonball launches, smash light barriers.
- Orange+Yellow **PINBALL** — each bounce zaps nearby machinery.
- Yellow+Green **MAGNET** — stick to metal surfaces/rails, ride them.
- Green+Blue **SNAILGOD** — climbable slime trail others can also use.
- Blue+Purple **TSUNAMI** — heavy water cannonball; splash rinses nearby players.
- Pink+Red **ROCKET** — tiny + flaming = fastest projectile in the game.
## 7. Courses (initial set sketch)
1. **Breakfast Rush** [MVP greybox] — giant kitchen table; toaster launchers,
cereal avalanches, milk river (water zone), butter pat (oil).
2. **The Machine** [V1] — you shrink and race *through* the Rube Goldberg engine
that powers the house: marble runs, dominoes, gears.
3. **Bathtime** [V1] — bathtub ocean, soap-bubble cleansers everywhere, honey
(shampoo) walls, mud garden outside the window.
4. **Model Village** [V2] — grow-shrink alternating; giants stomp the village
while minis race through it.
## 8. Asset plan (MODELBEAST — local, free)
- **Concept wave (queued now)**: blobbo character sheet, painted variants, course
vistas, contraption props, paint cannon, bubble zone, logo explorations —
`flux_local` on the m3ultra farm.
- **Mesh wave (after concept review)**: hero props + blobbo base mesh via
image→GLB (`hunyuan3d_mlx` / `trellis_mac` / `sf3d`), Blender finish on ultra.
- Blobbo is a **bespoke simple mesh** (sphere-blob + blend shapes), not a
character_kit humanoid — the 2-base-mesh fleet rule doesn't apply, but clips/
rigs stay out of web builds per licensing zones (all generated = 🟢 web-ok).
- Paint itself is **procedural** (shader + splat decals), not generated art.
## 9. Tech stack ⚠️ (recommendation, needs sign-off)
**Recommend: web-first, three.js + Rapier (WASM), server-authoritative Node room
server, docker-deployed to the games VPS (partly.party) like the other games.**
- Fits the existing pipeline: GLB assets, browser distribution, docker deploys,
MRPGI/character-kit tooling knowledge.
- **Soft-body is faked**: rigid capsule/sphere physics proxy + cosmetic jiggle
(vertex springs/shader). Real soft-body × 40 players × netcode is not shippable;
fake wobble is indistinguishable in comedy terms.
- **Paint = Splatoon technique**: per-player UV-space mask texture, splats
rendered into it, GPU mip/reduction pass → live coverage %. Cheap, exact.
- Server runs headless Rapier as authority; clients interpolate. MVP at 8 players,
architecture sized for 40.
- **Decision gate**: if browser perf caps out at M1 milestone, port call to
Godot 4 (native) — flagged early, evaluated with data.
## 10. Milestones
- **M0 — Playground**: one greybox course, blob movement + jiggle, camera. Feels funny to walk.
- **M1 — Paint MVP**: splat pipeline, coverage %, 3 colours + buffs (Red/Green/Blue), bubbles, weight. *Decision gate on stack.*
- **M2 — The Machine**: contraption toolkit, telegraphs, surface materials, Breakfast Rush course.
- **M3 — Multiplayer**: 8-player rooms, server authority, smudging, race format.
- **M4 — The Show**: all 7 colours + blends, scale system, 2nd course, juice/VFX/audio, 40-player test.
## 11. Opus 4.8 execution lanes (preview — full instructions after this doc is approved)
- **Lane A — Engine/feel**: bootstrap, blob controller, camera, jiggle, greybox playground.
- **Lane B — Paint**: splat pipeline, coverage compute, buff/threshold/blend framework.
- **Lane C — Machine**: contraption toolkit, triggers/telegraphs, surface materials, gravity/zones.
- **Lane D — Netcode**: room server, authoritative sim, interpolation, anti-cheat posture.
- **Lane E — Art**: MODELBEAST asset flow → GLB integration, paint shader look-dev, VFX.
Lanes AC can start in parallel worktrees; D after A stabilizes the sim contract;
E continuous. Each lane gets its own instruction doc + acceptance criteria.
## 12. Risks
1. **Netcode × physics** — the classic killer. Mitigation: fake soft-body, authoritative server, small MVP player count.
2. **Readability under chaos** — mitigation: telegraph rule as a pillar, paint identity visible on bodies.
3. **Scope** — this doc is huge. Mitigation: tiers are real; MVP is one course, 3 colours, 8 players.
4. **Cheating** — server authority from day one; never trust client physics.
## 13. Open questions for review ⚠️
1. Buff table (§6) — right 7? right effects? purple/pink as the size pair?
2. Thresholds: 20% activate / 70% super — feel right?
3. Smudge = transfer (steal paint) or removal only?
4. Detergent bubbles: full cleanse or dominant-colour-only?
5. Tech stack sign-off (§9) — web-first OK?
6. Name check: BLOBBO vs. globbo (folder says globbo, repo says BLOBBO).