Player ratings and development changes are live
A lot of things have changed! If you want all the details, read the blog post announcing the beta. But the main points are:
- Two new ratings offensive IQ (OIQ) and defensive IQ (DIQ), which replace the old BLK and STL ratings.
- Potential (POT) has been redefined so it is much more accurate and realistic.
- There are more statistical outliers, particularly as you play many seasons.
Thank you to everyone who helped beta test these changes. You helped me improve it a lot from the initial beta. However, I know it's not perfect now. Why not? Because it's hard! Even if someone correctly notices an issue, it's difficult to fix it because everything is interconnected. Fix X, break Y and Z. So it's not perfect now, but it's pretty good I think. As always, please let me know if you disagree!
Player ratings and development beta!
Today I released a new beta of Basketball GM featuring big changes to player ratings.
There were a lot of things wrong with player ratings previously. For example, the career arcs of ratings were very unrealistic. For example, it was not uncommon for a player to enter the league with no jump shot and grow to become one of the all time great shooters, or for a player to enter the league with horrible athleticism but grow to become an elite athlete. Sure improvement is possible - but not that much! I mostly implemented the changes described here to make individual rating changes more realistic.
Most Improved Player award
Basketball GM has long had awards every season - MVP, Rookie of the Year, etc. But Most Improved Player (MIP) has been missing for a while. That's because MIP is harder to compute than other awards. You don't need just this year's stats, you need prior years too. And you also need to understand context - is a player actually improving, or just recovered from an injury? Or maybe he's an established star coming off a bad season? Or maybe his numbers went up, but only because he got more playing time without really improving? It's complicated.
Even more advanced stats!
Earlier this week I added a bunch of advanced stats to Basketball GM. Well, now there's even more.
Team Advanced Stats: Go to Team Stats and switch from Team to Advanced to view stats like Pythagorean wins and losses and offensive and defensive ratings. Basketball-Reference.com has a good glossary of terms if you don't know what some of the stats are.
Player Win Shares and Ratings: Player pages and the Player Stats page now show offensive and defensive ratings along with offensive win shares, defensive win shares, win shares, and win shares per 48 minutes.
You guys like stats, right?
I rolled out a few new features over the past week, all aimed at one goal: more stats. Ideally, Basketball GM should provide you with all the advanced stats available for real basketball leagues. It's not there yet, but it's closer. Here's what's new:
More extreme heights
One of the cool things about Basketball GM is the time scale. The NBA has been around for 70 years, and in those 70 years all kinds of crazy things have happened - freakish players, lucky shots, huge upsets, tragic deaths, and more. In Basketball GM, you can easily play 700 years - you should get 10x as much craziness as the NBA! And you do get some.
But one thing that is missing is extremely freakish players. The best players alway feel kind of the same. That's because of the 0-100 rating system - once somebody is near 100 in most categories, he's the same as somebody else who is near 100 in most categories. You could imagine fixing that by abolishing the 0-100 system and letting ratings increase unbounded, but that is a bit too radical for my tastes. A more conservative solution is to decrease the range of normal. Take a 100 rating and make it a 75, then allow anything above 75 to appear only very rarely. That would allow for more unique stars that you might only see after playing thousands of seasons.
Live draft lottery
You can now view the draft lottery live, as it happens! The lottery behaves the same as it always has, just like the NBA draft lottery, so this doesn't change gameplay at all. But it can be very dramatic to watch the lottery unfold before your eyes.
Making a game 10x faster changes how people play it
Basketball GM 4.0 was released a week ago. It made game simulation about 10x faster. After releasing it, I was very curious how players would respond. If they played the same amount of time, they could simulate 10 times more seasons. Or they could play 1/10 of the time, but simulate the same amount of seasons. Or something in between. Or maybe they'd even change how they play, like focusing more or less on the details of the game.
Let's look at some numbers.
Basketball GM 4.0 technical details - caching, Shared Workers, IndexedDB/Promise interactions, Safari being a tease, McDonald's, and more
Google made me do it.
Basketball GM has always allowed you to open up the same league in multiple tabs, so you can easily view multiple different screens. This was originally implemented by running the entire game in each tab. Game data was always saved to disk via IndexedDB. And when an action resulted in a change to the data (such as playing a game, signing a contract, trading a player, etc), then a signal was sent to all other tabs telling them to update their data. This was kind of a crude approach, but it worked.
It worked, until Chrome started throttling JavaScript in background tabs. Their logic was, if you're not even looking at the page, do you really want it burning through your battery? It made perfect sense. Except for Basketball GM, it meant that game simulation would only run if you were looking at the tab you started it in. So if you clicked "Play until playoffs" and then switched tabs, it'd never reach the playoffs. Fuck!
When life hands you lemons, make lemonade. Since Google decided to totally invalidate the tradeoffs I had considered when designing Basketball GM, I decided to re-evaluate. I came up with two ideas:
Basketball GM 4.0 is here!
This is not an April Fool's Day joke! Basketball GM 4.0 is really here, and it's awesome. For those who haven't been following along, here are the biggest changes:
- The game runs ridiculously faster than it used to.
- It's so fast that it's actually playable on phones and tablets (iPhone/iPad support is pretty flaky still, but should improve in the near future).
- You can easily apply complex filters to tables.
I'll make another post with more technical details soon, for those who are interested in such things.
Thank you to everyone who tested the betas. Hopefully we found all the bugs, but if not, please report bugs on Discord or Reddit.