Posts tagged "AI"
There have been a lot of blog posts about the trade AI in the past - just click that Trades tag above if you don't believe me! And yet, the trade AI remains flawed.
The most ambitious (and so far failed) attempt at improving the trade AI came from nicidob, where he tried to come up with a model to predict how the various "assets" a team owns (not just players and picks, but also cap space) contribute to the likelihood of winning a championship over the next several years.
Over at zengm.com it says:
Simulation games need depth, but they need the right amount of depth with a UI to help you make sense of it. We seek to avoid mandatory micromanagement as much as possible. Video games should be fun, not tedious.
One area where my games have failed in that regard is finances. Finances can be optimized through micromanagement, and that sucks. Today one area of finance micromanagement has been removed: ticket prices.
This update is only for Football GM and ZenGM Hockey. I didn't do it yet for Basketball GM because position matters much less in basketball, so whatever minimal gain might be achieved from this new feature would not be worth the risk of changing the AI.
But for football and hockey, it's very important for the AI to know that you can only play one quarterback/goalie at a time, so it doesn't make much sense to sign 2 (or more!) to big contracts.
Previously this was somewhat of a problem, because AI roster moves were made by looking at how good a player was, regardless of the current roster. (Okay, that's not quite true, there was some ad hoc code to make it not do completely crazy things, but it didn't work that well.)
As an example, I simmed 100 seasons in Football GM to see how often a top 10 QB in the league spent a season as a backup. That happened for 77 seasons before this update. But after this update, it happened for only 18 seasons. That's a pretty decent improvement, I think.
But how does it work?
This is about the trade finding algorithm, not the trade AI itself. There are no changes to which trades will be accepted or rejected. But there are some changes to the algorithm powering the trading block, AI-AI trades, and the "What would make this deal work?" button.
The end result of these changes is that the AI is more upfront and consistent. It gives you its best proposal right away, rather than trying to be cute and maybe sometimes not tell you right away. And when you spam that "What would make this deal work?" button, it will keep giving you the same answer unless something has changed.
I think it feels a lot more reasonable this way, and I hope you agree. Read on for all the details.
First, let me explain how AI re-signings used to work. It's always been a dirty little secret that the AI did not obey the player mood system. That was true of both the old and new player mood systems. Instead, there was a single formula to give "the probability a player re-signs with a team", meant to capture both if the team wants to re-sign the player and if the player is willing to re-sign. The end result of this formula was that high value players often became free agents, but there was no way to reliably predict which players would end up in the free agent market.
To improve on that situation, today's two changes are:
No huge news here, sorry, but there are a few minor improvements in version 2019.08.18.0097:
A lot more tables (such as Draft Summary) are searchable, filterable, and downloadable. There's still a few that aren't. Let me know if that's a problem. Also let me know if I messed anything up with this change, since the table component is used in many many places!
In the past, when you got fired, the AI would never actually change your finance settings back to something reasonable. So if you made them unreasonable, the results would look silly. Now the AI resets their finance settings every year.
The Hall of Fame cutoff adjusts based on the number of games in a season and the length of a quarter. Previously, short leagues would have empty HoFs and long leagues would have tons of HoFers.
Specifically, the cutoff is multiplied by
sqrt(quarterLength / 12) * numGames / 82. The square root is to account for fatigue in games - shorter games mean the starters play a higher fraction of the game (and the cutoff should be a bit higher) and longer games mean the opposite.
As always, let me know if you notice any problem with this stuff, or if you have any other feedback!
New feature! Go to Tools > Auto Play Seasons and you can tell Basketball GM to simulate through any number of seasons. The AI will take over your team for you and play through multiple seasons without any user input required.
I'm not sure how many people will actually benefit from this feature. I mainly made it for debugging. But I hope someone appreciates it!
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.
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.