Posts tagged "Project Iverson"
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.
Basketball GM 4.0 Beta 2
Thanks you everyone for testing the first beta! All of the bugs people found have been fixed. The biggest change from the first beta is that multi-tab play is back. There are two caveats. First, you can only have one league open at a time. I figure this is not a huge problem, but let me know if you often do have multiple leagues open. Second, it is a little slower than the first beta, but still much faster than it used to be.
Also, multi-tab play does not work in Safari, so you can either play one tab per league in Safari or use another browser.
With that being said, here's the link to beta 2, please give it a try. To make sure you're on beta 2 and not the original beta, look at the bottom of the page. It should have a date of 2017.03.24.1059 or later.
Like last time... this is a beta, so bang on it, try to break it, try to get it to produce an error. Feedback is appreciated, on Discord or Reddit.
Basketball GM 4.0 Beta
I'll make another post with more details later, but right now, the beta brings some good and some bad:
Good: Performance, performance, performance. Depending on your computer and browser, you will find it about 10 times faster. That is a lot.
Good: It works in Safari now, although it's not that well tested.
Bad: You can only open a league in one tab at a time. I do have plans to restore multi-tab play, but I didn't want to hold up the beta for it. And single-tab mode will be needed as a fallback mode in some browsers, so it will be good to test it. Please do give me feedback on this. If single-tab mode is horrible, I will prioritize multi-tab mode.
This is a beta, so bang on it, try to break it, try to get it to produce an error. Feedback is appreciated, on Discord or Reddit.
(Also, accounts don't work on the beta. They aren't supposed to. That's not a bug.)