11 new teams/logos, and an Australian relocation

August 2, 2023-

Thank you to everyone on Reddit and Discord for suggesting names for new teams in some international cities. I got the usual logo designer (Elliott Strauss) to make the logos, and he just finished this week.

There was also some good timing. Right about when these logos were getting finished, a user (utmothgirl on Discord) sent me a fun logo for a team from Kentucky. That is included in this update too.

And as the title mentions, there was also a relocation in this update. Right after I released the last batch of logos, some Australian users informed me that the Melbourne Convicts was a bad name because Melbourne was actually settled by free people, not convicts. So in this batch, I moved the Convicts to Sydney (which was actually settled by convicts) and added a new team in Melbourne.

Here are all the new teams:

Read more...


Slightly more realistic contracts for real players

July 13, 2023-

When you make a real players league in BBGM, it does try to use real contract data. But for several reasons, the contracts in BBGM cannot be exactly like real contracts. BBGM contracts are simpler than real contracts: no player/team options, no extensions, no non-guaranteed contracts, etc. And the real contract data I have only goes back to like the 1980s, so any time before then we are flying blind.

Anyway, there are a bunch of problems, and I'm only here to solve one of them right now. The main part of this problem is that the real contract data I am using doesn't have the start/stop dates of contracts, it's just the dollar value each year. From that, I need to kind of guess where a player actually signed a new contract. Mostly I do this by looking for big increases/decreases in contract value. That identifies a lot of them, but not all.

Read more...


New league type: cross-era leagues, made up of historical teams from different years

This is not actually a new feature, just an easier UI for an existing feature! The original feature is from last year, but you need to hunt through like 5 different menus to find it. Now you can just go here and instantly create a league:

Read more...


Several small Football GM stat/simulation improvements

Simulated sports can never be exactly the same as real sports, but the closer it gets, the better. So when you notice something weird in the stats or in the play-by-play log, please let me know. That's how I found out about all these little issues in Football GM that I just fixed in version 2023.06.21.1277:

Read more...


The permanent pulled goalie bug

There are plenty of bugs in my game. Usually it's something like "when I click on X it shows an error message" or "when I change two settings at the same time, it breaks" or "the simulation is doing really stupid stuff". Usually bugs are not very fun, they're just annoying. Maybe the funniest bug previously was when the effect of OL was reversed in Football GM, so playing a bunch of kickers at OL made your team dominate. The problem was that, in addition to being funny, it was also a game-breaking bug. Too serious to truly be funny.

Now I think I have seen (and fixed!) a funnier bug. This is a bug in ZenGM Hockey that only rarely happens. It's so rare that in the 2+ years ZenGM Hockey has existed, nobody ever noticed it. But recently it was noticed for the first time... when it happened with 8 seconds left in game 7 of the conference finals in a multiplayer league!

Read more...


Finances revamp

June 14, 2023-

The finances system in Basketball GM (and the other games) has been basically unchanged for a long time. I think there are various parts of it that don't really make much sense, or aren't very fun, or are exploitable, or are confusing due to poor UI. So I set out to fix all of those problems at once. The end result is not actually that different in terms of gameplay, but I think it does make things better in all of the aforementioned areas.

First, let me go over how the current finance system works and what I think its main problems are.

Read more...


Group regular season schedule into MLB-like 3/4 game series

April 19, 2023-

When developing ZenGM Baseball last year, there were a bunch of things I wanted to do but decided to leave for later. Can't let the perfect be the enemy of the good! One of those was the regular season schedule. In baseball, due to the large number of games with few days off resulting in the need to minimize travel, teams usually play 3-4 games against the same opponent, which is called a "series".

In the initial release of ZenGM Baseball, there were no series, games were randomly ordered just like the other sports. Now that is changed - there is a new setting called "Group Games Into Series" that is enabled by default in ZenGM Baseball, so it will apply for future seasons in all leagues unless you disable it. (For other sports it's disabled by default, but you can enable it if you want a baseball-like schedule.)

The end result is the schedule looks more like a baseball schedule:

That's the general idea. Read on for all the details, if you're curious.

Read more...


Goalie fatigue in the playoffs

In the initial release of ZenGM Hockey, starting goalies played literally every game, which was unrealistic. So shortly after that I added goalie fatigue to ZenGM Hockey. But I never actually explaind how it works.

Goalie fatigue works by tracking the number of consecutive games played by goalies, and then decreasing their goalie rating by some amount. That amount is the number of consecutive games played prior to this game, multiplied by a random number between 0 and 9% (the randomness is just so the outcome doens't look too uniform). So after playing 3 games, a goalie will be somewhere between 0% and 27% less effective than normal. If that happens to make them worse than their backup, the backup plays. This is nice because it lets star goalies play more, and it also gives you a good reason to have a quality backup - not just because the backup sometimes plays, but because the more your backup earns playing time, the better your starter will play with a little more rest.

Read more...


Better handling of players with gaps in their career in historical real players leagues

March 13, 2023-

Just to be clear, this is about real players rosters in Basketball GM, for players who had some gap in the middle of their career where they didn't play. This is not about players who are drafted and have some gap between ther draft and their rookie season that is still handled kind of strangely.

So this is about players who were injured, suspended, unsigned, playing in another league, retired, or whatever - for an entire season or more. Previously BBGM kind of ignored those players. Like if a player played from 2005-2008 and then 2010-2013, if you started a real players league in 2009, that player would not be present in the league at all. But now those players are handled better!

Read more...


Bold league leading stats on player profile pages

March 5, 2023-

Inspired by basketball-reference.com, on player profile pages I added bold/highlighted text for each stat a player leads the league in. Most players don't lead the league in anything, in which case there is no change for them. But for the top players in your league, it gives you a quick glance at just how dominant they've been.

It works on all the stat tables on the player page - regular stats, advanced stats, playoff stats, etc. It also works on player ratings, and even ages to show you the oldest player in the league.

I know this seems like a simple little feature, but there's actually a lot of details involved in implementing this, so I figured I would blog about it!

Read more...