|
| 1 | +# UI + features stack (Pip playtest 2026-07-17) |
| 2 | + |
| 3 | +> Living backlog from Pip's #664 alpha playtest. Loved the patch overall ("mechanically it feels |
| 4 | +> amazing"; "sense of time progressing is fantastic"). This captures every note, the design |
| 5 | +> heuristics behind them, and the insight Pip wanted recorded. Priority: P0 ship-relevant / P1 soon |
| 6 | +> / P2 polish. Items marked IN-FLIGHT are already being built. |
| 7 | +
|
| 8 | +## Design heuristics / principles (Pip's -- treat as rules-of-thumb) |
| 9 | +- **No early loss:** a new player should NOT normally be able to lose within the first ~6 turns. |
| 10 | +- **Easy information transition once earned (pain/payoff):** the player can fight for or "buy" |
| 11 | + information; once earned it should flow easily across sub-menus (offer page etc.) with static |
| 12 | + bits staying put. Don't administratively hurt the player with clicks/attention the game can't |
| 13 | + also make easier -- every friction should have a payoff the game helps them realize. |
| 14 | +- **Rage-quit friction:** slow down rage-quitting -- quit-to-menu by default, offer reload, make |
| 15 | + "wait" moments (loading screens) fun rather than punishing. |
| 16 | +- **Time model:** a TURN is a planning period (count it); DAYS are the baseline tick; the game |
| 17 | + starts at the start of a period on a date. Show the turn count AND the date, cleanly. |
| 18 | +- **Channel discipline:** don't flood the event feed, especially at low situational awareness -- |
| 19 | + down-tune volume or give obvious filtering. |
| 20 | + |
| 21 | +## Insight to note (Pip credited this, well-received) |
| 22 | +- The **hiring mini-tab flavour + grouped status fields** (grouping the candidate's fields by |
| 23 | + category) was a good call and reads well. Keep this grouping pattern for other info-dense panels. |
| 24 | + |
| 25 | +## IN-FLIGHT (building now, this session) |
| 26 | +- **Promise cost fix (B):** appetite-promises cost future domain obligations (paper slot / compute |
| 27 | + / mission constraint), not raw reputation -- kills the turn-14 rep-collapse instant-death; +a |
| 28 | + test that promises can't cause a loss in <=6 turns; +cost shown before commit. (fix/promise-currency) |
| 29 | +- **Manual PLAN<->WATCH toggle** (switch views at will). (feat/ui-quick-wins) |
| 30 | +- **Turn/date display tidy** (Turn N + human date, clean-slated). (feat/ui-quick-wins) |
| 31 | +- **In-flight hiring steps in the action queue** with progress (interview 2/3 ticks, etc.). (feat/ui-quick-wins) |
| 32 | + |
| 33 | +## P0 -- ship-relevant polish (do around the alpha) |
| 34 | +- **Quit -> Main Menu by default** (not quit-to-desktop) to slow rage-quits. |
| 35 | +- **Defeat title/cause mismatch:** the screen showed "The AI Destroyed Humanity" while the cause |
| 36 | + was reputation collapse. Title the defeat by its ACTUAL death-attribution (rep collapse -> |
| 37 | + "lost all credibility"). `death_attribution.gd`. |
| 38 | +- **Event-feed flooding:** the feed is drowning in `technical_research_breakthrough` / arxiv FEED |
| 39 | + lines. Either down-tune visible-event volume (scale to situational awareness) OR add obvious |
| 40 | + filtering -- MMORPG-style channels (global / local / org / party-equivalent) the player toggles. |
| 41 | + Start with the cheapest: a verbosity toggle + collapse the arxiv-flavour spam. |
| 42 | + CONFIRMED SEVERITY (turn-229 dump): the ENTIRE `hist_arxiv` deck fires -- 200+ entries in |
| 43 | + `event_cooldowns` -- so the feed is flooded by design, not a fluke. The flavour-arxiv stream |
| 44 | + needs its own channel/severity so it never crowds out real, actionable events. |
| 45 | + |
| 46 | +## Playtest data (2026-07-17, seed weekly-2026-w0) |
| 47 | +- Two rep-collapse deaths: turn 14 (bill -54) and turn 229 (one `mission_charter` promise, bill |
| 48 | + -80) -- both from the promise-as-reputation-debt bug (promise principal 2183 vs start rep 50). |
| 49 | + Fixed by the promise-currency (B) lane. |
| 50 | +- Baseline (do-nothing) survives 588 turns / score 28413; the played runs died at 14 and 229 -- |
| 51 | + inaction still outlives action, so promises + rep-collapse are the dominant early-loss vector. |
| 52 | +- Burnout is climbing correctly (Gray/Ellis at 81 after ~162 turns) -- the slow-burn works. |
| 53 | +- Defeat title said "The AI Destroyed Humanity" at doom 50 while the actual cause was rep-collapse |
| 54 | + -> the title/cause mismatch above. |
| 55 | + |
| 56 | +## P1 -- soon (onboarding legibility + info flow + consequences) |
| 57 | +- **Onboarding-pending highlight on the main screen:** make pending onboarding read louder. |
| 58 | + Integrate the office visuals -- e.g. a hollow, glowing green DASHED outline of the absent item |
| 59 | + (laptop/desk), transparency for easy parsing. Fun + legible. |
| 60 | +- **Draw each step's result to easy-dismiss attention** (a light toast/blip per hiring-step |
| 61 | + resolution; dismissible, not modal). |
| 62 | +- **Warn before penalty:** surface a heads-up right around when the game is about to start |
| 63 | + penalising the player for inaction-to-date (the "you should probably act now" nudge). |
| 64 | +- **Offer page = earned-info transition:** scouted/revealed candidate info shows easily on the |
| 65 | + offer page; as you move through sub-menus, earned info persists/transmutes, static bits stay. |
| 66 | + (Direct application of the pain/payoff principle.) |
| 67 | +- **Reload from an earlier era** on defeat (once autosave lands) -- "make better decisions." |
| 68 | +- **Dev tools / debug reinstatement + upgrade:** better dev/debug tooling may have been lost / |
| 69 | + re-hotkeyed / combined during the UI work -- audit, restore, and upgrade. Add a processing-time |
| 70 | + / perf readout in debug modes. |
| 71 | + |
| 72 | +## P2 -- flavour + polish |
| 73 | +- **Early-game idle / "browse the internet" / shitpost actions:** low-stakes flavour actions that |
| 74 | + fill the calm early turns and reinforce the sense of time passing. |
| 75 | +- **CoD-style AI-safety quote collection** on defeat ("whoops, defeat" -- a rotating set of real |
| 76 | + AI-safety quotes; light rage-bait; extends the existing aisafety.info link). |
| 77 | +- **Loading screens / screen transitions** if runtime creeps (the baseline sim can hang a beat); |
| 78 | + make them a fun rage-bait moment. Tie to the debug processing-time work. |
| 79 | +- **Full Gantt / progress lane** for the two-view split (the wireframe's progress-bar idea, fuller |
| 80 | + version once the in-queue progress lands). |
| 81 | + |
| 82 | +## Art to generate (a few hundred generations spare) |
| 83 | +- Onboarding "absent item" glowing-green dashed outlines (or do as a shader -- likely cheaper). |
| 84 | +- UI elements / panel frames / status blips (the earlier UI-filler batch was weak; pair with the |
| 85 | + palette + likely the gpt-image-1 pipeline for icons). |
| 86 | +- Loading-screen art. |
| 87 | + |
| 88 | +## Cross-refs |
| 89 | +`BUILD_BRIEF_PLAN_WATCH_UI.md` (two-view), `PALETTE_AND_DOOM_INTENSITY.md` (glow colours for the |
| 90 | +green dashed outline = the "ok/computers-working" green), `docs/art/reviews/` (prop art for the office). |
0 commit comments