Common AI failed strategies/tactics we've all seen so far
Moderators: hoijui, Moderators
Common AI failed strategies/tactics we've all seen so far
I figured that instead of people just posting what they are planning with AI's, why not post what AI's are not doing. Its a good way for people to discover possible problems without having to share their own problem solving techniques. I've seen too many threads where someone in one AI group mistrusts members of another and will only taunt them with hints of what they're doing but not really explaining why. It would be nice to see people collaborate on what AI's lack, therefore they don't have to let their secret plans out of the bag. This way every group is able to keep their dignity from whatever criticisms they don't care to hear.
I've been new to Spring, only seeing this new .73 version this past month. But I've spent some time watching what the AI's can and cannot do. I did alot of AI work in TA and co-opted with several of the popular AI writers to solve some of TA's problems. But since this isn't TA, I'll stop there in discussing what to expect from spring's AI. Instead I'd like to shift to what I've seen as common AI problems:
1. Inability to launch offenses around a single point of blockage. Bottlenecls, in the forms of corpses or hills are the bane of every AI.
2. Inability to use air effectively. The AI never masses air. And some AI's actually send their bombers to loiter over their troops, never actually able to go fight the enemy. Air units really need their own priorities, like how Cavedog's AI in TA used them as spoilers - throwing them even when fruitless against the opponent's most valuable target(s).
3. Inability to use sea units effectively if at all. The sea is kind of unchartered territory for AI units. It would be cool to see them effectvely used in a 3-dimensional manner, with submarines and seaplanes used creatively and slyly.
4. No real planning for launching an offense. I can still set up a small porc its the AI's pathway and it'll repeatedly try to hurl units at it. There is no endrun. There are no sudden changes in tactics. Units just keep coming to their deaths.
5. No real planning for defense. Its so easy to pincer the AI's because few of them have reactionary forces to plug defenses. And most defenses behind the lines are just a cluster of LLT's and maybe an occasional missile tower. One of the AI's even relies on exploiters alone for keeping its resource production safe.
6. No real group planning. The group is one massive mess of units, no platoons, squads, or teams used in coordination. The only way an AI is going to ever get human like is to use combined forces effectively. A single mass of mixed units just isn't going to cut it. Teams should approach simultaneously from different angles with complimentary weapons in order to remove enemy defenses. Conbots should be removing wreckages out of the way of pathways. And so on...
7. Shared global planning is too overlapped when playing multiple AI's to the point they ally regardless if in opposing groups. Its fine if you play human versus several AI's, but its funny how you play several of the same AI and they ally themselves against...*gasp*...nobody.
8. Inability to hide behind obstacles when using indirect line of sight weapons. Those darn thuds will stand there and dance while being pummelled when they have a perfectly good wreckage to hide behind.
9. Inability to catch enemy units in their own crossfire. TA units from the AI would purposely get in places where it was painful to remove them. Friendly fire incidents were common when playing the AI in TA, in such a way it had to be purposeful.
10. Inability to get into formations. Parrallel lines of marching units, spread out melee squads, etc. simply do not exist. What does exist is either a small tight clump of units, or a huge messy clump of units.
Other than crashing, what else have you people seen when it comes to AI tactics and strategies?
I've been new to Spring, only seeing this new .73 version this past month. But I've spent some time watching what the AI's can and cannot do. I did alot of AI work in TA and co-opted with several of the popular AI writers to solve some of TA's problems. But since this isn't TA, I'll stop there in discussing what to expect from spring's AI. Instead I'd like to shift to what I've seen as common AI problems:
1. Inability to launch offenses around a single point of blockage. Bottlenecls, in the forms of corpses or hills are the bane of every AI.
2. Inability to use air effectively. The AI never masses air. And some AI's actually send their bombers to loiter over their troops, never actually able to go fight the enemy. Air units really need their own priorities, like how Cavedog's AI in TA used them as spoilers - throwing them even when fruitless against the opponent's most valuable target(s).
3. Inability to use sea units effectively if at all. The sea is kind of unchartered territory for AI units. It would be cool to see them effectvely used in a 3-dimensional manner, with submarines and seaplanes used creatively and slyly.
4. No real planning for launching an offense. I can still set up a small porc its the AI's pathway and it'll repeatedly try to hurl units at it. There is no endrun. There are no sudden changes in tactics. Units just keep coming to their deaths.
5. No real planning for defense. Its so easy to pincer the AI's because few of them have reactionary forces to plug defenses. And most defenses behind the lines are just a cluster of LLT's and maybe an occasional missile tower. One of the AI's even relies on exploiters alone for keeping its resource production safe.
6. No real group planning. The group is one massive mess of units, no platoons, squads, or teams used in coordination. The only way an AI is going to ever get human like is to use combined forces effectively. A single mass of mixed units just isn't going to cut it. Teams should approach simultaneously from different angles with complimentary weapons in order to remove enemy defenses. Conbots should be removing wreckages out of the way of pathways. And so on...
7. Shared global planning is too overlapped when playing multiple AI's to the point they ally regardless if in opposing groups. Its fine if you play human versus several AI's, but its funny how you play several of the same AI and they ally themselves against...*gasp*...nobody.
8. Inability to hide behind obstacles when using indirect line of sight weapons. Those darn thuds will stand there and dance while being pummelled when they have a perfectly good wreckage to hide behind.
9. Inability to catch enemy units in their own crossfire. TA units from the AI would purposely get in places where it was painful to remove them. Friendly fire incidents were common when playing the AI in TA, in such a way it had to be purposeful.
10. Inability to get into formations. Parrallel lines of marching units, spread out melee squads, etc. simply do not exist. What does exist is either a small tight clump of units, or a huge messy clump of units.
Other than crashing, what else have you people seen when it comes to AI tactics and strategies?
- Lindir The Green
- Posts: 815
- Joined: 04 May 2005, 15:09
KAI does 1,2,4,5,6 and 10 to some extent.
7 makes no sense to me, 4 takes a lot of effort to do it properly (no subs in ponds etc). Finally 8 and 9 take too much CPU power and coding/testing time to be anyone's priorities.
The main issues with AI's in my eyes are their poor:
1- expansion/economy
2- unit selection (contering player's units properly)
3- mod support
4- adaptability and unpredictability
Now of course problem descriptions arent very useful since im sure all devs are aware of them, it just takes time and ideas to sort them out.
7 makes no sense to me, 4 takes a lot of effort to do it properly (no subs in ponds etc). Finally 8 and 9 take too much CPU power and coding/testing time to be anyone's priorities.
The main issues with AI's in my eyes are their poor:
1- expansion/economy
2- unit selection (contering player's units properly)
3- mod support
4- adaptability and unpredictability
Now of course problem descriptions arent very useful since im sure all devs are aware of them, it just takes time and ideas to sort them out.
#1 is an unfortunate consequence of the fact that unit paths are always computed to be as short as possible, yet without regard for the type of obstacles that lie on them. To take your example, a cluster of wrecks is treated the same as a steep hill when the pathfinding algorithm runs into it, meaning the AI doesn't take into account that the wrecks are actually destructable (through reclamation or weapons fire) when it sends out its units. There are various ways of dealing with this problem (for example, letting the AI include eg. con-trucks in any group traveling along such paths and having it use those in the blocked area), but a structural solution doesn't really exist: decreasing the initial pathfinding granularity (in effect making the AI look ahead further) creates a host of other issues, enumerating the 2nd, 3rd, ... n-th best paths until you come across a non-blocked one has the disadvantage of not being guaranteed to return a path at all and requires more CPU time, etc.
#4 is what you find in any RTS that doesn't incorporate adaptive AI (where 'adaptive' means the AI has a system of changing beliefs about the map, for example how dangerous it considers an area), and is also tied to #1 in that most shortest paths frequently lead past the same areas, and so will see the bulk of the AI's traffic.
#8 happens because units with weapons that don't require DLOS don't in general reason about not being able to get hit by their target (which would entail LOS analysis of all of their immediate surroundings), only about being in range of it, as doing so for more than a handful can get prohibitively expensive.
#9 is just a simple combination of proximity of side A's units to side B's and inaccuracy of side B's weapons, and any AI worth its salt will try to exploit that. :)
#10 again relates to #1, in the sense that formations really require each individual unit to have an individual path offset from the others calculated for it, which is not how pathfinding for unit groups is typically handled for reasons of performance.
#2, #3, #5, and #6, finally, are all signs of a missing higher level of abstraction in the AI's reasoning that no commercial RTS has ever even attempted to get right so far and where most academic (game) AI reseach is currently focussed, but which (I'm sorry to say) probably won't be making an appearance in games for a while yet.
#4 is what you find in any RTS that doesn't incorporate adaptive AI (where 'adaptive' means the AI has a system of changing beliefs about the map, for example how dangerous it considers an area), and is also tied to #1 in that most shortest paths frequently lead past the same areas, and so will see the bulk of the AI's traffic.
#8 happens because units with weapons that don't require DLOS don't in general reason about not being able to get hit by their target (which would entail LOS analysis of all of their immediate surroundings), only about being in range of it, as doing so for more than a handful can get prohibitively expensive.
#9 is just a simple combination of proximity of side A's units to side B's and inaccuracy of side B's weapons, and any AI worth its salt will try to exploit that. :)
#10 again relates to #1, in the sense that formations really require each individual unit to have an individual path offset from the others calculated for it, which is not how pathfinding for unit groups is typically handled for reasons of performance.
#2, #3, #5, and #6, finally, are all signs of a missing higher level of abstraction in the AI's reasoning that no commercial RTS has ever even attempted to get right so far and where most academic (game) AI reseach is currently focussed, but which (I'm sorry to say) probably won't be making an appearance in games for a while yet.
sorry but imho most of the issues mentioned here cannot be solved unless you want to run your ai on a super computer
taking cover behind wreckage or cliffs in a highly dynamical environment is difficult but possible to accomplish in infinite time - with > 100 units in realtime with < 5% of your cpu speed - impossible
there is surely plenty of space to improve unit/building selection, placement etc.
but human like micromanagement is far too cpu-demanding atm
taking cover behind wreckage or cliffs in a highly dynamical environment is difficult but possible to accomplish in infinite time - with > 100 units in realtime with < 5% of your cpu speed - impossible
there is surely plenty of space to improve unit/building selection, placement etc.
but human like micromanagement is far too cpu-demanding atm
KAI can do well at water but water support was disabled because the custom pathfinder in KAI didnt take ater/land differences into account for water units.
However NTai does fine on water given a good buildtree. Given a good buildtree, NTai will also make effective use of air too. Also NTai used to be able to group units together rather than send them in streams, which is what I'm trying to put back into it now with XE9.3.
But really the issue here is not what we cant do, but how do we do it?
However NTai does fine on water given a good buildtree. Given a good buildtree, NTai will also make effective use of air too. Also NTai used to be able to group units together rather than send them in streams, which is what I'm trying to put back into it now with XE9.3.
But really the issue here is not what we cant do, but how do we do it?
- Lindir The Green
- Posts: 815
- Joined: 04 May 2005, 15:09
By counting tiles of above sea level, below sea level, and deep enough for sea units elevations it at least allows an AI to decide if seaplanes are an option. And by further looking at how many tiles are of differing elevations it at least should allow one to tell if gunships or bombers are optimal for the situations. Personally I think its key to break maps into a progression of tiles and to classify them at these larger levels. Strategic tiles could be 27x27, tactical tiles 9x9, and pathway plotting tiles 3x3. In game the AI should be able to plan actions according to conquering strategic tiles on its way to take over the map. Likewise the AI should classify its buildings available as fitting into certain tile classes simcity style when planning its building management, looking how best to layout plans by either tactical sized layouts with pathways planned through them.
- Lindir The Green
- Posts: 815
- Joined: 04 May 2005, 15:09
I thought you came up with a way to do the terrain analysis thing, but decided that it's too much work to implement and so it'll wait for Epic.AF wrote:But really the issue here is not what we cant do, but how do we do it?
In Hive AI though I think I will do it by creating several matrix-like-things of where each movement type (which will be a simplification of the movement classes) can move, and then I'll have it move units that are that movement type or that work well against that movement type to around those areas.
It's pretty simple, and I can reduce CPU usage by making each cell of the matrix like 1024 x 1024 pixels. So that it'll know in general where stuff can move, and it'll be able to at least move its units to the right general area. The rest can be accomplished by the slightly augmented spring sub AI.
From what I've seen bombers are greatly affected by targets behind high ridges. If alot of strategic space is dominated by asymetrical ridges then it should be statistically easy to guess that bombers will or will not be real helpful.
I kind of wish bombers and fighters didn't follow terrain unless they were told to do so. They should be able to operate so high above sea level and be affected minimally by terrain. I've been shocked by how easily AI air units succumb to simple missile defenses in Spring. They may as well not even bother wasting the metal for anything but scouts and gunships.
I kind of wish bombers and fighters didn't follow terrain unless they were told to do so. They should be able to operate so high above sea level and be affected minimally by terrain. I've been shocked by how easily AI air units succumb to simple missile defenses in Spring. They may as well not even bother wasting the metal for anything but scouts and gunships.
The problem is that AIs cant tell if a missiel defence is good at hitting air units and how much damage ti will take ebcause Sprign uses a dynamically generated bitfield the AIs needed acces sto to do this but it hasnt been exposed.
Thus KAI tried to get around this by parsing the TDF files directly, but that assumes that the modder has shoved all the weapons in weapondefs.tdf. Which means AI + AA == error because AA recently stopped using that convention and split it into multiple files, and since spring provides no method of seeing what files are in a folder in the VFS we're buggered.
It may also interest you to know that AIs cannot see projectiles, they can only recieve explosion events and unit damaged events. Or weapon fired events from their own units.
Units also have no line of fire mapping or any test for line of fire that can be done, save approximations that're expensive to run and not all too reliable.
Also there are issues with what you say, how would you a good map without using very high level human abstractions such as "asymetrical ridges", whatsmore there's a lot of realtime processing required, because all this information means totally different things based on what type of bomber and what heading the bomber is approaching the target by.
Thus KAI tried to get around this by parsing the TDF files directly, but that assumes that the modder has shoved all the weapons in weapondefs.tdf. Which means AI + AA == error because AA recently stopped using that convention and split it into multiple files, and since spring provides no method of seeing what files are in a folder in the VFS we're buggered.
It may also interest you to know that AIs cannot see projectiles, they can only recieve explosion events and unit damaged events. Or weapon fired events from their own units.
Units also have no line of fire mapping or any test for line of fire that can be done, save approximations that're expensive to run and not all too reliable.
Also there are issues with what you say, how would you a good map without using very high level human abstractions such as "asymetrical ridges", whatsmore there's a lot of realtime processing required, because all this information means totally different things based on what type of bomber and what heading the bomber is approaching the target by.
I was under the impression that AI's broke down the layouts of the map before play started. But I didn't know about the projectiles being unknown to the AI. A dodging AI would be quite funny, especially air units.
I'm more concerned with how the bombers don't get massed in a pile around their base until the AI decides to mass attack an important target. A human player would never have them assigned to loiter over a group of ground units.
I'm more concerned with how the bombers don't get massed in a pile around their base until the AI decides to mass attack an important target. A human player would never have them assigned to loiter over a group of ground units.
From what I've been seeing not all AI's use air alike. I believe its AAI that does a good job of scouting with air units. Its just that their use of bombers was next to nil other than as scouts. It looks like AAI breaks maps into 96 pixel by 96 pixel tiles (called sectors) and decides strategy according to that. I especially like how they expiriment with units for efficiency, they caught me offguard mid-game once with a mech and I had to scramble how to be ready for the next one because it actually flanked my weak defensive wall. What was brilliant AAI use of land units though was pretty much mediocre use of air units.
Normally when air is built and issued no move orders they drop down right around their plant. Just have the AI put them into groupings and then issue orders by grouping. This is much smarter than having them follow land units around. In TA the AI used to put them into randomly generated patrols away from their own base (this made them a psuedo scout in the meantime) then build up the group and then send them in pairs or triples to attack. Even paired groupings is better than giving them shared orders with land units.
They also had a couple fields in their fbi file, BadTargetCategory, that allowed one to fairly hone what units they attacked, too. (In my old TA AI's they were excellent at looking for buildings by ignoring notair and vtol.) An AI that plays cutthroat on resources is going to be much more dangerous than a simple brawler.
The key I believe to making the AI use air more effectively is to give them patrol movements that at least are asymetrical in such a way they eventually scout the entire map. When a suitable target is spotted it needs to call in more than one air units at a time and use mass attack to take it down.
Normally when air is built and issued no move orders they drop down right around their plant. Just have the AI put them into groupings and then issue orders by grouping. This is much smarter than having them follow land units around. In TA the AI used to put them into randomly generated patrols away from their own base (this made them a psuedo scout in the meantime) then build up the group and then send them in pairs or triples to attack. Even paired groupings is better than giving them shared orders with land units.
They also had a couple fields in their fbi file, BadTargetCategory, that allowed one to fairly hone what units they attacked, too. (In my old TA AI's they were excellent at looking for buildings by ignoring notair and vtol.) An AI that plays cutthroat on resources is going to be much more dangerous than a simple brawler.
The key I believe to making the AI use air more effectively is to give them patrol movements that at least are asymetrical in such a way they eventually scout the entire map. When a suitable target is spotted it needs to call in more than one air units at a time and use mass attack to take it down.
Patrolling or scouting with bombers is a bad idea most of the time - they will be shot down before they could react to the enemy units. Especially if they are patrolling over half the map - enemy anti-air will pick them out one by one. AAI uses air scouts for this (Fink/Peeper in AA), not bombers.
AFAIK AAI doesn't add air units to ground attack groups. Instead it groups air units somewhere in the back of the base (in the sectors it considers the least dangerous) and uses them to attack an important target once it's scouted. For best results try with a mod where bombers don't go down as quickly as they do in AA (SWTA should do).
AFAIK AAI doesn't add air units to ground attack groups. Instead it groups air units somewhere in the back of the base (in the sectors it considers the least dangerous) and uses them to attack an important target once it's scouted. For best results try with a mod where bombers don't go down as quickly as they do in AA (SWTA should do).
- hughperkins
- AI Developer
- Posts: 836
- Joined: 17 Oct 2006, 04:14