Chaos Chronicles - Combat #6, Expectations on a Turn-Based AI

When we started out working on the Chaos Chroniclescombat systemwe had a lot to do to lay the basic foundations. We had to get our character animation system running and implement stuff like combat logic, hexboard generation from physics, or hexboard queries for paths and floodings at runtime.
That left little time to care about something as high level as AI (Artificial Intelligence). As a consequence our first prototype for AI ‘grew’ with time. At first, all it could do were melee attacks. Then we added ranged attacks. Then we implemented an enemy spell AI for intelligent placing of area spells (trying to maximize hits on enemies and minimize hits on allies). Finally we included rather specific routines (like fleeing) for characters that suffered from spells like fear. We realized that AI has to be able to deal with script spells that are loaded at runtime (a feature that could be interesting for future modifications). To allow for that we coded routines that simulate spell executions and judge their effects in a more general way.
Thus our prototype grew and grew until we were sure that we covered every capability that could possibly be required. Then we started to build it from scratch to make it more flexible and debugable. And now we feel like we can finally talk about AI.
The headline for this article is also the paradigm we had in mind for development: What do we expect from a turn based AI? Well, technically, we expect a lot! A demon wizard that fails to choose his fireball spell over a magic missile, or who fails to place the fireball in a way that maximizes damage on the player party is a no-go. An assassin who simply attacks her closest target instead of trying to get your wizard in the back is not only little immersive – it also obliterates strategic bottlenecks like doors. And a human NPC ally that is not able to plan her path avoiding enemy attacks of opportunity is an annoyance. So when we talk about expectations from a ‘technical’ point of view, one can say that we expect ‘a lot’. A good (OGC 3.5) AI has to be able to perform a lot of intelligent choices for enemies that we expect to behave intelligent.