A 2×2 zero-sum game with illustrative payoffs: when should the kicker go Left or Right, and why is unpredictability optimal?
The science
A zero-sum 2×2 game. The kicker chooses Left or Right, the keeper chooses a side to dive to (Left/Right as seen by the kicker). The four numbers a, b, c, d are the probabilities of scoring for (Left,Left), (Left,Right), (Right,Left), (Right,Right). These payoffs are illustrative, chosen for the demonstration. They are not measured data about any player, team or league.
Mixed equilibrium. If the kicker aims Left with probability p, the scoring chance against a keeper diving Left is p a + (1−p) c and against one diving Right p b + (1−p) d. The kicker maximises the worse of the two (maximin); it is best to make the keeper indifferent: p* = (d − c)/(a − b − c + d). By symmetry the keeper's dive probability is q* = (d − b)/(a − b − c + d) and the value of the game is V = (ad − bc)/(a − b − c + d). In the graph, the equilibrium is the highest point of the lower envelope (the thick line), where the two lines cross.
Numerical check. The closed form is compared with a brute-force search over a 10 000-point grid of p (maximin) and q (minimax); Check 2 runs a seeded 40 000-shot Monte Carlo with both players at the equilibrium mix and requires the goal rate to match V within three standard errors.
Playing against the keeper. “Equilibrium” mode draws the keeper's dive from q*. “Learning” mode dives to the best response to your observed left/right frequency (85 % of the time): a predictable kicker is punished, while the equilibrium mix cannot be exploited. Shots use a fixed random seed so a session is repeatable after Reset.
Honest simplifications. Real penalties also involve height, power, the keeper's reaction time and the kicker's skill; this model reduces them to four illustrative probabilities and two choices. Players here are generic figures.
3D assets (pitch, goal, mannequins, ball) were built in Blender (headless, Cycles-baked textures) and exported as a Draco GLB. The game model is identical to the 2D page; the ball flight is a drag-only RK4 shot aimed at the chosen corner. The enlarged ball is for visibility only.