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)
|
||||
|
||||
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
|
||||
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>
|
||||
<script type="module" src="src/main.js?v=309"></script>
|
||||
<script type="module" src="src/main.js?v=310"></script>
|
||||
</body>
|
||||
</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
|
||||
// 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.
|
||||
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
|
||||
surpRead: 0.85, // 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)
|
||||
surpFlub: 0.35, // whiff ADDED at contact on the surprise ball at the top rung
|
||||
surpRead: 0.6, // fraction of aiRead a wrong-footed opponent loses (x rung scale)
|
||||
surpSlow: 0.3, // fraction of chase speed it loses on the surprise ball (x rung scale)
|
||||
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
|
||||
// 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
|
||||
|
||||
@@ -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');
|
||||
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 + 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.readHabit >= 2 && TUNE.readHabit <= 6, 'a habit is learnable inside one game');
|
||||
});
|
||||
|
||||
Reference in new issue
Block a user