AntSou
Deity
- Joined
- Jun 8, 2019
- Messages
- 3,052
AI needs to make better considerations as to where to send their envoys during war. I keep having Victoria send her envoys to Geneva, breaking my ally status with that city. But here's the problem:
- Geneva's bonus does not apply during wartime.
- Geneva has no luxury resources.
- Geneva is the city-state ally the furthest away from England.
So they have wasted envoys for absolutely no benefit to them, or disruption to me.
________
The solution would address the three points above. I don't think this needs to be over complicated, but some simple coding could soften the poor decision making a bit, just enough to be acceptable. So:
- All City-States have an inherent priority value, say, from 1 to 4, which determines how important they are during war time.
E.g. Geneva's ability reads "Your cities earn 15% science whenever you're not at war with another civilization."
Which means, on this scale, Geneva would only score a 1, since the ability is cancelled by me being at war anyway.
- A value from 1 to 4 which measures luxury resource importance. This is a value which takes into consideration a) how many luxury resources are being provided by that city state and b) how many copies of that resource does the player have. In other words, does it contribute at all to disrupting the amount of amenities I have?
- A value from 1 to 4 measuring passable distance from the city-state to its territory AND the strength of the city-state's army. By passable I mean terrain only. It does not take into account neutral civ tiles without open borders, since it's very easy to get open borders.
FINALLY: The code averages the three values (weighted, perhaps). The AI then sends its envoys to the opponent's allied city-state with the highest "disruption value". Furthermore, if a threshold is not reached (e.g. a value of 2 perhaps), no envoys are sent at all. The AI will instead accumulate envoys until the threshold disruption value is met, and then send them.
If you read this, thank you. If you have a better idea, please share.
- Geneva's bonus does not apply during wartime.
- Geneva has no luxury resources.
- Geneva is the city-state ally the furthest away from England.
So they have wasted envoys for absolutely no benefit to them, or disruption to me.
________
The solution would address the three points above. I don't think this needs to be over complicated, but some simple coding could soften the poor decision making a bit, just enough to be acceptable. So:
- All City-States have an inherent priority value, say, from 1 to 4, which determines how important they are during war time.
E.g. Geneva's ability reads "Your cities earn 15% science whenever you're not at war with another civilization."
Which means, on this scale, Geneva would only score a 1, since the ability is cancelled by me being at war anyway.
- A value from 1 to 4 which measures luxury resource importance. This is a value which takes into consideration a) how many luxury resources are being provided by that city state and b) how many copies of that resource does the player have. In other words, does it contribute at all to disrupting the amount of amenities I have?
- A value from 1 to 4 measuring passable distance from the city-state to its territory AND the strength of the city-state's army. By passable I mean terrain only. It does not take into account neutral civ tiles without open borders, since it's very easy to get open borders.
FINALLY: The code averages the three values (weighted, perhaps). The AI then sends its envoys to the opponent's allied city-state with the highest "disruption value". Furthermore, if a threshold is not reached (e.g. a value of 2 perhaps), no envoys are sent at all. The AI will instead accumulate envoys until the threshold disruption value is met, and then send them.
If you read this, thank you. If you have a better idea, please share.