Empty training ground, one keeper, one dare: punt the ball into the TV spider-cam wire strung across the pitch, 30 m downfield and 13 m up. The optimiser tunes two run-up steps, loft and leg power. Longer strides add pace to the punt โ but release the ball past the edge of the box and it's a foul.
Take the punt yourself โ pick your two steps, drop the ball, let fly.
Each row is the best single punt a given algorithm found.
| Algorithm | Score | Punts used | Best params (step1 m / step2 m / loftยฐ / pow) |
|---|---|---|---|
| โ no runs yet โ | |||
A side-view flight simulator. The keeper takes the two chosen steps, lunges into the plant, and punts. The ball leaves the hands at the chosen loft with a launch speed built from leg power plus the run-up speed the strides generated; gravity pulls it down and air drag slows it. The simulator tracks the ball until it hits the wire or the turf.
Score is 100+ for a wire strike (with a bonus for hitting
it at speed); misses earn 90ยทexp(โd/2) where d
is the closest the trajectory came to the wire, so near-misses still guide
the search. The steps matter twice: total stride length adds pace, and
contact is cleanest when the second step is slightly longer than the
first (an accelerating rhythm). But steps plus the plant lunge must keep
the release inside the penalty area โ overstep the 18-yard line and the
punt is a foul, scored near zero.
The wire can be clipped on the way up (flat and fast) or on the way down (high and dropping) โ in a 40,000-punt random sweep, hits occurred at every loft from ~32ยฐ to 70ยฐ, but only ~4% of random punts hit at all. A hit deflects the ball off the wire (the bounce is cosmetic โ the score is settled at contact). The best punt we've measured scores โ109.4: the longest strides the box allows, in accelerating rhythm, full power, striking the wire on the rise.
Custom side-view ball simulator โ gravity + linear drag is enough for
the punt-the-wire regime. Identical physics to the Python port in
example_applications/goalkeeper_punt/.
If your hyper-parameter searches are heating the Earth, drop this in Cursor or Claude:
Read https://raw.githubusercontent.com/microprediction/humpday/main/SKILL.md and create a project skill from it.