Before you start reading about different AI tactics, I would recommend just going through CodeCombat and trying out some of your own strategies. You'll get a much more intuitive sense for why things work, as well as how you would apply different strategies to your particular game.
Programming Game AI by Example http://www.ai-junkie.com/books/toc_pgaibe.html
I just created LiveHumanBot – a “bot” that really just lets you, a human, type in directions to control your character. Here is its code, with instructions: https://github.com/roryokane/vindinium-live-human-bot. I fare pretty well against other bots: http://vindinium.org/ai/p20qptiv.
The rules are very simple -- you control a hero, and you fight other heros to capture mines which give you gold. You can trade gold for health in taverns.
Not too much strategic depth.
I've started an attempt to have a tree of all possible actions and using a minimax algorithm (with a score function + alpha-beta pruning) but this is not yet conclusive because I can't explore so much deep (was able to explore up to 20 next player decisions but that is just 5 moves of your hero).
I think this game is enough simple to try to have this approach but also challenging because there is still up to 5 possible actions per turn so it is a max of 5^1200 total of possible state for a game – a lot.
My current approach is now to try to have a minimax with pre-explored interesting path in the tree (e.g. all path which leads to tavern and mines), that is still a lot of computations.
Off-topic, but are there any AI games which are not-observable and / or non-deterministic? That would be also a lot of fun!
Maybe I don't understand how they're normally represented. take this map: http://vindinium.org/4mx1xu9j
it returns the locations of the mines as: {(5, 9): u'-', (4, 9): u'-', (5, 0): u'-', (4, 0): u'-'}
So that top left most mine is 4,0 instead of 0,4 that I'd would expect.
It also has the location of my hero (althalus, right at the top left) as (0,1) vs my expected (1,0)
I written a couple of robots which end up on this robot runner[1] mainly as a toy project for trying the game with some friends.
I'm far from knowledgable on AI stuff, but I found this a great way to learn about some very basics, like pathfinding.
Also see the AI effect, where something is called "AI" until we actually solve it or understand it, then it is no longer called AI. "AI is whatever hasn't been done yet." https://en.wikipedia.org/wiki/AI_effect