Triage: always kill the body that would reach you first
The sequence drill tested nothing — the strip was always visible (no memory), the batch was slow (no urgency), the aim was easy (no execution). A checklist with gore, and Oliver said so: "not interesting enough to keep me playing". Settled in discussion, he picked triage + streak. One rule: always kill the body that would reach you first. Nothing is called, nothing shown — the court is the puzzle. arrival = distance / speed down a held lane, and the roster's speed spread means the answer is not the closest body: a runner at the far baseline beats a roller at the service line. Court sense — and it trains the exact target-priority read the gore mode rewards. Wounds are free: only the kill is judged, so pre-softening a heavy while it is third in line is legal and eventually necessary. The slack (0.9s) makes near-ties legal both ways, or the rule is a coin flip. The streak is both punishment and payout: x1..x5, a misread shows OUT OF TURN and resets it, and nothing else happens — the queue keeps walking. Caught is the real setback. Best score banks to localStorage; the world board can carry it if it ships. drillMark draws a chevron over the queue head for playtest calibration. It answers the exact question the mode asks, so it must be off in anything shipped. Deleted: the alphabet, the batch, the strip, the eaters. Shamblers are first-class stream members with pts 20; a roller is 100. 30 tests, rewritten around arithmetic riggings (known speeds and distances) instead of luck; 20 seeds clean. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
57e96d629e
commit
6a16e77480
8 files changed
+313
-459
No files matched your search
+32
@@ -762,6 +762,38 @@ drill-only HP scale is the knob, not a change to the roster.
|
||||
deleted and rotting, and the never-a-fault rule is now tested with a hand-placed body so it holds
|
||||
either way. That is the shape to copy for any other switchable subsystem here.
|
||||
|
||||
**ELEVENTH PASS — TRIAGE: the drill finally gets a skill.** Oliver's verdict on the sequence
|
||||
version was the honest one — *"it feels not interesting enough to keep me playing.. I am really
|
||||
looking for some mechanic to make this skill based"* — and the diagnosis was that it tested
|
||||
nothing: the strip was always visible (no memory), the batch was slow (no urgency), the aim was
|
||||
easy (no execution). A checklist with gore. Settled in discussion: options were hide-the-call
|
||||
(memory), triage (judgment), clock+streak (score); he picked **triage + streak**.
|
||||
|
||||
**ONE RULE: always kill the body that would reach you first.** Nothing is called, nothing shown —
|
||||
the court is the puzzle. `arrival(zb) = (COURT.L - zb.z) / zb.v` down a HELD lane (that is why
|
||||
drill bodies hold lanes — it makes the projection honest), and the roster's speed spread means the
|
||||
answer is not the closest body: a runner at the far baseline beats a roller at the service line.
|
||||
This is court sense, the most tennis-flavoured skill there is, and it trains the exact
|
||||
target-priority read the gore mode rewards. The strip, the alphabet, the batch and the eaters are
|
||||
all deleted — shamblers are first-class stream members now, `pts` 20 up to a roller's 100.
|
||||
|
||||
The three design points that make it a game rather than a quiz:
|
||||
- **WOUNDS ARE FREE.** Only the KILL is judged (drillKill sits behind the kill funnel, wound()
|
||||
never reaches it), so pre-softening a heavy while it is third in line is legal and eventually
|
||||
necessary. This is also why `drillOneShot` must stay off: 1 hp bodies delete the planning layer.
|
||||
- **THE SLACK** (`drillSlack` 0.9 s): two bodies arriving within it are both legal. Without it a
|
||||
near-tie made the rule a coin flip and a fault read as theft. Tightening it is the difficulty
|
||||
curve for good players.
|
||||
- **THE STREAK IS BOTH PUNISHMENT AND PAYOUT.** x1..x5 (`drillMultEvery` 4, `drillMultCap` 5), a
|
||||
misread resets it and shows OUT OF TURN, and nothing else happens — no sweep, no lost round; the
|
||||
queue keeps walking. Being CAUGHT is the real setback (sweep + ramp handback), score survives.
|
||||
Best is banked in localStorage (`drillBest`); the world board can carry it if the mode ships.
|
||||
|
||||
**`TUNE.drillMark` (ON for the playtest): a chevron over the queue head.** It exists so Oliver can
|
||||
check the game's read against his own — and it answers the exact question the mode asks, so it MUST
|
||||
be off in anything shipped. If his read and the marker disagree often, tune `drillSlack` before
|
||||
touching `arrival`.
|
||||
|
||||
**Open, and every one of them is Oliver's call after he plays it:**
|
||||
1. ~~**A ball that carries through the lane can complete two steps at once.**~~ Largely CLOSED by
|
||||
the slice removal (seventh pass) — a cut ball picking its own next victim was the main way this
|
||||
|
||||
Reference in new issue
Block a user