Compilation: AI shortcomings
Posted: Mon Feb 14, 2011 4:16 pm
Inspired by Bingeling's excellent AAR which made a number of important observations on improvements that could be made to the AI (a worthwhile read, especially if you are a developer: tm.asp?m=2722742 ) I decided to compile my own brief list of immediately observable issues. In a strategy game, DW being no exception, having a dysfunctional AI can take all the fun out of an otherwise brilliant game - many of you are probably familiar with the absolutely atrociously poor AI of Firaxis' recentmost Civilization V. This is not to say that DW's AI programming is comparatively poor - but there are a number of issues which do hurt the quality of the game a great deal. Fortunately, I believe that most of these issues would be relatively easy to fix for the obviously talented developers behind DW. It is my belief that a solid AI ranks amongst the very highest priorities when it comes to a 4X title and thus I hope the developers give these issues the attention they deserve.
I can think of a number of more advanced fixes I would like to see done to the AI over the long term. However, I will not go forth with those just yet - the basics should come first.
You are very welcome to post your own observations as well. Maybe we can turn this thread into a thorough compilation of AI issues that need to be remedied. Developers are welcomed to issue feedback.
Following is my brief compilation based on half an hour observing my fully automated empire, using Return of the Shakturi v 1501:
* Empires start off with a very high potential research capacity. However, the AI does not utilize this because it doesn't build research labs unless it comes in the form of a research station built at a research bonus location. The effect is that for a very, very long time during the opening stages of the game - especially for empires that have a scarcity of research locations near their starting location - the AI is getting only a fraction of the research it 'should', putting it vastly behind a player who intelligently outfits his initial spaceport with extra research facilities to acommodate the large research potential. Consequently, the AI - even AI technocracies - are hopelessly behind the player in terms of research from the very beginning of the game.
* The AI fails at prioritizing colonization technologies. Empires of species that inherently have the ability to colonize continental planets should make this research subject a very low priority, choosing the marshy swamp equivalent instead. A Human empire has absolutely no use for the continental colonization tech other than as a passageway to accessing desert colonization and consequently researching it should take very low priority for a starting empire.
* The AI is much, much too reluctant to spend its cash. In my game my empire was at war very early on. My empire had a 100,000 cashflow and a huge 500,000 treasury yet invested in very few ships - obviously a terrible decision. I know that Bingeling found the same in his game. The AI needs to be much more aggressive about spending its cash as long as there is a large treasury and/or cashflow.
* The AI builds far too few exploration ships. The consequences of this are far-reaching but the most important issue is not finding many planets to settle. This means the AI's economy and power base builds up at a snail's pace compared to the player's. The AI needs to produce a *lot* more explorers.
* The AI also doesn't colonize fast enough. It will frequently have discovered a valuable planet yet wait several minutes before a colony ship is built and sent. In these situations there is no reason not to immediately build the colony ship and claim the planet for the empire. Please make the colonizing much more aggressive.
* In wars, the AI has an unfortunate tendency to send very weak forces (sometimes just a single ship) against vastly superior enemy fleets. These single ships will only try to escape once their shields hit 20% at which point the large enemy fleet has them surrounded and they get killed before they can power up the hyperdrives. This causes the AI to slowly but surely lose its entire fleet without having ever put up a real fight. There needs to be an algorithm that estimates the relative power levels of ships in a system: If enemy fleets are vastly superior in numbers and firepower, ships should immediately retreat, not fight.
* The AI also prioritizes targets poorly in wars and doesn't not take fuel into account enough. It will often send lot of ships large distances to take out minor targets only to have these ships completely drained of fuel and useless for a very long time until they can limp their way back to a space port. In my game, a 20+ ship fleet moved more than a sector to destroy a research station then flew the same sector back to homeworld to refuel. The AI needs to 'understand' the objectives of its various fleets better: Reserve large fleets like this to assaults on major enemy planets and leave the mop-up of minor targets to small strike force fleets. My AI empire would have lost its only truly valuable target, the homeworld, if the opposing empire had taken opportunity of this blunder.
* Likewise, the AI doesn't consider that it might be wise to [temporarily] remove ships that are out of fuel from a fleet to avoid slowing the entire fleet down. This would be a very nice optimization to see and would greatly help the AI.
* The AI will build expensive projects like space ports on worlds that are not secure - even while the planet they are built on is under attack! This frequently causes severe blunders like spending a good 20K+ cash to try to construct a Large Space Port only to have this space port instantly destroyed. Not only does this severe flaw seriously hurt the AI's economy, it also completely breaks the immersion for the player.
* AI needs to be better at estimating whether war is really worth continuing. My observed empire now has 'rampant' war weariness with no sign of wanting to end the war (which is going nowhere). Of course, these unnecessarily prolonged wars are to a great extent due to the AI's poor warring abilities (see above).
* Unit AI: When told to engage a moving target (such as an enemy fleet), ships will only move to whichever position this enemy fleet was at when the order was given - not to the fleet itself, because they don't update its position. This effectively means it is not possible to order an attack on any moving enemy unit and as such can be considered quite a major bug.
I can think of a number of more advanced fixes I would like to see done to the AI over the long term. However, I will not go forth with those just yet - the basics should come first.
You are very welcome to post your own observations as well. Maybe we can turn this thread into a thorough compilation of AI issues that need to be remedied. Developers are welcomed to issue feedback.
Following is my brief compilation based on half an hour observing my fully automated empire, using Return of the Shakturi v 1501:
* Empires start off with a very high potential research capacity. However, the AI does not utilize this because it doesn't build research labs unless it comes in the form of a research station built at a research bonus location. The effect is that for a very, very long time during the opening stages of the game - especially for empires that have a scarcity of research locations near their starting location - the AI is getting only a fraction of the research it 'should', putting it vastly behind a player who intelligently outfits his initial spaceport with extra research facilities to acommodate the large research potential. Consequently, the AI - even AI technocracies - are hopelessly behind the player in terms of research from the very beginning of the game.
* The AI fails at prioritizing colonization technologies. Empires of species that inherently have the ability to colonize continental planets should make this research subject a very low priority, choosing the marshy swamp equivalent instead. A Human empire has absolutely no use for the continental colonization tech other than as a passageway to accessing desert colonization and consequently researching it should take very low priority for a starting empire.
* The AI is much, much too reluctant to spend its cash. In my game my empire was at war very early on. My empire had a 100,000 cashflow and a huge 500,000 treasury yet invested in very few ships - obviously a terrible decision. I know that Bingeling found the same in his game. The AI needs to be much more aggressive about spending its cash as long as there is a large treasury and/or cashflow.
* The AI builds far too few exploration ships. The consequences of this are far-reaching but the most important issue is not finding many planets to settle. This means the AI's economy and power base builds up at a snail's pace compared to the player's. The AI needs to produce a *lot* more explorers.
* The AI also doesn't colonize fast enough. It will frequently have discovered a valuable planet yet wait several minutes before a colony ship is built and sent. In these situations there is no reason not to immediately build the colony ship and claim the planet for the empire. Please make the colonizing much more aggressive.
* In wars, the AI has an unfortunate tendency to send very weak forces (sometimes just a single ship) against vastly superior enemy fleets. These single ships will only try to escape once their shields hit 20% at which point the large enemy fleet has them surrounded and they get killed before they can power up the hyperdrives. This causes the AI to slowly but surely lose its entire fleet without having ever put up a real fight. There needs to be an algorithm that estimates the relative power levels of ships in a system: If enemy fleets are vastly superior in numbers and firepower, ships should immediately retreat, not fight.
* The AI also prioritizes targets poorly in wars and doesn't not take fuel into account enough. It will often send lot of ships large distances to take out minor targets only to have these ships completely drained of fuel and useless for a very long time until they can limp their way back to a space port. In my game, a 20+ ship fleet moved more than a sector to destroy a research station then flew the same sector back to homeworld to refuel. The AI needs to 'understand' the objectives of its various fleets better: Reserve large fleets like this to assaults on major enemy planets and leave the mop-up of minor targets to small strike force fleets. My AI empire would have lost its only truly valuable target, the homeworld, if the opposing empire had taken opportunity of this blunder.
* Likewise, the AI doesn't consider that it might be wise to [temporarily] remove ships that are out of fuel from a fleet to avoid slowing the entire fleet down. This would be a very nice optimization to see and would greatly help the AI.
* The AI will build expensive projects like space ports on worlds that are not secure - even while the planet they are built on is under attack! This frequently causes severe blunders like spending a good 20K+ cash to try to construct a Large Space Port only to have this space port instantly destroyed. Not only does this severe flaw seriously hurt the AI's economy, it also completely breaks the immersion for the player.
* AI needs to be better at estimating whether war is really worth continuing. My observed empire now has 'rampant' war weariness with no sign of wanting to end the war (which is going nowhere). Of course, these unnecessarily prolonged wars are to a great extent due to the AI's poor warring abilities (see above).
* Unit AI: When told to engage a moving target (such as an enemy fleet), ships will only move to whichever position this enemy fleet was at when the order was given - not to the fleet itself, because they don't update its position. This effectively means it is not possible to order an attack on any moving enemy unit and as such can be considered quite a major bug.