Is there any book that explanins How to Develop AI Engines for RTS Games?
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.
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.
------------------------------
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'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.