Advertisement

Is there any book that explanins How to Develop AI Engines for RTS Games?

Started by June 22, 2009 06:21 AM
5 comments, last by ZiKaS 15 years, 4 months ago
Hi all, I want a book that is talking about developing AI Engine for RTS Games from scratch Thanks in advance :)
If there is something like that I would be interested in reading it as well.

But since no veteran responded until now I doubt there is something good in this area. Actually I would be surprised since the average RTS AI is super weak except it is cheating and even then an experienced player can beat it without loosing a single unit in most competetive games I know.

For a short outline on what I want to do / what I am looking for:

I want to try to create a prototype for an epic (scale) RTS where you don't take the usual place as godlike commander but you are an officer over some squads/platoons as a small part of a big war. So you have support by AI armies quite often and you want to fight capable enemies.
To make stuff more complicated AI wise, I want the player to only give tasks to a the squads not to every single unit. Now every soldier will get a (simple) personality (like how likely will he run away, how cautious is he etc.) and this will influence his movement. How much he seeks cover, what target he chooses as highest priority (when there are no explicite orders) and stuff like that.
To not be frustrated the player should realize that preparation is the most important part of combat. On the other hand this is not ment to become a real game, more of a prototype and something to learn from. So it doesn't matter if it is not fun to play at all, as long as I manage the desired unit behaviors.

Now to achieve this I have to get a pretty good modified waysearch running (to add in danger zones and cover ...) And some algorithms to simulated the decisions on the lowest level. I guess those are do-able with some research.
Where I don't have any clue is how to get an enemy commander to do a good job and preferably make it so that the enemies behavier also depends on some personality traits (without hardcoding different ai's but having parameters to play around with).

Before anyone explains how impossible to realize my idea is, I believe it to be a fun idea and I want to try how far I can get - doesn't matter if I can't make it, I will learn from it.
Advertisement
Quote: Original post by Leartes
But since no veteran responded until now I doubt there is something good in this area. Actually I would be surprised since the average RTS AI is super weak except it is cheating and even then an experienced player can beat it without loosing a single unit in most competetive games I know.

What RTS games are YOU playing? I've played plenty of good ones. As for no veterans responding, I believe that it is because the question was so wide open that there is no true answer. There is no such thing as "RTS AI". There are AI techniques that can be applied to a variety of situations in a variety of genres - some more so than others. For example, pathfinding is pathfinding. The threat analysis done bye a single unit in an FPS is similar to one that is done by a group in an RTS. The decisions of what to build next in an RTS is similar to to algorithms in tycoon-style games.

Additionally, most AI development is about solving custom problems that are specific to the situation and the game. It's just a matter of using the simple tools in creative ways. Since it is impossible for any author to anticipate and answer the needs of all possible game projects, all they can do is show the tools. See above.

Therefore, there are not many people who would set out specifically to write a book about RTS AI.

If you have a specific question about how to handle one of the issues that you are facing, you will get plenty of responses.

Quote: Now to achieve this I have to get a pretty good modified waysearch running (to add in danger zones and cover ...) And some algorithms to simulated the decisions on the lowest level. I guess those are do-able with some research.
Where I don't have any clue is how to get an enemy commander to do a good job and preferably make it so that the enemies behavier also depends on some personality traits (without hardcoding different ai's but having parameters to play around with).

For all of THAT, I would simply recommend my own book linked below. Most of what you need would be very accessible using the tools I outline.

Dave Mark - President and Lead Designer of Intrinsic Algorithm LLC
Professional consultant on game AI, mathematical modeling, simulation modeling
Co-founder and 10 year advisor of the GDC AI Summit
Author of the book, Behavioral Mathematics for Game AI
Blogs I write:
IA News - What's happening at IA | IA on AI - AI news and notes | Post-Play'em - Observations on AI of games I play

"Reducing the world to mathematical equations!"

Quote: Original post by InnocuousFox
If you have a specific question about how to handle one of the issues that you are facing, you will get plenty of responses.

Quote: Now to achieve this I have to get a pretty good modified waysearch running (to add in danger zones and cover ...) And some algorithms to simulated the decisions on the lowest level. I guess those are do-able with some research.
Where I don't have any clue is how to get an enemy commander to do a good job and preferably make it so that the enemies behavier also depends on some personality traits (without hardcoding different ai's but having parameters to play around with).


For all of THAT, I would simply recommend my own book linked below. Most of what you need would be very accessible using the tools I outline.


I've read and heard from many people say AI for RTS games is extremely difficult do, due to the fact that a non-cheating AI never has "all the information" needed to carry out it's decision (ie fog of war and how much/what kind of units/economy the other players have.) So, the trick is to employ techniques and algorithms that, under those partial data circumstances, can help the AI make decisions that go towards a goal, whether it be taking a point on a map, or upgrading a building to make it stronger than the enemy.

I dont remember what book I read, but AI in RTS games has multiple layers, meaning you have a high level player AI, a possible commander / group AI, and a single unit AI. High level AI would set goals for the lower layers, as well as figure out what it has to do to achieve the overall victory condition.

The above touches on everything from fuzzy logic to A*. If its the structure you are after then hopefully that helps.

------------------------------

redwoodpixel.com

The multi-layer architecture is the most important issue. Usually there is a strategic level, an "army level", and a unit level. Each one is only concerned with it's own actions and, in a general sense, the actions of the layer immediately below. That is, the strategic AI thinks in terms of the high level and gives commands to armies. The "army level" moves an individual army around, arranges it's units, and gives general orders to the units. The individuals carry out those orders through perceiving their immediate environment, attacking, defending, etc.

This is overly simplistic, of course. for example - if, like typical RTS games, you build buildings and units, you will have a separate "build manager" class.

The best advice is to handle one decision at a time and gradually grow the AI.

Dave Mark - President and Lead Designer of Intrinsic Algorithm LLC
Professional consultant on game AI, mathematical modeling, simulation modeling
Co-founder and 10 year advisor of the GDC AI Summit
Author of the book, Behavioral Mathematics for Game AI
Blogs I write:
IA News - What's happening at IA | IA on AI - AI news and notes | Post-Play'em - Observations on AI of games I play

"Reducing the world to mathematical equations!"

I would highly recommend the book Programming Game AI By Example by Mat Buckland. It is not specific to RTS, but the techniques that it deals with are universal. It does spend a fair amount of time on flocking techniques too, which I imagine would be necessary for most RTS games. You can get the source code and executable files from the book from http://www.jbpub.com/catalog/9781556220784/samples/ . I really recommend checking out the soccer demo and the completed Raven demo.

I've always been more of an algorithmist (make it run, make it run fast) than a software engineer (make it not catch fire), and while I did increase my knowledge of AI tenfold at least, I learned a lot about the engineering of games as well.
Advertisement
Thanks all for replying. What I want is How to start developing AI Engine for RTS Game

Thanks in advance :)

This topic is closed to new replies.

Advertisement