GM History page
Back in the old days, there was no way to switch your team in Basketball GM. If you got fired from your job, it was game over. Try again a new league. In part that was just because I hadn't gotten around to adding that feature yet. But also I thought it might be a good way to ensure a league database never grows too large, because at some point you were bound to get fired.
This turned out to not be a very popular feature. People found it too harsh to be forced to quit playing their league. So eventually I made it so you could switch to a new team after getting fired, and also added the ability to switch at any time in God Mode.
This introduced another problem. The game wasn't really designed to support switching teams, so there was no way to easily view your performance was across all the teams you managed in league history. But today there is!
Now you can go to Teams > GM History to view a summary of your overall performance as a GM, tracking all the seasons for all the different teams you managed. Here's what it looks like:
Smarter contract generation
Generating player contracts is tricky.
In the past, contracts were generated from a simple formula based on factors such as age and player ratings. That works pretty well, at first glance. Good young player? Big contract. Bad old player? Small contract.
The problem is, that's simply not how contracts are set in reality, and for good reason. It lacks a global perspective. Like if no team has max cap space, or if there are better free agents they'd rather spend it on, then it doesn't matter if a player thinks he "deserves" a big contract. This resulted in situations where sometimes good players would go unsigned in free agency, because no team had enough money to meet their demands.
Today, there is a new contract generation system in BBGM that solves this problem by incorporating a global perspective. Contracts are generated with knowledge of how much cap space teams have and what other players are on the market. So if, due to some random fluke, you find yourself with a very good free agent class in a league without much cap space, players will ask for less money. Or if you find the opposite, a poor free agent class in a league where teams have tons of money, players will ask for more money.
Give it a try and let me know what you think. Or read on for more details about how it works, which is pretty cool.
Players now have jersey numbers, and teams can retire jersey numbers of former players
Basketball GM and Football GM now have jersey numbers for players! This is something people have been requesting for a while. It took me so long to do it because I just don't really notice jersey numbers. If you quizzed me on jersey numbers of popular athletes, I would fail horribly. But this isn't about me, it's about you guys! And I know jersey numbers are important to a lot of you.
You can view jersey numbers in a few different places: on player profile pages, on the Player Bios page, and on the little popup when you click the stats icon next to a player's name. On player profile pages you can also see the full history of jersey numbers for a player, which was inspired by Basketball Reference:
Better support for customization of player names, countries, and colleges
Basketball GM has long supported customizing the names and countries of randomly generated players, which is useful for people making custom league files. For instance, if you want to simulate a league in France, it makes sense to mostly generate French players.
The problem with this feature was that it kind of sucked. The file format was confusing and required a lot of repetitive work. Basically it was designed to make my life easy, rather than making it easy to use. That's the opposite of how I normally try to operate.
Today I have finally rectified the situation. There is a new format for customizing randomly-generated player names and countries. Don't worry, all your old league files will continue to work like normal. But in the future you'll be able to use the new format, which is both easier and more powerful. Here is the documentation.
Three improvements to game simulation realism
One of the fun things about Basketball GM is that you can view the entire source code to the game, which opens up a level of modding and customization that is matched by few other games. Furthermore, you can even get your improvements included in the game itself. As you can see, that has resulted in a nice trickle of improvements from the community, including a recent PR from icedjuro which added the annual ratings change to player pages:
Recent development, some small improvements (including AV for kickers and punters!), and future plans
Football GM has been in an interesting place in 2020. I haven't given it a lot of direct attention. I've been a lot more focused on Basketball GM. Despite that, Football GM has gotten a lot of improvements. This is because BBGM and FBGM are built from the same codebase. Except for very sport-specific things, any improvements are made in both games at the same time.
All of the recent improvements to FBGM (individual player import/export, challenge modes, the news feed, more frivolities, etc) were made this way. I was focused on improving BBGM, and FBGM just automatically benefited.
Logos for the new teams
Elliot Strauss has done it again! The 10 new teams recently added to BBGM now all have awesome logos.
Import/export individual players
New feature! You can export a subset of players from a league, and import them into another league. Access these features by going to Tools > Import/Export Players.
Both importing and exporting are quite flexible. For export, you can pick any player in your league's history - current players, players from past seasons, or draft prospects.

Then when importing, you have even more options:
A bunch of new options for league creation: challenge modes (no draft picks, no free agents, no trades, no visible ratings), player development realism, and more
Today I added a bunch of fun new features to Basketball GM and Football GM. They're all available when you create a new league, by clicking the "More options" link at the bottom.
Different types of leagues will have different options available. This is what you see when creating a new "real players" league in Basketball GM, which has almost all of the new options available:

Some of those options (challenge modes and real player development determinism) are also available in God Mode, where you can change them in any existing league.
What exactly do all of these new options do?
New feature: News Feed
Today I added a News Feed to Basketball GM and Football GM. You can see it by going to League > News Feed. It's similar to the old Event Log and Transaction pages, but with some significant improvements:
Each event has a "score" associated with it, which is used to filter stories. By default, it only shows you "important" news. The score formula is different for different types of events. For example, for injuries the score depends on injury severity, how good the player is, if it's the playoffs or not, and if he's on your team or not.
There are filters to show events based on season, team, importance, and category.
It's more comprehensive. The old event log was missing some events, such as league rule changes.
It looks better, including team logos and player photos.
Top headlines also appear on the Dashboard, replacing the old "Upcoming Games" and "Completed Games" sections which have been kind of redundant after I added the scrolling list of scores at the top of the screen.