Time a tap from touch-down, and give the opponents' legs a knee

Oliver after step 1: much harder, stuck at the Steward, "trotz gutem
Timing nicht mehr bekommen". A tap only proves it is a tap when the
finger lifts, so the swing started 100-150 ms after he meant it; the old
volley window hid that, step 1's groundstrokes did not. A tap made on the
gold ring fell from q 0.82 to 0.09 (and a third were missed at 150 ms),
murky balls landed short and the opponent came in. The swing clock now
starts at the touch's age (rally modes only); flicks keep their crossing.

The opponents' legs had no ceiling: 7.3 m/s at the Runner, 15.7 at the
Champion against the player's ~6.2. Past legKnee (6 m/s) only 15% of the
growth survives, monotone, so the ladder order holds; champion ~7.5. v362.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
wuwiandClaude Opus 5.5 committed 2026-10-14 11:06:08 +02:00
1 parent 4e7c816a25
commit f9b0dd2efb
6 files changed
+82 -7

No files matched your search

+24
View File
@@ -5262,6 +5262,30 @@ late opponent at the net covers every pass, so the bot loses ~95% of the points
comes in. That is step 4 (and the passing/lob game of steps 2-3); it is deliberately not mixed into
step 1, so its phone verdict reads one change.
### Step 1's phone verdict, and the two fixes it surfaced (2026-10-14, v362)
Oliver: *"schritt 1 ist schon gut ... Das Spiel ist momentan wesentlich schwerer geworden (not a bad
thing) — ich komme als geübter Spieler über the Climb vielleicht höchstens bis zum Steward. das liegt vor
allem gefühlt an der Geschwindigkeit und manchmal scheine ich den Ball trotz gutem Timing nicht mehr zu
bekommen."* Two real defects, measured, and neither of them was a balance value:
- **A TAP SWUNG WHEN THE FINGER LIFTED.** A touch only proves it is a tap at touchend (it could still
become a flick), so the swing started 100-150 ms after the player meant it. The volley window used to
absorb that (x1.8 window, x1.4 reach). Step 1 made the rally groundstrokes, and the lag became visible.
Ring-tapping bot at opponent 6, finger down exactly on gold:
0 ms of tap = 100% returned at q 0.82, 100 ms = 95% at **q 0.09**, 150 ms = **40%** returned.
Murky returns land short, a short ball pulls the opponent in, and his legs then made him unpassable: a
cascade, felt as "speed". **Fix:** input.js hands the touch's age to `keyPressed('Space', lead)`, and
the rally swing clock starts at `lead` (rally modes only). Timing is judged from touch-down; the ball
still has to arrive inside the window. Flicks keep their crossing-fired swing (the left-flick saga).
After the fix: 100 ms taps 99-100% at q 0.96. Verified with real touch events in the pane (a 120 ms
tap starts the swing at 0.122 s). Test: a gold-ring tap with 120 ms on top returns >= 90% at q >= 0.6
(it fails at q 0.08 without the fix).
- **THE LEGS GET A KNEE** (step 4, first cut). `gameplay.knee`: up to `legKnee` (6.0 m/s) nothing
changes; past it only `legSoft` (15%) of the growth survives. Runner 7.3 -> 6.2, Umpire 8.3 -> 6.3,
Coach 10.6 -> 6.7, Champion 15.7 -> ~7.5. The player is ~6.2 at level 1 and gets more with level and
peer gifts. The mapping is monotone, so the ladder order and the like-for-like speed tests hold. Only
the rig guard (`> 7 m/s`) moved, to `> legKnee*0.8`. Rungs 1-7 are unchanged: the Steward (6) already
ran 5.6. Ball PACE is untouched; it is at full pace times the league tier from rung 5.
# OPEN — leftovers, in rough priority order
Nothing here is broken; these are known gaps and unverified risks.