I started creating a Vue3 version of the classic Sid Meier game Colonization. I have the basic player mechanics in place and even created a map editor. So I have 3 of the 4X in place: Explore, Expand and Exploit, what is missing is Exterminate. But here it gets tricky as I need an AI for the natives and other European nations. I don't even know where to start. I've seen this question but this is more about path finding and real time AI. What I need is a tactical AI in a turn based environment. As I don't know what the original game did I can only guess a few points.
Natives:
- Place a few vilages in the same general area of the map -> I think with some random logic I should be able to do that (I already use seedrandom for placing the special resources on the map)
- Character movement -> Already gets a bit trickier: what boundaries should the movement have
- Agression -> When are they getting pissed by the Europeans and start attacking and how to determine how fast they can produce units
European competition:
- The basic from the natives apply as well, but they need to found their settlements with some logic behind, so no simple randomization. Maybe close to special resources
- Different behaviours from the original game, eg. the Spanish are agressive against natives, the Dutch focus mostly on trade, etc.
- Diplomacy between each other and the player
Independence:
- I think this should be easier again, just add units to their army depending on the size of the player popoluation, cities and money and attack the coastal cities in waves.
So my question is: how to implement such an AI?