I first ran across this concept in a real-time rpg, FFXII if I remember right. It involves a menu where you set a series of if-then priorities which control automated characters’ behavior. This tends to improve skill timing and targeting, and could also be used to lock out unwanted skill use and running back and forth.
Examples for the “if” side would be “Enemy-Lowest HP”, “Ally <50% Health”, “Enemy-Using Skill”, “Ally-Debuffed”, “Enemy-Main Hero’s Target”, or “Self-Any”.
And on the “then” side would be possible actions: Bronze Skill, Silver Skill, and basic attack.
So CM Nightingale (skinned) might be set up with:
1 Ally <90% Health —> Heal Wave
2 Self <90% Health —> Heal Wave
3 Enemy-Main Hero’s Target —> Locked In
4 Enemy-Main Hero’s Target —> Attack
5 Enemy-Lowest HP —> Attack
On the other hand, Maven might have:
1 Enemy-Using Channeled Skill —> Vampiric Cloud
2 Enemy-Using Support Skill —> Hallucinate
…and then the above attack priorities as 3 and 4; or just the basic attack targeting and never any skill use, but reliably hassling enemies as they use support skills would probably be worth a break in her dps. I’d sure be a lot less happy about playing against her if she was this smart.
Evasion and cover-seeking should also be programmable. For instance, setting a minimum amount of time after evading or seeking cover before the hero evades again. It’s not fun or challenging to lose a match because your best hitter or healer runs to the far side of the map and back three times instead of doing their job. Having that happen to the other guy isn’t really how I want to win, either.
Games with prog-AI don’t give you all of the options at once, either. You typically start out with only a few command slots and a few if and then statements, then unlock more as the game progresses. So we might start out with “Ally <70% HP” and have to work for “Ally <90% HP” and “Ally <50% HP”.
The option to use the basic, dumb AI should still be there. But trying to tailor AIs for dozens of different heroes could add a really fun depth of challenge to the game—not to mention making more heroes viable in pvp.