Penalty Kick: Speed vs. Keeper Reaction SimulatorBeat the Keeper's Reaction
An 11-metre shot becomes a race of two clocks: ball travel time vs goalkeeper reaction plus dive. Tune both sides and see when each wins.
Published: May 3, 2026 · Updated: May 28, 2026
Objective
Confirm that a penalty kick reduces to a kinematic race between two clocks. The ball travels a fixed distance d = 11 m at constant speed v_ball, taking t_ball = d / v_ball. The keeper waits a reaction time t_react, then dives laterally at v_dive across a distance |y_target| to the ball, reaching it at t_kp = t_react + |y_target| / v_dive. The verdict is GOAL when t_ball < t_kp, SAVE when t_kp ≤ t_ball, and WIDE when |y_target| > 3.66 m. Verify each branch by reading the live HUD.
Setup
- Set Ball Speed to 28 m/s. This is roughly the speed of a firmly struck professional penalty.
- Set Placement (lateral) to 2.5 m, sending the ball 2.5 m to one side of centre and well inside the post at ±3.66 m.
- Set Keeper Reaction to 0.20 s, a typical figure for a focused goalkeeper reading the shot early.
- Set Keeper Dive Speed to 5 m/s, a credible lateral velocity for a full-extension dive.
- Read the predicted Ball Travel and Keeper Reach values in the readouts before pressing Start, then compare against your hand calculation.
- Press Start and watch the verdict resolve as the ball crosses the goal line; press Reset between trials to clear the state.
Analytical Prediction
With v_ball = 28 m/s, the ball covers d = 11 m in:
With t_react = 0.20 s, v_dive = 5 m/s, |y_target| = 2.5 m, the keeper reach time is:
Because t_ball ≈ 0.39 s is less than t_kp = 0.70 s, the ball arrives roughly 0.31 s before the keeper does, and the verdict should read GOAL. The lateral placement of 2.5 m is comfortably inside the post at 3.66 m, so the WIDE branch does not apply. The Ball Travel readout should display 0.39 s and the Keeper Reach readout should display 0.70 s before launch. To find the break-even speed at which this exact placement and reaction would just be saved, set t_ball = t_kp:
Slower kicks at the same target should flip the verdict to SAVE.
Results Analysis
Run the trial and verify the readouts match the prediction within rounding. The Time readout will tick from 0 to about 0.39 s, freezing when the ball reaches the goal line and the verdict latches. Now sweep Ball Speed downward in 2 m/s increments and watch t_ball climb while t_kp stays at 0.70 s. The verdict label flips from GOAL to SAVE near v_ball ≈ 15.7 m/s, exactly where the two clocks meet. Increase Placement toward 3.5 m and t_kp grows to 0.20 + 3.5 / 5 = 0.90 s, widening the GOAL margin at fixed speed. Push Placement past 3.66 m and the verdict becomes WIDE regardless of the keeper. Holding placement at 2.5 m and reducing Keeper Reaction from 0.20 s toward 0.10 s shaves t_kp to 0.60 s, still slower than a 28 m/s shot, confirming that against fast, well-placed kicks reaction time alone cannot save a goal.
Source of Error
What this sim does NOT model: ball spin and Magnus curve (the trajectory is a straight line at constant speed), vertical placement on the goal mouth (only horizontal placement matters for the verdict), keeper finite reach radius beyond the lateral dive, ball deformation, or any time-jitter in the keeper's reaction. The verdict is computed deterministically from t_ball vs t_keeper. The closed forms t_ball = d/v_ball and t_kp = t_react + |y_target|/v_dive assume the same idealizations, so they cancel rather than contributing to the residual. The remaining gap is therefore purely numerical, not physical.
Further Exploration
- What ball speed makes the verdict tie at the default Placement of 2.5 m and Keeper Reaction of 0.20 s? Solve v_ball = d / (t_react + |y_target| / v_dive) by hand, then verify with the slider.
- Hold Ball Speed at 28 m/s and Keeper Reaction at 0.20 s. What is the smallest |Placement| the keeper can still reach with v_dive = 5 m/s? What does this say about why centre-of-goal kicks are riskier than they appear?
- Set Placement to 3.7 m. Why does the verdict read WIDE no matter how slow the ball is or how long the keeper reacts? Which inequality in the save-criterion equations is being violated?
- Sweep Keeper Dive Speed from 3 to 7 m/s with all other defaults held. Plot the boundary speed at which the verdict flips and compare with the analytic curve v_ball = d / (t_react + |y_target| / v_dive).
- If a keeper guesses the wrong side, |y_target| in t_kp effectively becomes the full goal width 2 × 3.66 m = 7.32 m. Compute the resulting t_kp at v_dive = 5 m/s and explain why no realistic ball speed lets the keeper recover.