Posts tagged "Basketball"


Import Real Players, and how you can use it to create custom historical teams

Today I added a new feature to Basketball GM called "Import Real Players". It works similar to the old "Import Players" feature, except instead of you providing a file containing some players to add to your league, it just shows you a list of every single real player in the BBGM historical database. You can pick any age, or even have multiple versions of the same player, at the same age or different ages.

I think that's all pretty straightforward - just enable God Mode go to Tools > Import/Export Players and click Import Real Players.

But I also wanted to write this blog post to explicitly describe how to use this feature for one cool application that several people have asked me how to do over the years. How can you create an entire team (or even an entire league) made up of some particular set of real players?

Read more...


Real players leagues created during the current playoffs now include draft lottery results

In real life, the draft lottery happens in the middle of the playoffs.

In BBGM, the draft lottery happens after the playoffs.

This poses a little bit of a problem when real players leagues are started in BBGM after the draft lottery has happened, but before the playoffs have ended. Because in real life the lottery is over so a lot of people want those results in their BBGM leagues, but in BBGM the lottery hasn't happened yet.

Read more...


Null values for historical stats

BBGM has had real players and historical stats for a long time now. One tricky part about historical stats is that most stats were not recorded originally and only started being recorded at some later date. For instance rebounds weren't tracked until 1951, and blocks/steals weren't tracked until 1974.

The correct way to deal with missing data like that is to leave it as missing data - your system should support some data being missing or "null", and still work despite that. BBGM did not work that way originally, because back before historical data was in the game, it was all simulated data. That means I never had to worry about some stat not being tracked - everything was always tracked! That's a lot easier to deal with than data where sometimes stuff is missing, because then every time you want to do something with a stat, you need to check if it actually exists. That's especially difficult to add to an existing codebase where there are a bunch of different places you need to update to handle missing data.

So when initially adding historical stats back in 2021, I "solved" this problem the easy/lazy way. Rather than adding support for null values for stats, I just replaced all the null values with 0. So if you looked at a player from the old days, you'd see something like this:

Read more...


Improved UI for the four factors in box scores

October 15, 2024-

The four factors are stats created by Dean Oliver to give some insight into a box score. By quickly looking at 4 numbers per team, you get an idea about the story of the game and why one team won. The four factors are:

Those have long been shown in BBGM box scores, with the better value highlighted:

Read more...


Basketball game clock rewrite

The play-by-play in BBGM has always been a little weird. If you looked at it closely, you would notice some strange and unrealistic things related to the game clock. Today a bunch of that is fixed. Here's a list of some of the changes you might notice:

Read more...


Better handling of players with gaps in their career in historical real players leagues

March 13, 2023-

Just to be clear, this is about real players rosters in Basketball GM, for players who had some gap in the middle of their career where they didn't play. This is not about players who are drafted and have some gap between ther draft and their rookie season that is still handled kind of strangely.

So this is about players who were injured, suspended, unsigned, playing in another league, retired, or whatever - for an entire season or more. Previously BBGM kind of ignored those players. Like if a player played from 2005-2008 and then 2010-2013, if you started a real players league in 2009, that player would not be present in the league at all. But now those players are handled better!

Read more...


Players act differently when they're in foul trouble

There are many ways in which my video games differ from reality. One is fouling in Basketball GM. In real life, everybody knows about foul trouble. If a player gets too many fouls too early, his coach might sub him out. If he stays in the game, he's probably going to try to avoid fouling by being less aggressive on defense. Common sense stuff.

Until today, none of that was in BBGM. Players would play with the same level of aggression regardless of the foul situation, and substitution patterns had nothing to do with fouls. The end result was that foul outs were more common in BBGM than in real life. Especially really early foul outs. It's really frustrating when it's game 7 of the finals and your star decides to foul out in the 2nd quarter while your coach does nothing about it!

Well, that's not going to happen any more, because now BBGM knows about foul trouble.

Read more...