Frequently Asked Questions
Basketball GM stores all game data on your computer, in your browser profile. This means that you can't play one league on multiple devices unless you export it (from the Tools menu) and then create a new league with that file. So first, make sure you're using the same browser on the same computer.
If you are using the same browser on the same computer and your leagues are missing, the game data has probably been deleted. This can happen in places like schools and libraries that set browsers to automatically delete everything when they are closed. It also happens if you manually delete your browser data. For example, in Chrome, if you go to More tools > Clear browsing data... > Cookies and other site data, that will delete all your Basketball GM data. This is true even if you tell it to only delete data from today - if you played Basketball GM at all today, it will completely delete all your leagues.
Browsers may also delete data if disk space is running low. I've never seen this happen on a desktop/laptop, but it does sometimes happen on mobile browsers. To minimize the chance of this happening, go to the global settings page and enable Persistent Storage.
In cases where the data has been deleted from your browser profile, the only way to get it back is if you have a backup. Sorry :(
Currently there's no easy way to do this, but it is possible.
You can export a league (Tools > Export League), copy the file to your other computer, and then create a new league using that file.
Sometimes your browser can get stuck on an old version of Basketball GM. Here are a few things you can try to force an upgrade.
Method 1: Open Basketball GM in a single tab in your web browser. Do a hard refresh (ctrl+shift+r, or ctrl+cmd+r on a Mac). If that didn't work, try again with your browser dev tools open (ctrl+shift+i, or ctrl+cmd+i on a Mac).
Method 2: Close all tabs with Basketball GM open and then open Basketball GM again. Or restart your browser. If this doesn't work the first time, try again.
Method 3: Try manually emptying your cache. In Chrome, from the main menu go to "More tools" > "Clear browsing data". Make sure you select "Cached images and files" and do not select "Cookies and other site data" because "other site data" is where Basketball GM stores all your leagues. Then try closing all open tabs with Basketball GM and opening it again, like above.
Method 4: Open Basketball GM in a single tab in your web browser. Open your browser dev tools (ctrl+shift+i, or ctrl+cmd+i on a Mac). At the top of dev tools panel, click "Application" (if it's too narrow to see, you might have to click the >> to see it) and then click "Service Workers" on the left:
Then click "Unregister" to the right of https://play.basketball-gm.com/:
Finally, reload Basketball GM and hopefully you will see the latest version.
Basketball GM is now available for Android in the Google Play Store. But it's no different than playing the game in your mobile browser.
I could imagine two separate followup questions:
Followup 1: Can you release an app for iOS (iPhone or iPad) similar to the Android app?
Maybe some day, but Apple makes it a lot harder to do than Google, so I'm not exactly eager to do it. Also, like I said above, it wouldn't actually make the game any better than just using your mobile browser.
But what if you just want it to look and feel a little more app-like? You can do that on iOS today, by following these steps:
Open https://play.basketball-gm.com/ in Safari.
Tap the icon featuring a right-pointing arrow coming out of a box along the top of the Safari window to open a drop-down menu.
Tap "Add to Home Screen." The Add to Home dialog box will appear, with the icon that will be used for this website on the left side of the dialog box.
Enter the name for the shortcut using the on-screen keyboard and tap "Add". Safari will close automatically and you will be taken to where the icon is located on your desktop.
(You can also do a similar thing on Android, by going to your browser's menu and tapping "Add to homescreen"... or you could just install the Android app!)
Followup 2: Can you make a better mobile app? Like a native app designed specifically for small screens?
Not in the near future, for several reasons:
Basketball GM already runs on your phone. Just use your browser. I know the interface is not perfect, but it does work.
I'm just one guy working on this project. I think it'd be a bad idea for me to split my already limited resources over multiple separate codebases. Instead, I'm focused on making the web version of Basketball GM as good as possible.
It is possible to improve the mobile experience of Basketball GM without making an app. The mobile web version can be improved, and it will be improved. But given the above point, it'll take some time. Bear with me :)
Finally, I'm not convinced that a tiny cell phone screen is a good place to play a sports management sim. This is a data-heavy game, and I think it's simply better on a laptop or desktop screen. So even if I made a super polished mobile app, I don't know if it would be as good as the current web version is on a computer.
No. I'm not convinced that playing time really matters for player development.
It's a chicken and egg problem. Do good young players get more playing time because they're already good? Or do young players become good if they get more playing time? It's obvious that the first scenario happens. But is it obvious that the second scenario happens? I haven't seen any convincing evidence that it does, and there is some evidence that it doesn't.
I know that's not really a fair argument, because it could be that it's a real effect that is just hard to see in the stats we have available. But if it's hard to see in the stats we have available, does it matter for a game like Basketball GM? Because if it's so difficult to notice in reality, it'd be equally difficult to notice in Basketball GM.
I can make a counterargument, though. Basketball GM is a video game. Its primary purpose is to be fun, not to be realistic. So maybe it'd be fun to give unrealistically large bonuses to young players who get a lot of playing time. I don't know. It could be fun. But I also very much like to keep things simple, so I err on the side of simplicity. And doing nothing is very simple.
I also am aware that I could be wrong. Maybe there is a convincing, data-driven argument that playing time leads to quantifiable improvement. If so, please let me know!
I am very bad at planning, so I'm not going to commit to any timeline. But I would like to do other games.
Most likely baseball would be the next sport, because pro baseball is pretty similar to pro basketball/football/hockey. Soccer would require a lot more work to really do it right, since pro soccer is pretty different. There's multiple competing leagues, cross-league tournaments, buying/selling players, relegation... a soccer management game would be a little unsatisfying without all those features.
College sports would also be fun to do.
Will the next new game be a college version of an existing sport, or a pro baseball game? I'm not sure. Like I said, I'm bad at planning. I also am not sure when any of this will happen. Which doesn't necessarily mean it will be a long time. It only took about 6 weeks from me deciding to make ZenGM Hockey to releasing it. There could be a similar timeline for my next game when I decide to start working on it.
Many games, including mine, use a 0-100 rating system. However that doesn't mean they are the same scale. Basketball GM generally has lower ovr ratings than other games, so 90+ ovr players will be quite rare. You can see the breakdown of how good players at different ovr ratings are in the manual.
Is this a good thing? My thought process was that if the scale is 0-100, I might as well try to use all of it. If 100 rated players are common, what happens when there is someone even better? On the other hand, maybe I should have made my ratings more similar to other games just for familiarity? I don't know. Actually I think a better system would be unbounded, so average rating would be 0 and players could go above/below that any amount. But that might be too big a change for me to make in my games at this point.
Contracts in Basketball GM are indeed quite simple. They pay the same amount every season, they are all fully guaranteed with no player/team options, there are no restricted free agents, special salary cap exceptions are mostly not present, etc.
That's certainly unrealistic. I completely understand people who wish that every little contract rule from the real world was included. But I am wary of making the contract system too complicated. Sometimes there is a tradeoff between complexity and fun, and for me personally when I'm playing a game like this, I don't want to have to worry about the ever-changing ridiculously complex contract rules that pro leagues have.
Maybe some day I will include some of that stuff as options. But that's easier said than done, for something as central to the game as contracts. The AI would need to be smart enough to handle all possible combinations of settings, and the AI struggles enough already!
Historical real players rosters only include players who actually have stats, because stats are what's used to determine ratings. Some players without stats may be in the game, but those are manually added. Feel free to request more, if you want!
Another problem with real players rosters is that sometimes players appear in the wrong draft class. This happens because Basketball GM does not support the concept of "a player's rights are owned by a team, but he's not actually on the team this season". So things like a player being drafted in 2004 but playing in another pro league for a few years before his rookie season in 2007... Basketball GM has no good way to represent that. Until I fix that, there are only bad options, such as:
Put those players on the roster of the team that owns their rights. That's bad for a number of reasons: it's hard to figure out who owns the rights to all prospects at all times; he would either play too early, or have to be marked as injured for a long time; and if he was injured and not playing, the team would still have to pay his salary.
Make those players free agents that anyone can sign, and maybe mark them as injured for a long time too.
Move those players to the draft class right before their rookie season.
I think that last option is the least bad, so that's what I did.
This should only apply to players who were not on the team at all. For players who did join a team after the draft but spent the whole year injured or on the bench, those players should be included in the correct draft class. However sometimes it's hard to distinguish between these scenarios, so if you notice someone like that being moved to a later draft class, please let me know.
Two main reasons:
Basketball GM doesn't have various things like player/team options and contracts with different $ each season, so some compromise must be made when representing real contracts in Basketball GM. For more details about this, see Why are contracts in Basketball GM so simple?
The contract data I have just has what players are paid each season, not start/end dates of contracts. So I wrote some code to try to guess the start/end dates based on contract length and when there are big jumps in contract value, but it cannot accurately detect when players re-sign to similar contracts. Which happens a lot, especially for max contract players.
At some point I'd like to create a better historical contract database, maybe by crowdsourcing and letting you guys help me do it :)