OBM Devlog: How a Discord Bot Became a Full Basketball Manager Game
In 2022, I was at university and spending a lot of time in Discord servers talking about basketball. Someone in one of those servers mentioned a bot that could simulate football games. I remember thinking: there should be something like that for the NBA. There wasn't, so I built one.
The first version was maybe 200 lines of Python. You typed a command, gave it two team names, and it returned a score. The simulation was basically random with team ratings as a weight. It was dumb but it worked, and people in the server actually used it. That was enough to keep going.
Adding depth, one feature at a time
The first real addition was player-level simulation. Instead of two team ratings producing a number, I started factoring in individual attributes — shooting percentages, defensive ratings, pace. Then I added a roster system so you could draft players and manage a team. Then I added a league table so multiple people could compete across a season.
At some point the Discord bot had grown into something that felt like an actual game, just trapped inside a chat client. The decision to build a proper web interface felt inevitable. I didn't have web development experience, so I picked it up as I went. The first version of the site was rough. It looked rough, it was slow, and half the features broke on mobile.
Where things are now
The game is live at playobm.com. It has franchise career mode with full 82-game seasons, a multiplayer league structure, SimCast play-by-play with synthesised audio, Draft Battles for head-to-head PvP, a standalone simulator, and a mobile app that is actively in development. The Discord bot still exists, though the web game has long since overtaken it.
The simulation engine has changed a lot since those first 200 lines. It is now a full possession-by-possession model that tracks shot tendencies, defensive matchups, assist and turnover rates, and bench rotation based on minutes-per-game. The player ratings come from a 2K-style attribute system applied to real NBA rosters.
It is still a solo project. There are no investors, no team, and no paid marketing. Growth has come from Discord communities, social media, and people sharing it with friends. The goal was always to build what Online Soccer Manager did for football, but for basketball. That is still the goal. There is a long way to go.
If you want to follow development, the blog here will have updates on new features as they ship.