One of the consistent problems in all Civ games has been the predictability of the AI. I believe some simple programming in which the AI identifies conditions and reacts with some level of randomization would improve this situation.
The problem generally is that the AI does not react appropriately based on both failure to understand what is happening and failure to take effective steps. However, to the degree that the AI does react reasonably, a second an important problem is that this reaction is highly predictable.
These conditions lead to human exploits of both the game itself and the AI's poor execution. While the game itself may need some tweaking, I'm focused here on the AI.
Recognition:
The AI needs to have better recognition of common human player tactics. For instance, the AI needs to discern the difference between the following:
For each of those categories, the AI should have a range of reasonable/unreasonable responses that would be randomized with degrees of probability depending on the difficulty level.
For instance, in condition 1 above, combinations of the following responses might be possible and perhaps reasonable:
Disclaimer: I don't claim to know exactly how the AI operates now. Perhaps some of you who read code have a very precise idea. But it doesn't seem to operate along the lines I have described here.
The problem generally is that the AI does not react appropriately based on both failure to understand what is happening and failure to take effective steps. However, to the degree that the AI does react reasonably, a second an important problem is that this reaction is highly predictable.
These conditions lead to human exploits of both the game itself and the AI's poor execution. While the game itself may need some tweaking, I'm focused here on the AI.
Recognition:
The AI needs to have better recognition of common human player tactics. For instance, the AI needs to discern the difference between the following:
- The human player has surrounded this city with ranged and/or seige units.
- The human player has surrounded this city with melee/spear units and has little or no ranged support
- The human player has surrounded this city with cavalry units
- The human player has surrounded this city with a mixed-unit army that includes some ranged/seige units
- The human player has surrounded this city with a mixed-unit army that does not include ranged/seige units
- The human player has one or two units near this city only.
For each of those categories, the AI should have a range of reasonable/unreasonable responses that would be randomized with degrees of probability depending on the difficulty level.
For instance, in condition 1 above, combinations of the following responses might be possible and perhaps reasonable:
- Complete or buy AI city walls
- Complete or buy ranged AI units
- Complete or buy AI melee or mounted units
- Attack besieging units with nearby AI units, walls, encampment, etc.
- Scuttle valuable buildings and retreat from city.
- Do nothing until one of these others can be done on another turn
- Attack the enemy somewhere else to divert units
- Bribe another AI to DOW on the enemy.
- Peel away the enemy's suzerains.
- Suzerain a CS located near the enemy's cities.
- Attack the enemy's trade routes.
- Attack the enemy's units that are not near the AI's cities.
- Prioritize against attacking an enemy's units if you cannot kill them this turn.
- Prioritize against attacking an enemy's units if they can pillage where they stand.
Disclaimer: I don't claim to know exactly how the AI operates now. Perhaps some of you who read code have a very precise idea. But it doesn't seem to operate along the lines I have described here.