Guide · Platform · Engine
Determinism: same inputs, same outcomes.
Most sports games hide a random number generator behind every animation. Ball Physics does not. Here is the argument for why — and what it costs a game to give it up.
Two kinds of uncertainty
There is uncertainty in real sport, and there is uncertainty in simulated sport. They are not the same thing. Real sport is uncertain because the world contains too many variables to track — wind gusts, muscle fatigue, a wet stud, a defender's peripheral glance. Simulated sport is uncertain when the designer chose to hide the variables and roll a die instead.
Chance is a property of the world. Confusion is a property of the code. Most sports games ship confusion and call it chance.
What RNG steals
A hidden dice roll steals three things from the player:
- Learning. If the outcome of an identical action varies for reasons the game refuses to expose, the player cannot improve. They can only get lucky.
- Trust. A bad outcome becomes ambiguous — was it my fault, or the dice? A game that cannot answer that question is a game the player cannot love.
- Depth. Real sport is already deep enough. Football has 22 players, one ball, a surface, air, gravity, timing, and human decision-making. If your engine cannot generate interesting outcomes from that, no amount of RNG will save it.
Determinism is not simplicity
Ball Physics simulates dozens of parameters per contact — velocity, angle, spin, drag, lift, surface friction, ball state, receiver window. It is not simple. It is lawful. Small changes to any input produce small changes to the output. Large changes produce large ones. The same input, twice, produces the same output, twice.
Complexity without lawfulness is a slot machine. Lawfulness with real complexity is a sport.
What we allow
The engine does model real physical noise: pitch imperfections, air density variation, ball-state degradation over overs. But this noise is exposed. It is a parameter you can see, adjust, and hold constant for a controlled experiment. Nothing is hidden. Nothing is fudged. A ghost trace shows the alternative pass. A decomposition view shows which force did the work. The mechanics are the game.
What determinism buys the player
A repeatable model of sport is a testbed. You can bowl the same delivery a hundred times, change the seam by two degrees on the hundred-and-first, and know that the movement is due to the seam and nothing else. You can weight the same pass at three different velocities and see exactly where the receiver window closed.
That is not less fun than RNG. It is a different kind of fun. It is the fun of understanding.