The cup board: the league ranks, the level breaks the tie
Oliver wanted to rank the level a league was taken at. The challenge held: xp comes only from playing, so a board that rewards a low level rewards not playing — it would pay you to avoid the three rooms the season leans on. It also inverts every other number in the game, freezes after five entries, and makes the player who played more look worse. So the league ranks and the level decides between everyone who got equally far, where "lower is better" reads naturally. BOARDS.u carries subLow; server rank_key is the other half, and the same key decides whether a submission beats the row already standing. The level is written once at the promotion — before the league moves, because it is the level that WON the cup — mirrored like the rest of the profile, and inscribed under the shield it belongs to. Earned shields smoulder while they are on screen: five CSS embers each, no loop. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
e96b4374d8
commit
80eb60d181
8 files changed
+226
-40
No files matched your search
+47
@@ -643,6 +643,53 @@ through.
|
||||
Open for the phone: whether the fixture button should ever go to the setup screen (it does not
|
||||
now), and whether the promotion's WALK ON should enter the cup instead of the clubhouse.
|
||||
|
||||
## Session log: THE STATS STREAMLINE AND THE CUP BOARD (2026-08-31, STAGING ONLY)
|
||||
|
||||
Oliver: "stats und board — es ist total verwirrend, ich habe keine ahnung was dort angezeigt wird...
|
||||
ich habe die vermutung, dass hier noch viele kpis erfasst werden, die in alten spielmodi bedeutung
|
||||
hatten". He was right, and the count was worse than the feeling: the screen had THREE mode tabs
|
||||
times THREE period tabs, and the same three boxes meant something different in every one of the
|
||||
nine states (KILLS/MULTI-KILLS/DEATHS · FELLED/DEEPEST/RUNS · PLAYED/WON/LOST). The card repeated
|
||||
three of those numbers summed across modes, so the same word meant "this mode" in one place and
|
||||
"all modes" in the other — and "BEST RUN" on the card counted GAMES while "BEST" on the board
|
||||
counted KILLS.
|
||||
|
||||
**What went, and why:**
|
||||
- **MULTI-KILLS** — a vanity number on no board, from the gore era.
|
||||
- **DEATHS** — every gore and climb run ends in one, so it was RUNS again in a second box.
|
||||
- **The period tabs** — LAST RUN is the summary you just tapped away; 7 DAYS is a fitness metric in
|
||||
a permadeath arcade game. `read()` keeps the parameter; the UI does not.
|
||||
- **The mode tabs on BODY COUNT** — one career, four numbers that never change meaning: BODIES
|
||||
FELLED, BEST GORE RUN, DEEPEST CLIMB, RUNS. Then the roster (the collection, which is what the
|
||||
screen is actually good at) and the rack.
|
||||
- **The CLASSIC board** — classic tennis is OUT OF COMPETITION by its own room's rule since the
|
||||
text reduction, so ranking it contradicted the wall. Its records still bank locally; they just no
|
||||
longer submit, and a classic best no longer opens the name prompt.
|
||||
|
||||
**THE CUP BOARD** (Oliver: "cup board finde ich das wichtigste"), and the one real design argument
|
||||
of the session. He wanted to rank THE LEVEL YOU TOOK THE LEAGUE AT. Challenged, and the challenge
|
||||
held: xp comes only from playing, so a board that rewards a low level rewards NOT PLAYING — it
|
||||
would pay you to avoid gore, the climb and training, the three rooms the season leans on. Three
|
||||
smaller objections: it inverts the reading direction of every other number in the game, it can be
|
||||
set exactly five times in a career and then freezes, and it makes the player who played MORE look
|
||||
worse.
|
||||
|
||||
Settled instead: **the league ranks, the level breaks the tie.** `LEAGUE 4 · AT 22` — the canonical
|
||||
achievement sorts, and his number decides between everyone who got equally far, where "lower is
|
||||
better" reads naturally. Playing more costs you the tie-break at worst, never the place.
|
||||
- `BOARDS.u` (`MODE_CUP`) carries `subLow: true`; `server.rank_key()` is the other half — the ONE
|
||||
board whose second column sorts ascending, and the "is this submission better" test uses the same
|
||||
key, so a better row is a higher league or the same league at a lower level.
|
||||
- `profile.at` (league -> level) is written ONCE, at the promotion, before `prof.lg` moves — the
|
||||
level that WON the cup, not the one you walk on with. Mirrored server-side like `cups`.
|
||||
- A promotion posts itself (`main.postCup`): no name prompt in the way, no personal-best gate.
|
||||
- The same number is the INSCRIPTION under each earned shield on the card (`AT 14`) — where a
|
||||
figure set once in a career belongs. Earned shields smoulder now: five CSS embers each, random
|
||||
lane and delay, no game loop involved.
|
||||
|
||||
The card also stopped repeating the ledger (it carries the CAREER: league, cups won, best cup) and
|
||||
its crest moved beside the league line instead of pushing it down.
|
||||
|
||||
## Session log: THE MENU TEXT REDUCTION — the design handoff, built (2026-08-31, STAGING ONLY)
|
||||
|
||||
A handoff from a design session (its folder is on Oliver's disk, git-ignored: the prototype ships a
|
||||
|
||||
Reference in new issue
Block a user