Great write-up! I thought to enhance your point by describing what I think WORKS RIGHT NOW for the AI (from a player impression), and go from there before making suggestions.
*WARNING: LOTS OF TEXT. NOT FOR THE FAINT OF EYES*
Correct me if I’m wrong on some of these, but these are some observed AI battle tactic behaviors that I think work well or at least give the player an impression of intelligence, so that maybe we can benchmark what we consider “good AI”:
1) Flanking: Whether due to sheer numbers and so the battle lines inevitably stretch out, or there is an active flanking script, the AI seem to commonly apply flanking tactics (regardless of faction, although orcs and bandits seem to achieve this more effectively). Especially when presented with a solid battle line of spearwalls, the AI shows propensity to avoid a full frontal assault (it will still do a partial frontal assault, but its main force will fall on the flanks). This is awesome battle behavior :)
These flanking maneuvers seem to be limited to the right/left flanks, as in the AI usually does not go for a wide rear-flank attack (only counting when two battle lines face each other, not ambushes). A rear flank is much harder to pull off, especially without enough forces, but would be cool to see if the AI had the resources and algorithm to pull it off. Optional.
2) Unit Targeting Preferences and Focus Fire: From observation, the AI seems to target units that it has the highest chance to hit (from the player’s point of view, the mercs with the lowest melee def or range def), also avoiding those with defensive buffs up, such as ShieldWall or Riposte. This is great. However, this sometimes makes the AI ignore certain “targets of opportunity” (for example: a high def melee warrior that has its armor destroyed and low hp; it’s harder to hit, but will likely die if hit; the AI will prefer to target another fully armored merc, with lower defenses because he is easier to hit; there seems to be some randomization, so I think this is not as predictable). Overall, good targetting behavior for Melee Units.
Ranged Units are another story. I can’t tell if they only like to shoot the nearest target (or because all other units are out of range), or they also apply similar targetting algorithm as the Melee Units… but I don’t feel like enemy Ranged Units are very effective in their choice of targets. Player archers tend to target AI archers or high damage/low armor targets. When given the choice to shoot all 12 mercs within range, the AI archers don’t seem to pick the “best” targets (the targets a player would pick for maximum impact), sometimes they shoot the unshielded Swordmaster, sometimes the archer, sometimes the heavily armored and shielded knight…and then they shoot different targets so that the damage is dispersed, and basically ineffective against the organized player who will then counter with selective focused fire.
3) Defensive AI Posture: I’ve only started to notice this recently, so not sure if this has always been the case, but it seems now that sometimes when I grossly outnumber the AI, the AI will adopt a defensive posture on good terrain (high ground) and refuse to advance on the player. This is smarter than launching an assault against impossible odds, but the smarter player would run away against those odds. Since the AI doesn’t have Retreat as an option, the Defensive Posture is probably their best last resort. In fact, the AI should probably do this more often than we currently see (for certain factions like Bandits or maybe Orcs); the AI still generally has a propensity to assault under dire odds (acceptable behavior for undead or orcs, but not for bandits).
4) Unique/Special AI Skills: There is a great variety of these, so I won’t go into detail on each one, but suffice it to say the AI seems to use the active skills available to them with good frequency, although not necessarily to optimum effectiveness. I see ShieldWall/Riposte/Spearwall used pretty frequently, and I think their use is generally effective. Some skills are sometimes not used to full effectiveness though, for example, the Orc Warrior bash — very effective in breaking player formations, however, oftentimes the Orc Warrior bashes twice, and the second bash is often extraneous/redundant or the AP would probably have been better spent on a follow-up attack.
5) Ambush Bushes: Is it just me, or is the AI always aware of my mercs hiding in bushes? Even archers run away when I approach “stealthily” from one bush to another (LOL). Anyway, I think the AI being aware of the player’s “hidden” units helps the AI respond more intelligently to the flow of battle, but the player should not be given the illusion that his unit is “invisible” to the AI. Yes, the AI archers can’t shoot an “invisible” unit in bushes, but they certainly know that merc is there. Good AI, but somewhat deceiving to the player.
6) Specific AI Tactics: Many here, just listing the few I can think of right now.
6a) Taking High Ground/Pushing Player Off: One of the best AI tactics at work!
6b) Ranged Unit Skirmish Behavior: As much as I hate to chase archers down, this is undoubtedly a smart way for them to behave
6c) Orc Warrior Bash: Mentioned earlier its effectiveness, but also sometimes redundant double-application.
6d) Orc Young Stun: Very effective AI use currently
6e) Orc Warlord Warcry: This is a great skill for the AI, but I haven’t seen it used probably to its full effectiveness. This has the potential to route entire chunks of the player’s company if used well, in addition to Rallying routing Orcs. Currently, it seems somewhat sporadic and random when this is used. Needs to be used more intelligently/effectively. (e.g. offensively, trigger frequent use when more than 3 mercs in range of effect; defensively, use when there is at least one Orc fleeing/breaking in range of effect)
6f) Lost Soul Wail/BansheeCry: Very cool AI skill, with all the recent nerfs/patches, balanced and effectively used, I think.
As I’ve said before, I enjoy the current combat mechanics and even AI, but sure there is always room for improvement; so here are some other suggestions for maybe some incremental improvement:
1) Battle Buddies: As a player, I tend to have a “buddy system” whereby at least two mercs will support each other as much as possible. A shield merc providing cover for a billhook-merc while advancing. Two archers complimenting each other’s line of fire coverage (e.g. one covers the right flank, the other covers the left, and they have a deadly zone of converged line of fire).
I think it would go a long way for the AI to try not to charge alone but try to move in synchronization with one or two other units. I think this happens to some extent already, especially when starting with battle lines formed. However, in ambush scenarios especially, the heroic solo-unit advance of the AI is not very effective. The AI should always start in clusters and advance/withdraw in clusters to help them out against players who are usually very organized in their formations and maneuvers.
2) Focus Fire: Battle Buddies should also play in terms of Focus Fire, where two or more AI units should try to focus fire more on a good target instead of dispersing the damage across multiple mercs. Currently, each AI seems to think individualistically when it comes to picking targets and maneuvering on the battlefield (is this true?). Focus Fire is one of the most basic yet extremely effective player tactics, a pillar of Teamwork. It sounds rather lame to say it, but basically the AI could show more Teamwork, especially with target selection/focus fire, especially for ranged units. The AI appears to do focus fire to some extent, especially when surrounding a merc, or no other adjacent targets are available, but in general since the AI units seem to behave more individualistically, I can manipulate the AI aggression (without the Taunt skill) by tempting their hits away from the merc they have been pummeling to near-death towards a fresh lower-defense target.
On a slight tangent, near-death units should look tastier perhaps to the AI (but only if they are skilled enough to hit the ailing unit, and approach only if they have the support to back them up while also taking into account the battle circumstances if they will fall to a player trap using low-health or low-defense characters as bait).
I find it difficult to propose specific tactical maneuvers as improvement for AI. Mostly because every time I think of a good maneuver, I can think of a good counter-maneuver… so for now I only have these basic suggestions to enhance overall AI performance.
And I would also like to add caution, with the popular saying, “if it ain’t broke, don’t fix it” :)