AI in a turn based strategy game
My name is Peter Norberg and I've been working on a strategy game together with my brother since early 2011. Now that we are getting closer to launching the multi-player version we're starting to look at an AI for a single-player version. This is currently a side-project but I thought I would share our progress if anyone is interested. When I've searched for information about game AIs I've had lots of help from other sites and blogs (for example the blog by checkmarkgames also discussed here).
Anyway, I've only started by discussing our pathfinder:
http://www.risingemp...therlords/?p=24
... and an overview of the AI structure:
http://www.risingemp...therlords/?p=74
I'm new to this and hope to learn a lot with this project. Insights, ideas or thoughts are welcome!
Best regards,
Peter
http://www.risingemp...therlords/?p=81
... and part three:
http://www.risingemp...herlords/?p=108
It's a lot of text but I thought it would be important to define how the AI is supposed to work before I start writing code for it... Next installment will be a more detailed look on the Scout AI.
Cheers!
We're doing some real progress on our AI for Rising Empires. In the last posts I've talked about the Scout AI sub-routine:
In the first post I talk about how I want it to work:
http://www.risingemp...herlords/?p=117
... and in the second post I discuss how we analyze different land masses:
http://www.risingemp...herlords/?p=144
... and in the third post I discuss the movement algorithm for scout armies:
http://www.risingemp...herlords/?p=173
To be honest I must say that designing an AI is very rewarding. As you step by step see how the computer are able to manage more things in an empire, how it actually do things as you intend it to do, it feels great. At the moment there isn't much to see as only scout armies move around on the map. But I'll try to see if I can make a movie of it and post it on the blog.
Cheers,
Peter
A general description of the settlement AI can be found here:
http://www.risingemp...herlords/?p=201
I then discuss how the settlements does to keep it's population well fed:
http://www.risingemp...herlords/?p=233
... and I ended today with a post on how we decide what buildings to construct:
http://www.risingemp...herlords/?p=308
Next I'll start writing about the strategic AI, the AI that (when completed) will handle all the major decisions in the empire...
If you're interested you can read more and look at the code here:
http://www.risingemp...herlords/?p=358
I'm not sure what next article will be about. I'll probably take a look at the AI class and how it operates. I hope you all have a good weekend!
Time passes quickly around christmas but work continues on the Rising Empires AI and I'm proud to say that the first version is completed. I've run a number of simulations to test it's features and abilities and summarized it in this article: http://www.risingempires.com/netherlords/?p=430.
So far I've only been checking some global statistics when I've been running my simulations in order to see how it changes as I optimise the different sub-AIs performance. When I start to run simulations for the next version of the AI which will be capable of attacking and defending itself I'll need to check the performance of the individual AIs as well. Note that these simulations is done to test and optimise sub-AIs and I've yet to come to optimising the strategic AI. This will first be done when there is plenty of more actions that it can perform.
Before christmas I told you I would write an article on my AI class and I finally got around to actually doing it yesterday. The article goes through the AI class but more importantly we take a closer look the AI.update method, the method that runs the AI process, and in which order all sub-AIs and advisors are processed.
This is important as, for example, the scout AI generates information that later is needed by other sub-AIs. The article can be found here:
http://www.risingempires.com/netherlords/?p=470
I've also 'completed' how the AI attack other empires cities and towns and is now trying to make the AI able to react to attacks as well. If it sees an enemy army coming it must be able to rush some armies to defend it or in the worst case mount a counter attack to retake the city. This is fun to do but also rather complex. When a city is captured we must create a dedicated garrison army for it. Might sound easy but I must go back and change the code for how settlement AIs and the planner work with garrisons as the best choice it to split off a part of the conquest army to create the garrison, not create an objective with the task of building a new army and sending it to the captured city (which gonna take a long time).
I hope you'll have a good weekend!
We've now uploaded the first beta build of Rising Empires on Google Play:
The AI is now halfway to it's fourth version and can do plenty of different actions. It has not been trained yet which mean that it has trouble selecting the best action every time (= it's quite dumb ). Anyway, if you are interesting of giving it a try we value all opinions about the AI and GUI and all else.
Cheers!