The rounds stay, the seams go: one continuous stream
Oliver: "daniel announcing is maximum annoying" / "don't let the rush in position just let them coming from the back in steady speed.. try to space them not too close" / "when one combination is done just let the new one in.. in a continuous stream that increases in speed and difficulty" / "the rounds can stay, they should be continuous". The round survives as the unit. Every seam around it is deleted: no walk-on to a mark, no announcement beat, no between-rounds pause, no deal. Bodies walk in from the far baseline forever and a round is drawn from whoever is on court — finish one and the next is drawn in the same frame, off the same rolling population. The bodies you were ignoring a second ago are the ones being called now. - Daniel is gone from this mode. Each colour has a pitch; a round announces itself as a four-note figure in half a second (blip()). drillTones 0 mutes it. The recordings stay in assets. - PLACEMENTS is deleted with the marks — nothing rushes anywhere and nothing stops, so there are no shapes to place. - A DRILL BODY HOLDS ITS LANE. updateZombies homes bodies onto the player's x past the net, so they arrived spread and bunched into a knot right in front of you; spawn spacing cannot survive that. Their lane is the puzzle here. - One ramp on TIME SURVIVED drives speed, spawn gap and round length. Speed is stamped per body at spawn, so the ramp reads as newcomers outpacing the ones already walking, not the court accelerating under you. - The empty-court watchdog is gone and nothing replaced it: with a stream there is no state to be stuck in. One line covers every case. 27 tests, rewritten around the stream. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
435a470ec7
commit
1d49c4343b
9 files changed
+286
-287
No files matched your search
+20
-21
@@ -345,28 +345,27 @@ export const TUNE = {
|
||||
barrelRoll: 2.6, // m/s it trundles across the far court — fast enough to have to be led
|
||||
barrelHp: 1, // anything pops it: ball, pellet, bomb, flame, swish. It is a target, not a body
|
||||
barrelH: 1.15, // drawn height (a body is 1.8)
|
||||
// ---- THE COACHING DRILL (src/drill.js) — the cognitive mode, currently a feel-test prototype.
|
||||
// The umpire calls a colour sequence while bibbed bodies take their marks; you put them down in
|
||||
// that order. Uncalled colours are decoys. Two faults and they take the point.
|
||||
drillBodiesMin: 3,// bibs on court: a RANGE, drawn per round out of the six-colour palette. Fixed at
|
||||
drillBodies: 5, // four out of four, every round dealt every colour and only the order changed —
|
||||
// three quarters of the round was known before the umpire opened his mouth.
|
||||
// Capped by DRILL_COLS. Above five the court stops reading at phone scale.
|
||||
drillSeq: 3, // colours CALLED in round one; whatever is left on court is decoys
|
||||
drillSeqMax: 4, // ...and the ceiling it climbs to (+1 every 3 rounds). Deliberately low: a longer
|
||||
// list is a memory test and memory tests fatigue. What keeps getting harder is
|
||||
// the GEOMETRY — the PLACEMENTS table in drill.js, and how badly the called order
|
||||
// fights the order they reach you in.
|
||||
drillCallT: 4.2, // s of walk-on while the umpire reads the list. No serving during it
|
||||
drillWalkOn: 3.4, // m/s they jog out to their marks (a walk-on is brisk; the approach is not)
|
||||
drillMarkZ: 5.0, // near edge of the band they line up in...
|
||||
drillMarkSpread: 6.5, // ...and how deep that band runs, so they never arrive as a flat rank
|
||||
// ---- THE COACHING DRILL (src/drill.js) — the cognitive mode. SECOND DESIGN: a continuous
|
||||
// stream. Bodies walk in from the far baseline forever; a ROUND is a colour combination drawn from
|
||||
// whoever is on court, and finishing one draws the next on the spot. No walk-on, no announcement
|
||||
// beat, no pause between rounds — every seam Oliver found is gone, the round itself stays.
|
||||
drillMaxOnCourt: 6, // bibs on court at once. Hard-capped by DRILL_COLS (a colour appears once)
|
||||
drillSeed: 4, // bodies placed at the start so the first round is callable immediately
|
||||
drillSeedGap: 2.2,// m of depth between those seeded bodies — strung out, not a rank abreast
|
||||
drillSpawnZ: 0.6, // z they enter at (the far baseline is 0)
|
||||
drillNearZ: 9.0, // spacing is measured against bodies nearer than this — the ones still bunched
|
||||
drillSpread: 3.4, // m either side of the centre line the lanes fan across
|
||||
drillSpeed: 0.95, // m/s they advance once the call is over
|
||||
drillSpeedPerRound: 0.06, // ...climbing per round survived
|
||||
drillRush: 1.9, // speed multiplier for drillRushT after a FAULT — the punishment is tempo, and
|
||||
drillRushT: 1.6, // it has to be felt in the body, not read off a scoreline
|
||||
drillBeat: 2.0, // s between rounds
|
||||
drillSeq: 3, // colours in a round at the start of the ramp...
|
||||
drillSeqMax: 5, // ...and at the top of it
|
||||
drillSpawnEvery: 3.4, // s between arrivals at the start...
|
||||
drillSpawnMin: 1.2, // ...and at the top. THE difficulty dial: the court fills faster than you clear
|
||||
drillSpeed: 0.80, // m/s they walk at the start...
|
||||
drillSpeedMax: 1.9,// ...and at the top. Stamped per body AT SPAWN, so the ramp shows up as new
|
||||
// arrivals outpacing the ones already walking, not as the court accelerating
|
||||
drillRampT: 210, // s to go from the bottom of every curve above to the top. Time survived, not
|
||||
// rounds won — a round-counted ramp cannot escalate while you stand still
|
||||
drillCaughtBack: 45, // s of ramp handed back when one reaches you. The setback is real but not a reset
|
||||
drillTones: 1, // volume of the colour arpeggio (0 = silent). It replaced the spoken call
|
||||
fps: 60, // frame cap — 30 halves battery/heat but Oliver felt it; smoothness wins (0 = uncapped)
|
||||
lowPower: 1, // >= 0.5 caps RES at 3 (−44% of pixels painted per frame) — the battery saver,
|
||||
// flippable live from the T panel. DEFAULT ON since 2026-08-08: Oliver judged
|
||||
|
||||
Reference in new issue
Block a user