New Improved Trade AI
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.
Specifically, I tried to fix all of the following loopholes:
- You used to be able to trade away expired contracts after the season ended but before re-signing players. That is no longer allowed.
- You used to be able to acquire a player and then immediately trade him, which could be exploited by repeatedly signing free agents and trading them away for draft picks. This has been fixed by requiring 15 games to elapse before you can trade a player who was just signed or traded.
- You used to be able to easily poach undervalued assets from AI teams, mainly far future first round picks and rookies without much playing time. This has been fixed by more appropriately valuing those assets in the AI.
- You used to be able to dump big contracts on pretty much any team with cap space. This has been fixed by making all AI teams much more reluctant to take on bad contracts. So, more realistically, you'll have to include other assets like draft picks and young players if you want to get out of a bad contract.
- You used to be able to easily trade away big contracts during free agency, before other teams filled up their cap space with free agents. This has been fixed by making teams more reluctant to use up their cap space in a trade during free agency.
- You used to be able to steal picks from the AI in good drafts and sell picks to the AI in bad drafts, since the AI treated every draft the same. Now, the AI looks at the draft prospects available and sees if it is a strong draft or not, which impacts how they value draft picks in different years.
- You used to be able to dump your bad long contracts on AI teams in return for bad short contracts, and steal good long contracts in return for good short contracts, but now the AI factors in contract length.
- You used to be able to trade away players with serious injuries without the AI noticing, but now the AI looks at injured players less favorably than healthy players.
However, with something this complicated, I undoubtedly made some mistakes. Either by not sufficiently fixing the loopholes listed above or by introducing new loopholes.
So please, if you notice any weirdness about the trade AI, let me know in a comment here or on Reddit.