Hi there.
It's a game I'm developing now, much more advanced than WitchavenRL in some aspects.
It is/will be something like
Chaos: The battle of wizards but with some different game mechanics.
I know it's not a Roguelike Game, but some RL developers may have some ideas about AI development so I would want to discuss here some "homemade" methods for this game.
Right now, I'm implementing an AI based on threat level and character personality. Let me explain this:
The map or board is cell based. The player can summon creatures, and the enemy too (if you watch the video before you know what i'm talking about).
The player will be able to move his creatures, so the AI part will be only for enemy creatures and enemy mage.
When the enemy turn starts, the game calculates a "threat table", that is exactly like the game board, but each cell contains the threat level of such cell.
The threat of a cell is calculated by "running" through every player creature and adding to all his possible movement cells a threat amount based on the creature overall strength.
So, after checking all player creatures, the threat map is filled with numbers.
The second part of the AI is the movement itself. I'm using an efficiency method using personalities.
When the enemy mage wants to move to a cell, the game checks every possible cell where the enemy mage can move. For each of those cells, a cell efficiency is calculated. To do this, the game adds or deducts efficiency by having into account if the cell is closer to the player mage, if the cell has high or low threat, if the cell has or not a player monster, and some other parameters.
After running for all those cells, we obtain the most efficient one, so finally the enemy mage (or enemy creature) moves to that cell. Of course, the cell efficiency calculation has into account the enemy personalities such as aggressiveness and wariness (more personality aspects could be included).
That's basically the AI for choosing the best cell to move.
It doesn't have any possible future movements checking like in a true chess AI. This would be fairly easy to implement. But right now, I got the AI like described above.
What I would like is to know some opinions and tips on how to enhance this, or even other algorithms that are simple as this one.