The set of technologies used as a foundation for a piece of software is sometimes called a stack. The most famous is LAMP (Linux, Apache, MySQL, Perl/PHP/Python). A trendier option is MEAN (MongoDB, Express.js, AngularJS, Node.js). And there are tons more, mostly tounge-in-cheek jokes at the absurdity of reducing a stack to a catchy acronym (at least, I hope that's what they are). There is even the LeBron stack: LevelDB, Browserify, and npm. In Basketball GM, I use npm a little and I indirectly use LevelDB through IndexedDB in Chrome, but sadly it'd be quite a stretch to say I'm using the LeBron stack.
What stack am I using? Nothing coherent or well established. Just a hodgepodge of things that somehow happens to work. But that's just not a catchy answer, so I set out to find a cool name for my stack. The LeBron stack is a fun name, so I figured I could try to find another NBA-inspired name.
After a long beta (thanks for testing!), the new version of Basketball GM is ready. All your leagues will be upgraded automatically. The main difference is that game simulation is about 20% faster. Additionally, there are some minor bug fixes (the NaN bug is finally gone, I think) and enhancements (real injury descriptions show in old box scores and uploading exported league files is much faster).
On the downside, Internet Explorer is no longer supported. If you're an IE user, you can export your leagues still. Then you have the option of switching to Chrome/Firefox or using an old version of Basketball GM. Hopefully IE support will return to the latest version eventually, but I'm not holding my breath.
For some reason, I made a video demo showing off this feature.
TLDW: Game simulation is roughly 20% faster, particularly when you're many seasons in. Please test it out and let me know if you find any problems in any aspect of the game. Here's the link to the beta.
One of the most important parts of Basketball GM is the player development algorithm. The tricky part is that different players develop differently depending on their ages and abilities. Previously, this was handled poorly in Basketball GM. But as of today, a new player development algorithm is live and you will hopefully find it much more realistic.
God Mode enables some features that are a little too close to cheating for me to want enabled by default. Specifically:
- The ability to create new players (this feature has been around for a while, but now it is only available in God Mode)
- The ability to edit players (available only since earlier today)
- The ability to force trades to be accepted (brand new)
This post is to announce two new features that have gone live over the past couple weeks that should enhance the customizability of Basketball GM: full league import/export and draft class import.
As has been noticed, it can be quite difficult to convince an AI team to part with draft picks, even if they are a "contending" team. It takes a little more than a Tweet to explain, though.
It has come to my attention that some people are doing things besides constantly playing Basketball GM. The game just isn't addictive enough. Maybe part of the problem is that the game has always been self-paced. There's no way to "win", and there aren't any real objectives other than ones you define yourself.
Well, now that's changed. Today I added an "Achievements" system. This provides some challenges you aim to accomplish, like sweeping all 16 wins in the playoffs, winning a title with a low payroll, and winning multiple consecutive titles. See them all here.
In Basketball GM, "skills" are the little labels you see next to a player's name, like "B" for a good ball handler and "3" for a good 3 point shooter. But what do they actually do? Well, that's changed recently, so let me explain.
The trade AI in Basketball GM has never been that bad, but people still found ways to exploit it. As I fixed those exploits, the code grew and grew and grew to the point where it was too confusing to manage.
So I ripped it all out and started over. Now, there is a new and (hopefully) improved trade AI. It was always decent at valuing current player production (that's easy, just look at the stats), but my main goal here was to improve how it valued other things. Like draft picks, overvalued/undervalued contracts, injured players, etc.