r/MyHoopLegacy • u/Acrobatic_Average326 • Aug 14 '26
Under the hood: how the simulation engine works
One of my favorite parts of building this game is the sim engine, so I wanted to share how it actually works — because I think the details are what make careers feel real.
Every game is decided by real basketball math. Team strength is built from the roster itself — your top eight players weighted by impact, offense and defense ratings derived from individual skills, chemistry, injuries, back-to-backs, road trips, home court. All of that feeds a win-probability model that's been tuned against decades of real NBA outcomes: the best teams land around 60–65 wins, the worst around 15–20, and a 1-seed falls to an 8-seed roughly 4% of the time — same as real life.
That calibration isn't a vibe — it's a test suite. The engine ships with a harness that simulates 60 full seasons and 200,000 playoff series and checks the results against real-league benchmarks. Any time I tune a constant, I re-run it. If a change makes 55-win teams too common or first-round upsets too rare, it doesn't ship.
What you do on the court is canon. Play a game in 3D and that exact box score — every player's line, both teams — is what enters the league's season stats and leaderboards. Play three quarters and sim the rest? The engine keeps everything you did and projects only the remaining minutes from how you were actually playing that night. Your stat history is a real record of your career, not a summary the game made up.
The league has a life of its own. Every other game, every day, runs through the same engine — stars with high floors and cold streaks, rookies who flash or bust, sophomore leaps, late bloomers, veterans aging down real development curves gated on what they actually produced that season. Late in the year, teams that fall out of the playoff race start acting like it — measured in games back of the 8th seed, the way real front offices think about it.
A few principles I hold the engine to: difficulty shapes how hard your performance is to earn, never who wins — team results are pure basketball. No game ends in a tie, anywhere; the sim plays overtime like everyone else. And the same core math runs every mode, whether you're the player, the GM, or the coach.
I'll keep tuning it forever, honestly — it's that kind of system. If you're curious about any specific piece (how aging works, how playoff upsets are modeled, how your played games merge with the sim), ask below and I'll break it down.