|
I just wrote another post about this kind of problem with the AI. I think the AI needs a robust way to measure the value of players. When they look at a player, one of the major factors needs to be how much value that player adds to their team. So the better a team is currently in a position, the less valuable another player in that position would be, since the benefits are more marginal.
The other things that need to be considered are the value of money for the team, and the value of talent available at each position.
For valuing the talent at each position, teams could basically judge each free agent (and players who can be offered extensions) by how much value they would add to their team, and then offer them all a contract where the offer amount is based on how much value they add to the team. Then as soon as one of the offers falls into the acceptable range for the player to agree, the other offers made are essentially withdrawn and everything is reassessed to reflect the new situation, including the fact that the team is now better in that position and has less money on hand to offer players.
Regarding the value of money, the teams can allocate their available money across all available positions based on how much value each player adds to their team, and the offered contract money is divided up to each position based on the relative improvement each player in each position offers. So for example, if a team is already quite stacked with good players but just has a weakness in SS, they would see that the best SS available offers them a large improvement to their team (let's call it 60 points of improvement), while all the best players in other positions offer a rather marginal improvement (lets call it 5 points of improvement on average). So they would allocate their contract offers so that they would be willing to pay the SS an amount that is proportional to his value to the team compared to the cumulative values of the tops players in the other positions. If those other top players were to be acquired by other teams, it would cause an increase in the proportion of money this team would offer to the SS (and very slight increases to the other positions that still offer an improvement to the team).
For a weak team that needs improvement everywhere, their offered money would be spread out a lot more evenly to all positions. That means they would not pay high prices for superstars. Instead, they would be picking up bargains that offer them a lot improvement for little cost. Sure, they would offer the superstars a lowball offer, but that won't win the contract.
Determining the improvement a player offers should probably involve just placing the player into the team to see where the AI would put him and who would be removed from the lineup. Where he is put would be what the AI considers his position to be (it's how the AI wants to use him in that team). Ideally, the AI would then be able to calculate how much the team has improved because of the change.
This is just a starting point. Other factors need to be added in bit by bit.
|