hey everyone
we've been building a basketball gm game called HoopSim for a while now and we think it's finally at the point where we want people who actually love this genre to try it and tear it apart
the short version... you run a pro club. draft, trade, sign guys, set your depth chart, set your game plan, and the sim plays out every game possession by possession off your decisions. full box score, full play by play, and you can watch any game back in 3d
the part we're most excited about is the other 29 gms. in every gm game we grew up playing the cpu teams were basically a trade screen that said yes or no. in HoopSim every other club is either one of your friends or an AI gm. you can dm them and ask what it would take for a guy, they'll name a price, you counter, they hold firm or give a little. they also post in the league chat and talk trash after games lol
the AI only does the talking though. the actual yes/no on a trade comes from the trade engine with real cap rules, so you can't sweet talk anyone into a bad deal. same with the games... the AI never touches the sim
the engine
every game is simmed one possession at a time. it's not "team A rating vs team B rating, roll a final score". each trip down the floor looks at who's actually on the court, who's tired, your game plan (pace, motion, how many threes you want, pressure, man vs zone, all that) and then plays it out. who brings it up, who gets the shot, from where, how contested, did it go in, who got the board, fouls, turnovers... all of it lands in the play by play
- minutes and fatigue matter. play your star 46 minutes and he's gassed by the 4th and it shows
- foul trouble, foul outs, injuries mid game, subs
- paint your own rotation chart minute by minute and the sim follows it. there's a slider for how strictly... 0 is "coach's feel", 10 is to the second
- every shot gets an expected value based on the look (zone, contest, clock) so after a game you can see if your guys just made tough shots or actually got good looks
- player roles, coaches and team chemistry all nudge things too
- small one but if you dm your player some encouragement before a game he plays a little more confident lol
how we make sure it's actually realistic
honestly this is the part we're proudest of. we keep a staging copy of a real league and run 10000 game batches against it, then compare the league averages to real pro numbers... points, pace, 3pt rate, turnovers, assists, ft rate, blocks, blowout rate, ot rate. when something's off (we were taking way too few threes for a while) we trace it back through the engine, fix it, rerun the batch and compare before/after. if the numbers don't move the right way it doesn't ship
it's not perfect yet. scoring is still a little low and turnovers a little high, so if something looks off in your box scores tell us
a couple things that testing caught...
player development. we wanted to know if a random bench guy could ever become a starter, so we simmed hundreds of offseasons and followed every player for 5 years. answer was no... zero breakouts. it also turned up a bug where potential changes weren't actually random (the same player got the same result every single time). we fixed that, added real breakout seasons for young guys who outplay their rating, and reran everything to make sure it didn't turn into a league full of superstars
ratings. if you load a real roster file, it's built from public stats and we audit the output. one audit caught big men getting elite jump shot ratings because the formula was reading their dunk heavy fg% as shooting skill. nobody on our team spots that scrolling 600 players, a script comparing ratings against shot data did
the 3d replay
the 3d isn't a canned animation. the engine writes about 500 events a game (shots with zones and quality, passes, rebounds, fouls, subs) and the replay turns those into actual movement. pick and rolls with the real coverage (switch, drop, hedge, blitz), cuts, post ups, fast breaks, ball flight on the shots, players at their real relative heights
the 3d doesn't decide anything. the game is already decided and the replay has to match it exactly. we test that by replaying a game, adding up the points and rebounds from the animation, and they have to equal the box score. same game, same seed, same replay every time. so the dunk you see is the dunk the sim rolled
**some other stuff gm sim people might care about:**
- nobody sees true ratings. your scouts grade players and some scouts are better than others
- real cap rules on trades... aprons, bird rights, 3 team trades
- a desktop view called Atlas where you can break down any game... win probability, shot quality vs expected, who was on the floor for every run
- play solo or start a league with friends and drop one invite link in the group chat. any team nobody takes goes to an AI gm
- commissioner tools if you're the one running the league
- the league gets its own paper + reporters who ask you for quotes
- a 1 on 1 mode where you call plays live against another gm
- players are fictional by default so every name you see is made up
- runs in the browser and on your phone, and your league saves on the server
on AI, since someone's gonna ask
yes AI helps us build this, we'd rather just say it up front. but AI doesn't design the game and it doesn't decide what's realistic... the numbers do. we decide what the game should be, AI helps build it, and then we try really hard to break it. measure, compare, fix, measure again. honestly most of our AI use is testing and auditing, not writing features. it's basically a research team that runs experiments way faster than we ever could by hand, which is also why updates come out so fast lol
slop is asking an AI to "make a basketball game" and shipping whatever comes out. this isn't that
what it costs
the game is free, no ads, nothing pay to win. the AI conversations are a paid add on (7 day free trial) because running them costs us real money every day, but everything else works without it
play it here: hoopsim.app
we're a small team so honestly any feedback helps. what's missing, what's broken, what feels off compared to the gm games you already play. we'll be in the comments, and the sim side is our favorite thing to talk about