Advertisement

AI in a turn based strategy game

Started by September 24, 2012 07:55 AM
8 comments, last by Netherlords 11 years, 7 months ago
Hi,

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
I've now completed the overview of the AI. Part two can be found here:
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!
Advertisement
Hi,

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
The work with the AI goes forward at a good pace. I've now completed the articles on the first version of the settlement AI. This is the AI that handles all cities and towns in an empire.

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...
I've now completed the article about the strategic AI. This is an utility-based AI with the capacity to perform multiple actions each turn, all depending on the available resources. We haven't implemented economy in its reasoning but when that's complete we'll have an AI that can control its empire with some sucess.

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! smile.png

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.

Advertisement

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:

https://play.google.com/store/apps/details?id=com.hellhound.empires&feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5oZWxsaG91bmQuZW1waXJlcyJd

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 rolleyes.gif ). Anyway, if you are interesting of giving it a try we value all opinions about the AI and GUI and all else.

Cheers!

Hi,
It seems that the Rising Empires GUI is a little tough to get into. We should, of course, has anticipated this but better late than not at all. I've written a short tutorial over the buttons and things a player need to do in the first turn of playing Rising Empires. It can be found on our blog:
Later this evening we'll upload a new version of Rising Empires to Google Play. This is purely bug fixes to remove some of the most common bugs that has been detected.
I would also like say thank you to all of you who've tested Rising Empires.
The work on our AI for Rising Empires goes forward and today we release the 4th version. The articles on my blog do not contain much code snippets at the moment but if you're interested in my thoughts as the AI gets more and more complex head over to 'Words of the Netherlords':
Let me know if there is any specific part of the AI code that you want me to discuss in an article.
I hope you all have a good weekend! Cheers!

This topic is closed to new replies.

Advertisement