Trade AI is probably the most difficult thing to develop, and even if it is "perfect", many users will still complain because they attach a certain value to certain player names they know. The AI does not care about names, all it does is care about ratings & stats and basic stuff like age and contracts.
When the user offers a trade to the AI, it evaluates its own team both before and after the trade in several ways (for example overall current value, or quality of farm system, future budget etc) and then weighs these evaluations based on the team mode (e.g. win now) and the GMs personality. And in the end you have two values as a result of some incredibly complex calculations (which are probably not 100% bug-free because of their complexity), and if X (value after trade) is bigger than Y (value before trade) the AI will accept the trade. If not, it will decline.
We tweak these evaluations every year, and they get better every year. But keep in mind, it will always be a comprimise, because each 1% of additional "smartness" costs a) a ton of simulation speed and b) a ton of development time.
|