The surprise is an opening, not a free point: THE READ turned down a notch
Oliver, same day: 'die Gegner sind jetzt etwas zuu einfach.' The habit takes four same-lane shots to learn (was three) and the wrong-foot costs about a third less on every dial: surpRead 0.85->0.6, surpSlow 0.45->0.3, surpFlub 0.35->0.22. The whiff-window test pin rides down with it (0.25->0.15); the slower-than-the-coach pin still holds. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
43784c5b33
commit
4ea9af5442
4 files changed
+16
-7
No files matched your search
+5
-1
@@ -493,7 +493,11 @@ zombie (now an occasional opponent, `TUNE.racketEvery`, not the every-game fixtu
|
|||||||
|
|
||||||
## Session log: THE READ, the walk-on modal, the training court, movement reads (2026-08-28)
|
## Session log: THE READ, the walk-on modal, the training court, movement reads (2026-08-28)
|
||||||
|
|
||||||
Four items from one phone report. PHONE VERDICT PENDING on all of them.
|
Four items from one phone report. PHONE VERDICT PENDING on 2-4; item 1 got its first verdict the
|
||||||
|
same day — *"die Gegner sind jetzt etwas zuu einfach"* — and was turned down a notch: `readHabit`
|
||||||
|
3 -> 4, `surpRead` 0.85 -> 0.6, `surpSlow` 0.45 -> 0.3, `surpFlub` 0.35 -> 0.22. A surprise is an
|
||||||
|
opening the player still has to play, not a point handed over. The whiff-window test pin moved
|
||||||
|
0.25 -> 0.15 with it.
|
||||||
|
|
||||||
### 1. THE READ — the twist for the post-COACH wall
|
### 1. THE READ — the twist for the post-COACH wall
|
||||||
Oliver: past the HEAD COACH *"the opponents are very fast and barely make mistakes any more — we
|
Oliver: past the HEAD COACH *"the opponents are very fast and barely make mistakes any more — we
|
||||||
|
|||||||
+1
-1
@@ -675,6 +675,6 @@ if (location.hostname !== 'splatter-tennis.wuwi.one' && !window.Capacitor?.isNat
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script type="module" src="src/main.js?v=309"></script>
|
<script type="module" src="src/main.js?v=310"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
+7
-4
@@ -608,11 +608,14 @@ export const TUNE = {
|
|||||||
// the champion — "HE RETURNS EVERYTHING" — is exactly the one you beat by setting a habit and
|
// the champion — "HE RETURNS EVERYTHING" — is exactly the one you beat by setting a habit and
|
||||||
// breaking it on the big point. Skill, not grind, is what opens the ladder past the coach.
|
// breaking it on the big point. Skill, not grind, is what opens the ladder past the coach.
|
||||||
// Rally lanes only (doHit's aimed player shots); serves keep their own game. Solo match only.
|
// Rally lanes only (doHit's aimed player shots); serves keep their own game. Solo match only.
|
||||||
readHabit: 3, // same-lane returns in a row before the opponent has learned the pattern
|
// RETUNED DOWN 2026-08-28 same day (Oliver: "die Gegner sind jetzt etwas zuu einfach"): the
|
||||||
|
// habit takes one more shot to learn and the wrong-foot costs about a third less on every dial,
|
||||||
|
// so a surprise is an opening you still have to play, not a point handed over.
|
||||||
|
readHabit: 4, // same-lane returns in a row before the opponent has learned the pattern
|
||||||
readAnticipate: 0.97,// what aiRead climbs toward on an EXPECTED ball at the top rung
|
readAnticipate: 0.97,// what aiRead climbs toward on an EXPECTED ball at the top rung
|
||||||
surpRead: 0.85, // fraction of aiRead a wrong-footed opponent loses (x rung scale)
|
surpRead: 0.6, // fraction of aiRead a wrong-footed opponent loses (x rung scale)
|
||||||
surpSlow: 0.45, // fraction of chase speed it loses on the surprise ball (x rung scale)
|
surpSlow: 0.3, // fraction of chase speed it loses on the surprise ball (x rung scale)
|
||||||
surpFlub: 0.35, // whiff ADDED at contact on the surprise ball at the top rung
|
surpFlub: 0.22, // whiff ADDED at contact on the surprise ball at the top rung
|
||||||
// ---- MOVEMENT READS (2026-08-28): the sprites run, the court answers. Two cheap effects, both
|
// ---- MOVEMENT READS (2026-08-28): the sprites run, the court answers. Two cheap effects, both
|
||||||
// live-tunable: feet kick the surface's own dust once a body crosses trailMin, and a body moving
|
// live-tunable: feet kick the surface's own dust once a body crosses trailMin, and a body moving
|
||||||
// that fast leaves a two-ghost speed streak behind it (the modal masthead's own trick, sampled
|
// that fast leaves a two-ghost speed streak behind it (the modal masthead's own trick, sampled
|
||||||
|
|||||||
@@ -2110,7 +2110,9 @@ test('THE READ: a habit is learned by repetition and a break wrong-foots the rac
|
|||||||
'a wrong-footed champion runs slower than the head coach at full stride');
|
'a wrong-footed champion runs slower than the head coach at full stride');
|
||||||
const champFlub = TUNE.matchFlub * Math.pow(TUNE.matchFlubKeep, cfg.LADDER - 1) * cfg.matchFoe(cfg.LADDER).flub;
|
const champFlub = TUNE.matchFlub * Math.pow(TUNE.matchFlubKeep, cfg.LADDER - 1) * cfg.matchFoe(cfg.LADDER).flub;
|
||||||
assert.ok(champFlub < 0.02, '(the champion barely misses on his own — the wall being answered)');
|
assert.ok(champFlub < 0.02, '(the champion barely misses on his own — the wall being answered)');
|
||||||
assert.ok(champFlub + TUNE.surpFlub > 0.25, 'the surprise opens a real whiff window in that racket');
|
// 0.15, not 0.25: the same-day retune ("die Gegner sind jetzt etwas zuu einfach") took a third
|
||||||
|
// off every surprise dial — the window must stay REAL, but it is an opening, not a free point
|
||||||
|
assert.ok(champFlub + TUNE.surpFlub > 0.15, 'the surprise opens a real whiff window in that racket');
|
||||||
assert.ok(TUNE.readAnticipate <= 1, 'anticipation never reads better than perfect');
|
assert.ok(TUNE.readAnticipate <= 1, 'anticipation never reads better than perfect');
|
||||||
assert.ok(TUNE.readHabit >= 2 && TUNE.readHabit <= 6, 'a habit is learnable inside one game');
|
assert.ok(TUNE.readHabit >= 2 && TUNE.readHabit <= 6, 'a habit is learnable inside one game');
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in new issue
Block a user