Rooms are data now: geometry per backdrop, sim and renderer both room-aware. First expansion beat: Move HQ to the garage ($3k) — 14x14 of concrete and 2.4kW of service, MODELBEAST-generated backdrop. Heat got teeth: packed carriers choke airflow (+15% heat per extra card) and throttling no longer self-regulates temps, so a crammed rig sustained over 95C ignites — device and cards destroyed, fire spreads heat and can cascade; click flames to beat them out with a hoodie, or a CO2 extinguisher within 3 tiles sacrifices itself automatically. Used cards (P106, MTT S80, RX 580) now die under load. Attention tools: ad-spend slider with log-diminishing hype, and the email Spam Blast — instant catalog-wide views on a 60s cooldown with a 15% blacklist gamble. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
5.7 KiB
GigaSlop — project notes for Claude
What this is
Satirical AI-datacenter tycoon game. Web-first: TypeScript + Vite + PixiJS v8.
Design doctrine: the sim stays engine-agnostic — src/sim/ must never
import from src/render/ or src/ui/ (a future Godot/Steam port swaps the
renderer only). Fixed 10 Hz tick, deterministic (seeded rng in state, no
Date.now/Math.random inside sim).
Dev loop
npm run devon :5173 (.claude/launch.jsonhas the preview config).- The Browser-pane tab is usually
visibility: hidden→ RAF doesn't fire. The sim is pumped by setInterval on purpose; don't move it back into RAF. window.__giga= debug handle {state, scene, place(), wire()} for JS-driven playtesting. Keep it working — automation depends on it.- All balance tunables live in
src/sim/balance.ts. Tune there, nowhere else.
Art pipeline (MODELBEAST)
python3 tools/mb_gen.py [--only room|objects|slop]regenerates art on the farm (queue http://100.89.131.57:8777, token from ~/Documents/backnforth/.env). Deterministic seeds from asset slug — same slug, same image.- Object sprites: flux_local → bg_remove_local (background:"transparent") → autocropped in place (PIL alpha-bbox, 8px pad). If you regenerate, re-crop.
- Room/grid registration:
src/render/iso.ts(TILE 82x41, ORIGIN 510,346) is hand-fitted topublic/assets/gen/room.png. New room image = refit constants (toggle the Grid overlay to check). - Slop thumbnails are intentionally AI slop; titles in src/data/sloptitles.json (Ollama on m4pro was down at bake time; hand-authored — regenerate via tailnet Ollama when it's back if more are needed).
Roadmap (agreed with John 2026-08-01)
✅ M1 art-forward Tier-1 slice (save/load, naming, SFX) ✅ M2 platform-decay treadmill: platformAdapt rises per publish, throttles all view rates (up to 85%), tier-up grants relief — verified loop: publish → squeeze → train → relief. Infra: 20A sub-panel (+1500W), fiber uplink (1Gbps/8 ports), Cash Furnace (burns $1.5/s for +40% views; John's idea, keep it — endgame R&D tree should have a literal cash-conveyor upgrade). ✅ M3: VC rounds (Seed→C) with views-delta mandates — fail = -25% cash and permanent equity dilution; rival CEO events (Doomsworth/Hypeman/Freeman Weights/Poogle) on a seeded timer with timed view/price effects and a 60/40 CLAP BACK gamble. Seed goal calibrated empirically: decisive play ≈48K views/8min, goal 40K, idle ≈12K. ✅ M4 skill trees (src/sim/research.ts is the single source of truth; sim reads one computeMods() bundle — add nodes there, never special-case sim): • Model Lab (L): gen ladder is now bought from the training bank; modality branch (voice→image→video→A/V, richer = more views but pricier videos); one exclusive spec per gen (engagement/stealth/efficient, cleared on gen-up); data source own/scraped/licensed — own rolls 35% MODEL COLLAPSE (half revenue + all-gibberish titles for that gen), scraped attracts lawsuits, licensed bills per token. • Corporate R&D (R): perk point per closed VC round + cash; Ops/Growth/ Legal branches; capstones Diesel Backup (grace+auto-reset, no checkpoint corruption), THE CONVEYOR (10% gross income burned, +50% views), Regulatory Capture (lawsuit immune, 2x adapt decay). • Sockets: click device → inspector panel (stats, on/off, sell, 2 upgrade slots: fans/undervolt/risers). ✅ M5 model line + API market: player names their model at incorporation (versions 1/1.5/2/3 = the old tier ladder); ship grades mini/pro/MAX from the training bank (margin/demand/distill-risk per grade, GRADES in research.ts); 3-way compute split train/host/slop (allocHosting); rotating third-party market (rollMarketModel), hot drops crater incumbent margins ~28%; hosting your own grade rolls distillation (margin cut 60% that version — re-ship on a newer version to restore the moat); scraping ops cash ladder (puppeteer→proxies→botnet→captcha) vs severity-1..3 IP-ban outages. Market panel = M key. ✅ M6 hardware depth: GPU cards (GPUS in catalog.ts, 11 parody cards P106→BigChungus) install into carrier slots (PC=1, rig=4, half-rack=8 +rackClass for datacenter cards); carriers have no intrinsic tok — cards provide tok/watts/VRAM/heat. VRAM totals gate ALL token output vs the running version's needs (TIERS vramGB, floor 0.25). Storage devices (shoebox/NVMe/NAS) gate training checkpoints (TIERS checkpointGB — training stalls without disk). Switch layer: device→switch→uplink with per-switch Mbps caps (no daisy chains). Shop has category headers. Old saves get equivalent card loadouts (save.ts migration). ✅ M7: rooms are data (src/sim/rooms.ts — geometry hand-registered per backdrop; iso.ts is room-aware via setRoomGeom; sim reads ROOMS[s.room]). Garage move: $3k at $2.5k earned, 14x14, 2.4kW base. Thermal runaway: packed carriers get +15% heat per extra card and throttling does NOT reduce heat — sustained >95°C ignites (device + cards destroyed, fire spreads heat, click flames to fight; CO2 extinguisher auto-douses one fire within 3 tiles then is spent). Flaky used cards (p106/mtt_s80/ radish580) die under load. Ad-spend slider (log-diminishing hype) + email Spam Blast (instant views, 60s cooldown, 15% blacklist risk). → M8 backlog: ACTIVE scraping minigame, subscribers/SaaS churn revenue, warehouse room (tier 3), Conveyor belt visual, per-carrier PSU, liquid/immersion cooling for racks (fires make it necessary). Design pillars (John-approved framing): Throughput, Allocation, Attention, Capital, Expansion. Macro layer (Tier 4-5) = strategic map, NOT city-builder. Cut until earned: Tiers 3–5, immersion cooling, offshore ships, lobbying.