Three million seasons and one million leagues!

August 16, 2016-

On March 18, 2015, Basketball GM passed 1 million seasons played.

On December 28, 2015, Basketball GM passed 2 million seasons played.

And today, we have crossed the 3 million seasons threshold!

Here are some interesting statistics at this milestone:


Default salary cap is now $90M, max salary is now $30M

July 9, 2016-

This applies to new leagues only. If you want to change it in existing leagues, enable God Mode (in the Tools menu).

Additionally, all of the financial parts of the game (like TV revenue, merchandising, etc) have been scaled up too, and they will automatically adjust as you change the salary cap. Previously they didn't change at all, so it was very difficult to run a profitable team in a league with a high salary cap, and too easy with a low salary cap.

Let me know if you think this has introduced any balance issues. It is supposed to just be a cosmetic change, with every dollar amount 50% higher.


More customization options: conferences, divisions, and playoff length

Until today, Basketball GM was hardcoded to always have 2 conferences, 6 divisions, and 16 teams in the playoffs. If you wanted to set up a league with a different structure, you were out of luck.

But today that has changed! You can have any number of conferences and divisions, and the number of teams in the playoffs can be any power of 2 (2, 4, 8, 16, 32, etc). Unfortunately this is only customizable by making a league JSON file, but it's not that hard, I promise. Here is the documentation and here is an example file with 3 conferences, 6 divisions, 12 teams, and a 4 team playoff.

Please let me know if you notice bugs related to this!


More realistic player names, including international players!

Previously, player names in Basketball GM were generated based on a list of name frequencies in the US in 1990 published by the US Census Bureau. In some ways this was awesome - it was a huge list of names, so there was a lot of variety. However the US population in 1990 does not exactly correspond to global basketball talent. There should be more African American names and there should be international names from basketball-loving countries.

I never fixed this problem because there wasn't any data I could find that was nearly as good as the census data I used previously. But now I think I have a better solution: DraftExpress. DraftExpress is a website about the NBA draft. It has player profiles for basically every NBA prospect in recent history, even fringe guys like minor college players and roleplayers in overseas leagues. That's a pretty good sample of the distribution of basketball talent, right? Maybe not perfect, but probably good enough to be better than the previous names list.

So I used my trusty wget to scrape draftexpress.com, and then I wrote a script to parse names and countries for all players in their database. After a little work to clean up the data (splitting names into first and last names while handling extra spaces like Nando De Colo; fixing typos in country names), I filtered the list of countries to get rid of those with less than 5 names because they would just become too repetitive. So sorry Suriname, you and your 2 names are gone. That left me with 28,377 names from 85 countries. To generate a player, the game randomly picks a country and then randomly picks first and last names from that country.

Particularly cool things about the new names:

  1. No more leagues dominated entirely by people with mid 20th century white names.
  2. Increased realism, as you see a good number of players from expected countries like Spain, Lithuania, etc.
  3. Every now and then, you'll have a Brazilian player with no last name (like Nene and many soccer stars).
  4. Rarely, there will be players from tiny countries. Like if you play 5000 seasons you might see an Icelandic dude named Elvar Vilhjalmsson dominating shit, how cool will that be?

This is live now, even in existing leagues new draft prospects will be generated with this new naming method. And you can see the countries of all the players in your league by going to the Player Ratings page.


Logos for default teams

June 4, 2016-

The default teams now have logos! Thank you Elliott Strauss for all your hard work!

Currently you'll only see the logos on the roster page, which doesn't really do them justice. Eventually I will do a redesign to better utilize them. In the mean time, check them out here in their full glory:

Read more...


Improved "Shuffle Rosters" for new leagues

May 28, 2016-

Basketball GM has long supported a "Shuffle Rosters" option when you start a new league from a file. However it kind of sucked, because it would randomly shuffle players on all teams along with free agents, often leaving tons of really good players as free agents.

Now, it will only shuffle players actually signed to teams, leaving free agents alone. This is possibly still not ideal -- maybe it would be better to shuffle in comparably rated free agents while not changing the overall talent distribution -- but it's a hell of a lot better than it used to be.

I tested it using this user-made NBA roster file, and the Warriors got what they deserved to balance off the universe. Their best player was Jameer Nelson and they wound up with the worst record in the league.


Game simulation performance improvements

April 12, 2016-

Performance in leagues with many seasons has long been an embarrassment to me. It should be faster. And as of today, it's at least a little better. Game simulation is now a little slower in new leagues but significantly faster in leagues with many seasons. Although it might be about 5% slower in a new league, the performance improvements are pretty big in old leagues. For example, leagues with 50 seasons are about 25% faster. And that number keeps getting bigger with more seasons.

Now I'm not claiming all performance problems are solved. It still gets slower the longer you play, and that still sucks. But the rate at which it gets slower has just been decreased a bit.

Read more...


New options in God Mode

February 6, 2016-

At the God Mode screen (accessible from the Tools menu), there are now 10 new options you can use to customize your league:

Previously these things were all impossible (or very difficult) to change.

The caveat is, the AI might not respond well if you change some of these values drastically, particularly the financial ones. But hopefully it's still better than nothing. Let me know how you like it!


Injuries can have long-term effects

January 31, 2016-

Previously, injuries in Basketball GM had no lasting effects. Once a player healed, he was good as new. In the real world, we know that's not true.

So now, in Basketball GM, serious injuries (over 25 games) can result in decreased athleticism, depending on the severity of the injury and some luck. As an example, someone who gets a 100 game injury (probably a torn ACL) will have a 50% chance of making a complete recovery, but also a 67% chance of losing between 0 and 10 points of his speed, jumping, and endurance ratings, and also a very small chance of a much larger catastrophic decrease. Each of those losses is independent, so someone might lose 1 speed, 9 jumping, and 3 endurance. Let me know if you think these numbers are too big or too small.


Two million seasons!

December 28, 2015-

Just 9 months ago, Basketball GM crossed the one million seasons played threshold. Today the two millionth season of Basketball GM was played!

Here are some interesting statistics at this milestone:

So it took 2 years for the first million, 9 months for the second million... how long for the next million?