AI for a mixed Turn Based + Real Time battle system - Something "Gambit like" the right approach?

Posted by Jason L. on Game Development See other posts from Game Development or by Jason L.
Published on 2013-06-07T19:57:55Z Indexed on 2013/07/03 17:20 UTC
Read the original article Hit count: 426

Filed under:
|
|

This is maybe a question that's been asked 100 times 1,000 different ways. I apologize for that :)

I'm in the process of building the AI for a game I'm working on. The game is a turn based one, in the vein of Final Fantasy but also has a set of things that happen in real time (reactions). I've experimented with FSM, HFSMs, and Behavior Trees. None of them felt "right" to me and all felt either too limiting or too generic / big.

The idea I'm toying with now is something like a "Rules engine" that could be likened to the Gambit system from Final Fantasy 12. I would have a set of predefined personalities. Each of these personalities would have a set of conditions it would check on each event (Turn start, time to react, etc). These conditions would be priority ordered, and the first one that returns true would be the action I take. These conditions can also point to a "choice" action, which is just an action that will make a choice based on some Utility function. Sort of a mix of FSM/HFSM and a Utility Function approach.

So, a "gambit" with the personality of "Healer" may look something like this:

(ON) Ally HP = 0% -> Choose "Relife" spell

(ON) Ally HP < 50% -> Choose Heal spell

(ON) Self HP < 65% -> Choose Heal spell

(ON) Ally Debuff -> Choose Debuff Removal spell

(ON) Ally Lost Buff -> Choose Buff spell

Likewise, a "gambit" with the personality of "Agressor" may look like this:

(ON) Foe HP < 10% -> Choose Attack skill

(ON) Foe any -> Choose target -> Choose Attack skill

(ON) Self Lost Buff -> Choose Buff spell

(ON) Foe HP = 0% -> Taunt the player

What I like about this approach is it makes sense in my head. It also would be extremely easy to build an "AI Editor" with an approach like this. What I'm worried about is.. would it be too limiting? Would it maybe get too complicated?

Does anyone have any experience with AIs in Turn Based games that could maybe provide me some insight into this approach.. or suggest a different approach?

Many thanks in advance!!!

© Game Development or respective owner

Related posts about ai

Related posts about rpg