((I see it's been a little over 2 months since the last reply; I hope it's okay to post here since Battler AI is such an evergreen game design topic and the thread isn't so old as to be long lost from peoples' memory

))
In my own games so far, I mostly stick to the standard "weighted random" behavior of the RPG Maker engine, and I take special care not to make any of the enemies' standard moves too absurdly different in power than another move that the enemy may use. This keeps things unpredictable while also allowing me to keep things rather fair despite particularly 'lucky' or 'unlucky' spins of the AI Roulette. My enemies also have a lot of special moves that depend on the current status of battle, allowing the player some control or at least visibility over when they will happen:
- Enemies that require MP will only use MP-restoring moves when their MP pools are low.
- Very powerful enemy attacks require 2 actions to execute: a first action that "charges" the attack and a second action that "unleashes" it on the party. To keep things from getting stale, the boss enemy won't always unleash the attach the turn after they charge it, so you have to decide whether it's worth guarding or risking taking the attack full force.
- Several bosses have special attacks that can only be used under certain conditions, such as a certain minion is still alive. The player can remove the boss' access to that attack by destroying the appropriate minion.
I think it's admirable to go above and beyond to design enemies which have the ability to make intelligent decisions ("timing and situational awareness") like you are describing,
@Rinobi, but I think that even beyond the considerable work you've certainly had to do to create that, it's also worth considering whether this actually makes your game more fun to play. If I were playing
Final Fantasy or
Star Ocean or even to some extent
Disgaea and the enemies were able to dissect and exploit the flaws in my strategies, I'd be seeing a Game Over every time the AI outplayed me, and I would probably find it a lot more frustrating than fun!
On the other hand, in games like
Civilization,
Age of Empires,
Chessmaster or
League of Legends, players want AIs that can make intelligent decisions, react to situations wisely, and ultimately outplay most players on harder difficulties. I think this has to do with the core aesthetics of play in these games being competition and challenge, rather than narrative and exploration. It also probably involves the fact that if the AI beats you in
Civilization, the next thing you do is start an entirely new and different round of play, probably having learned something from your defeat. If the AI beats you in
Final Fantasy, the next thing you do is reload your save and basically replay the same hour of gameplay you just played.
It's for this reason that I think some games (think
Super Mario) work best with extremely predictable AI patterns, some games (think
Final Fantasy) work well with unpredictable but essentially "dumb" AIs, and some games (think
Civilization) work best when the AI can think with the awareness and cunning of a human. I could definitely see the case for an RPG which is better for having extremely smart AI, but I think that such an RPG would be one that does not strictly gate your progression through the game by your ability to beat the AI in combat.