Simulation

Penalty Kick: Speed vs. Keeper Reaction SimulatorBeat the Keeper's Reaction

World Cup Physics

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

  1. Set Ball Speed to 28 m/s. This is roughly the speed of a firmly struck professional penalty.
  2. 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.
  3. Set Keeper Reaction to 0.20 s, a typical figure for a focused goalkeeper reading the shot early.
  4. Set Keeper Dive Speed to 5 m/s, a credible lateral velocity for a full-extension dive.
  5. Read the predicted Ball Travel and Keeper Reach values in the readouts before pressing Start, then compare against your hand calculation.
  6. Press Start and watch the verdict resolve as the ball crosses the goal line; press Reset between trials to clear the state.
The Penalty Kick: Speed vs. Keeper Reaction simulator at the start of a run.

Analytical Prediction

With v_ball = 28 m/s, the ball covers d = 11 m in:

t_ball=d / v_ball
=11 / 28
0.393 s

With t_react = 0.20 s, v_dive = 5 m/s, |y_target| = 2.5 m, the keeper reach time is:

t_kp=t_react + |y_target| / v_dive
=0.20 + 2.5 / 5
=0.20 + 0.50
=0.70 s

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:

v_ball_min=d / t_kp
=11 / 0.70
15.7 m/s

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.

The Penalty Kick: Speed vs. Keeper Reaction simulator after a completed run.

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