Baseball Sim Methodology
Pitch-by-pitch simulation
Baseball Sim models games as a sequence of pitches, not as a shortcut from batter to final stat line.
A game advances one pitch at a time
Each game starts from complete team state: batting order, bench, bullpen, starting pitcher, ballpark, score, inning, outs, count, and base runners. The simulator then advances through the game in the same order a real game does. Every batter begins with a fresh count. Each pitch can become a ball, called strike, swinging strike, foul, ball in play, hit by pitch, balk, steal attempt, wild pitch, passed ball, or plate appearance-ending event.
Because the game state is updated after every pitch, later decisions can react to what already happened. Pitcher fatigue changes as pitch counts rise. The manager logic can change pitchers or use bench players between batters. The base/out state affects steals, sacrifice flies, double plays, force plays, and walk-off endings.
Ratings shape probabilities
Player ratings are hidden from users, but they drive the probability model. Batters have ratings for contact, power, eye, speed, and bat control. Pitchers have ratings for stuff, control, home run prevention, and stamina. Fielders have range, fielding, and arm ratings. Those ratings are not raw career reputation scores. They are built from the selected player season and normalized against that season context before the game begins.
On a pitch, pitcher control affects whether the ball is in the zone. Batter eye affects swing decisions. Batter contact and pitcher stuff affect whether a swing becomes contact. Batter power, bat control, pitcher stuff, fielding range, ballpark factors, and the batted-ball profile all shape the final outcome when the ball is put in play.
The result is deterministic once started
A game uses a seeded random number generator. After the seed and starting state are fixed, the same sequence of rolls produces the same game. Watching pitch by pitch, plate appearance by plate appearance, or skipping to the end does not change the underlying game result.
That determinism makes saved games and tests easier to reason about while still allowing baseball variance. A strong team can lose a single game. Over larger samples like series and seasons, the same player and team ratings have more chances to show through.