Stop the auto-run shaking while it chases a ball

Oliver: "wenn der Autoplay den Ball versucht zu bekommen, zittert der
Player schnell hin und her". Measured: the run's target flipped by
metres every other frame. intercept samples the flight every 10 ms
against a 16.7 ms frame, so any candidate on a margin (a low bounce
peaking on the 0.45 m floor, a point on the back boundary, a dying drop)
passed one frame and failed the next. Frames with no candidate sent him
home and back. 9-62 reversals inside 200 ms per five minutes.

The chase now latches its plan: the flight is fixed at the strike, so
the first point stays the answer while his legs still make it in time,
net of any time he stood (split-step, heels). Reach is judged from where
the chase began, and the target eases with a start/stop hysteresis.
After: no reversals at any rung, timing unchanged. He wastes no steps,
so he is a little stronger, mostly at the bottom of the ladder. New
test; v375.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
wuwiandClaude Opus 5.5 committed 2026-10-14 20:15:25 +02:00
1 parent 599d5b0506
commit bb72a01a3e
7 files changed
+145 -19

No files matched your search

+4
View File
@@ -115,6 +115,10 @@ export const TUNE = {
// but under the 2.8 m the opponent's lob clears a net man by, or he smashes it standing)
smashPace: 0.8, // ...extra pace on top of the forward flick's, scaled by timing
smashRead: 0.3,
runSmooth: 10, // 1/s: the auto-run's target eases toward each fresh plan instead of jumping to it
runSnap: 1.5, // m: a re-plan this far away (a new shot, the lob read) is taken at once
runStop: 0.12,
runKeep: 0.06, // s of reach slack intercept grants the point he is already running to (hysteresis) // m: a running auto-run stops this close to its target (it starts at 0.35)
smashRun: 0.25, // share of his legs a lobbed net man may need to get UNDER the lob for the smash —
// a short lob is smashed, a deep one is not (he turns and runs it down, lobTurn) // s the opponent stands reading a smash before he moves
softRead: 0.35, // s any opponent stands reading a soft ball (drop, lob) — they are disguised