Plan the story mode in five phases
Oliver settled the last questions: a prologue with the old transformation, the racket zombie as an ordinary body in story chapters, endless arcade gore keeps its duel, and the arcade unlock order. The code survey's constraints are recorded: the cup runs in splatter under an interlude, restartRun wipes G, runGames counts through the cup, bosses are keyed on chapters, duels fire from two triggers, and cupWon freezes the world. Phases: the spine, the transformation and prologue, the screens, help/arcade/unlocks, then metal. v379 (docs only). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
f00b9d9fb2
commit
5e1c6abba4
2 files changed
+77
-9
No files matched your search
+76
-8
@@ -560,12 +560,81 @@ record, promotion screen) are the material the story is built from.
|
||||
9. **METAL IN GORE ONLY.** The existing beds do not fit. Oliver is researching a track; parked until he
|
||||
brings one. Entry point: the transformation.
|
||||
|
||||
### Still open
|
||||
- A prologue: one classic match against a living opponent with the old transformation, once at the start?
|
||||
- The racket zombie in story chapters.
|
||||
- Endless arcade gore keeping its duel economy unchanged (proposed: yes).
|
||||
- The arcade unlock order.
|
||||
- Then the phase plan (to be written before any gameplay changes).
|
||||
10. **A PROLOGUE**, once, before Act I: a classic match against a LIVING opponent and the old transformation
|
||||
unchanged (the living man turns), which tells the outbreak. Classic tennis gets its story role.
|
||||
11. **THE RACKET ZOMBIE** stays in story chapters as an ordinary opponent that returns balls, with no duel
|
||||
behind it.
|
||||
12. **ENDLESS GORE (arcade) keeps its duel economy unchanged.** Only the story drops the duel.
|
||||
13. **ARCADE UNLOCK ORDER** (as in the storyboard):
|
||||
- Act I: Training and Classic Tennis (the free tier ends here, on a win);
|
||||
- Act II: The Climb;
|
||||
- Act III: Splatter Gore (endless);
|
||||
- Act IV: Vs a Friend, hosting;
|
||||
- Act V: Members' Night, the boss marathon (option C, later).
|
||||
Each act also unlocks its court for all modes, as the leagues already do. The weapon pool grows per act:
|
||||
- I: bomb, triple, fire;
|
||||
- II: gun, beacon;
|
||||
- III: laser;
|
||||
- IV: flamer, rocket;
|
||||
- V: double tins.
|
||||
|
||||
All decided (Oliver, 2026-10-15). Next: the phase plan, written here before any gameplay changes.
|
||||
|
||||
### What the code forces (survey of 2026-10-15, before building)
|
||||
- **The cup does not run in `'tennis'`.** It runs in `'splatter'` under a permanent `G.interlude`; O is
|
||||
invisible and the opponent is a zombie `'r'` with a `fam`. `startTransition` is keyed on O and on mode
|
||||
`'tennis'`, so the act transformation is a NEW variant on the `'r'` body. The prologue can use the old
|
||||
one unchanged, because it IS a classic match.
|
||||
- **`restartRun` wipes all of `G`.** Checkpoint state (act, checkpoint, rack snapshot, attempts) must live in
|
||||
the profile, the way the promotion and the last run already survive it.
|
||||
- **The cup's games count into `G.runGames`.** A chapter must start at game 0. Spawn ramps, `barrelGap`,
|
||||
`BARREL_WEAPONS.from` and racket hp all read it.
|
||||
- **Bosses are keyed on chapter numbers.** `G.bossDue = floor(runGames / 10)`, `bossArt(ch)`, and hp/scale
|
||||
grow with the chapter. The story needs a design-indexed spawn: a `BOSS_ART` row plus an act strength,
|
||||
with a game-5 hook in `splatPoint`.
|
||||
- **Duels fire from TWO places:** the schedule (`duelDue`), and an unscheduled lucky-clear trigger in update
|
||||
whenever exactly one un-dueled `'r'` stands in pretoss. Racket zombies also arrive from `splatPoint`,
|
||||
`endHorde` and `startDuel`. "No duel in the story" must gate both triggers.
|
||||
- **`cupWon` ends with `G.done`, which freezes `update()`.** The story's final must branch before that:
|
||||
at the final's kill fall, or by replacing `cupWon`.
|
||||
- **Tests that pin what the story changes:**
|
||||
- 'THE CUP CLIMBS' (rounds ascending, the final the band's top). The story builds its own rounds and
|
||||
leaves `cupRoundsFor` alone.
|
||||
- The TOURNAMENT / LEAGUES promotion tests. The story's act card replaces promotion only on the story
|
||||
path.
|
||||
- Arcade gore's tests stay as they are, because arcade gore stays as it is.
|
||||
|
||||
### The phases
|
||||
Each phase ships to staging and gets a phone verdict, and tests ride along with each one.
|
||||
1. **THE SPINE — story state and flow, on the existing screens.**
|
||||
- `prof.story = {act, cp, stock, tries}`, with a profile version bump that resets the testers.
|
||||
- `beats.startStory()` is a mode owner like every other.
|
||||
- The story cup is the league cup machinery with its own rounds builder (final = the act boss's body).
|
||||
- The chapter is gore from game 0, capped at 10, with:
|
||||
- no duels (both triggers gated);
|
||||
- the racket zombie as an ordinary returning body;
|
||||
- the mid-boss at game 5 and the boss at game 10 through a design-indexed boss spawn;
|
||||
- the cup loot as the starting rack (`grantWeapon`);
|
||||
- a restock and full heal after the mid-boss.
|
||||
- Death or elimination restarts from the checkpoint.
|
||||
- The splash's primary button continues the story.
|
||||
- Transitions are plain cards (`showModal` / `G.card`) for now.
|
||||
2. **THE TRANSFORMATION AND THE PROLOGUE.**
|
||||
- The act variant: at the final's last point, zoom onto the `'r'` body, hitstop and flash, and a `'B'`
|
||||
boss of its design spawns there and grows. It runs out of frame, the stands empty onto the court
|
||||
(the mob beat), and `enterSplatter()` starts game 1 without a cut. The boss's name slams with
|
||||
"GAME 10".
|
||||
- The prologue: a classic match against a living opponent, re-using `startTransition` as written.
|
||||
3. **THE SCREENS.** The act title card, the cup-won/loot screen (count-up, weapons dropping into the rack,
|
||||
the chapter preview with "???"), the checkpoint banner, the death screen with its retry point, and the
|
||||
act card on the promotion screen's pattern. All animated, in the storyboard's look.
|
||||
4. **HELP, ARCADE, UNLOCKS.**
|
||||
- The assist tiers (from the 3rd try, at most 2).
|
||||
- The menu: arcade shows only what the story has unlocked (with a premium flag stub), in the agreed
|
||||
order.
|
||||
- Courts and the weapon pool per act, and the free-tier cut at the end of Act I (the store plan's flag).
|
||||
5. **LATER.** The metal bed (when Oliver has a track: start at the transformation, gore only) and Members'
|
||||
Night (option C).
|
||||
|
||||
## Session log: THE SEASON, PHASES 1-4 — the front door, the record, the rooms, the season beat (2026-08-31, STAGING ONLY)
|
||||
|
||||
@@ -5838,8 +5907,7 @@ stance the old recovery still takes him back.
|
||||
|
||||
Nothing here is broken; these are known gaps and unverified risks.
|
||||
|
||||
0. **THE STORY (2026-10-15) is agreed in discussion and NOT built.** See "THE STORY" above; the phase plan
|
||||
comes next.
|
||||
0. **THE STORY (2026-10-15) is agreed and planned (five phases), NOT built.** See "THE STORY" above.
|
||||
|
||||
00. **THE RALLY GOES FLAT (2026-10-13).** Every match converged on serve, both at the net,
|
||||
reflex volleys, won by a wrong-foot. Step 1 (the court gets its length) SHIPPED v361, awaiting the
|
||||
|
||||
+1
-1
@@ -1140,6 +1140,6 @@ if (location.hostname !== 'splatter-tennis.wuwi.one' && !window.Capacitor?.isNat
|
||||
</div>
|
||||
</div>
|
||||
<span id="recLamp" hidden>REC</span>
|
||||
<script type="module" src="src/main.js?v=378"></script>
|
||||
<script type="module" src="src/main.js?v=379"></script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in new issue
Block a user