52bdcd0a5e
2 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
52bdcd0a5e |
The week: five nights, one wallet, and an ending that tells the truth
SPRINT8 gate 1, carried since Sprint 6. week.js is a thin wrapper over the phase machine, not a new system: it answers three questions between rounds — which storm is tonight, how much money is there, and is it over. Zero THREE, pure data, so the ladder and the money are testable at no cost. The forecast card stops being a difficulty picker and becomes NIGHT n OF 5 with the ladder as pips, tonight's storm, and the bank. Aftermath itemises the settlement (fee / bonus / gear recovered / collateral / spent → bank), and E's dawn tint comes up on their 2.2s ease BEFORE the scoreboard — their note is right that you sell the survival first. E's diptych and copy are wired verbatim. Two economy decisions, both made because measuring the week exposed them: A lost night pays a FRACTION of the fee. Zero is unrecoverable and reads as punishment; full pay means failure only costs the broken shackle and the bank only ever climbs. Gear comes back at HALF — a full refund makes hardware free, so the only sink is breakage and "broke = game over" becomes unreachable. Half is also honest: a shackle that rode out a gale has been fatigued, which DESIGN.md already says. And the one that matters: REACHING night five is not SURVIVING it. My first draft said it was, and playing the week found it — a $20-carabiner player loses four gardens, never dips under the broke line because a cheap rig barely costs anything, and got handed "THE WEEK HELD — everything's still where you put it" over four dead gardens. The end card is the last thing this game says; it doesn't get to lie the way the aftermath verdict used to. Words now scale with gardens held: clean (5), scraped (3-4, E's own alternate copy), solvent (0-2, mine — "STILL TRADING · The books balanced. The garden didn't." E never wrote words for that ending because nobody knew the game could produce it). Two economy questions I could NOT settle from a harness and have documented rather than quietly tuned: a competent week runs the bank 80 → 350, so night five stops being a decision; and a floor-scraping week may never actually go broke. My bad-player model handed back a fixed $30 of gear whatever it spent, which flattered the bottom of the curve — the same class of mistake this repo keeps catching me in. Both want a human playing five nights. Selftest 270 pass; the single red is gate 0's balance line, which is B+D's this sprint and was already red on main. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|
|
2b66ce4b9a |
Give the game a face: HUD, mouse prep, forecast and aftermath (gate 1)
SPRINT4 §Lane A 1-5. Everything the game already simulated was invisible to a stranger; you can now play a whole round with eyes and a mouse and never open the console. hud.js only ever READS — it takes no decisions and owns no state worth keeping, so it can be this chatty without anything drifting. Corner load bars are world-anchored rather than screen-anchored because a number in the corner of the screen can't tell you WHICH shackle is about to go, and that is the entire "...the shackle, I knew about the shackle" moment. They hold constant screen size with distance: a house corner is 18 m away from the posts, where a world-sized bar is a few unreadable pixels. Prep is Lane B's createRiggingUI wired to the phase machine — their picking was already complete, this is the hands. Forecast reads the three authored storms, so the difficulty select came free: Sea Breeze / Southerly Buster / Wild Night with real peak wind, gust character and change time. Two bugs the wiring surfaced, both found by playing rather than reading: - The rigging session survived "play again": a second round started at $35 with three corners already hung, and the four anchors you clicked were silently ignored because the session was full. resetRig() walks it back through the session's own public moves, so the economy stays the one source of truth. - The forecast card's lifetime was owned by its own button, so any other route into prep left a card floating over a live game eating input. The phase owns it now. Verified by playing it: good rig on the wild night wins at 53%, the same yard's cheap drum-tight span loses 4 corners, the gentle night with a good rig ends at 93% "not a leaf out of place". Selftest 184/0/0. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |