wohmongarinf00l
Immortal
- Joined
- Feb 15, 2002
- Messages
- 452
though i am an amateur in algorithm design i think both chess and civ3 require dynamic algorithms to be truly good. a chess AI can do this and make sacrifices because the search space for the dynamic algorithm is smaller and gets smaller as there is only one desired result.
civ3 ai is a different animal. a truly dynamic algorithm would require tons of resources in computational power and memory.
each civ could have a certain eng goal and it would be able to evaluate decisions and try to predict the outcome that best brings it closer to the outcome in X number of turns. since the path changes depending on what happens every turn, the path would have to be continually recalculated.
to minimise chances of players "learning" what the endgoal of each civ is, it could be factored in the random variable so each civ has equal chances of getting a certain "task" (spaceship, UN, conquest, domination, high score)....where there are lots of civs, two civs could have the same task.
the trick is, how to hide the task from the human player.
as it currently is, i suspect it uses greedy algorithms for everything. it tries to win something everyturn and assumes that by accumulating all these wins, it will win in the end. otherwise it would have the concept of ranking importance of cities (both its own and opponents). its battle strategies are always based on taking the most weakly defended cities and when u have a massive stack of offensive units u hardly get it attacked. that's why u can walk from one end of a civ to the other with that one huge stack without meeting an ai initiated counterattack on the stack. of course when u attack u get defenders.....
civ3 ai is a different animal. a truly dynamic algorithm would require tons of resources in computational power and memory.
each civ could have a certain eng goal and it would be able to evaluate decisions and try to predict the outcome that best brings it closer to the outcome in X number of turns. since the path changes depending on what happens every turn, the path would have to be continually recalculated.
to minimise chances of players "learning" what the endgoal of each civ is, it could be factored in the random variable so each civ has equal chances of getting a certain "task" (spaceship, UN, conquest, domination, high score)....where there are lots of civs, two civs could have the same task.
the trick is, how to hide the task from the human player.
as it currently is, i suspect it uses greedy algorithms for everything. it tries to win something everyturn and assumes that by accumulating all these wins, it will win in the end. otherwise it would have the concept of ranking importance of cities (both its own and opponents). its battle strategies are always based on taking the most weakly defended cities and when u have a massive stack of offensive units u hardly get it attacked. that's why u can walk from one end of a civ to the other with that one huge stack without meeting an ai initiated counterattack on the stack. of course when u attack u get defenders.....