I had a quick look at the code and made an attempt to make it a bit more challenging. It can certainly be improved quite a bit more, but it gave me a good challenge.
Great stuff, I really appreciate you taking the time to experiment with the code!
I added your logic and played around with it. The game plays out really well if you allow the AI to build up its villages. More troops = more fun, I think. However, if you build 1 soldier quickly, you can take all of the villages on the map before the AI gets the chance to develop.
Nonetheless, I think your logic is a step in the right direction.
One idea to make the whole thing more strategic and prevent the "building one village" approach, could be to have one common resource pool for all villages for each player. Not sure where the villagers should be spawned though.
Oddly enough, there is a comment in my notes, saying: 'single resource pool versus resource pool per village - latter is more like Civ, encourages each town to be properly developed'... not sure this worked out quite as I originally intended!
I seem to be getting 2 comments regarding the difficulty: from developers (i.e. you guys) - "it's too easy"; from friends and family - "it's a bit hard". Perhaps I need to find friends/family who are more competent game players

Anyway, I hope to submit a new version with 'improved' AI in the next few days. Time will tell if it really is 'improved' or not!