Jump to content
  • Advertisement

Archived

This topic is now archived and is closed to further replies.

Tom

Strategy AI - Collaborative agents

This topic is 6503 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Heyo. I''ve got an idea running through my mind that could use some feedback from other developers. It''s not a particularly new prospect, and I''ve seen it in use before. However, this will be my first attempt at making collaborative agents. My project is a tactical combat sim, a "Heavy Gear-meets-Font Mission" if you will. An agent in my game is simply a weighted state machine (hereafter refered to as WSM) that is capable of making its own decisions based on virtual tactical input. In other words, each unit on the battlefield can act independently. On the other hand, I want units to act collaboratively. I''m not talking about scripted attack formations as in Half-life, but rather totally autonomous agents that are capable of sharing tactical data and assigning actions to individual units. Certainly this sounds like a good idea, but getting it to work is the problem. Deciding how to strike from multiple sides is one of the biggest issues, and finding nearby cover has always been a problem for me. Anyway, input is much appreciated. I can elaborate on my plans further if you like.

Share this post


Link to post
Share on other sites
Advertisement
Guest Anonymous Poster
well I would go for a hierarchy. At the top is the big AI, he has his resources (units and other stuff) and his goals (kill enemies A B and C, oppose enemy plans). The main AI, like each AI below it has a set of plans it can use to accomplish its goals. It chooses one based on the resources and goals that it has control over. Many of the plans would require the creation of lesser AIs, which would have a subset of the resources and goals of the creator AI. They could in turn make their own sub AIs, depending on the plan that they come up with.

So you might have an AI with a hundred men, it decides to send one off on a scouting mission, and a dozen on a raid, while reserving most of the men for mindless assualt. So the main AI creates a subAI for each of the two groups and it controls the scout directly. The raiders have a subAI with a goal set by the main AI: destroy the enemy''s camp. It doesn''t concern itself with the main enemy army because the mainAI didn''t tell it to. The giant horde AI has its own subAI. Right now it has the command to stay in camp, but later the main AI will tell it to charge and destroy the enemy. At that point it might further subdivide itself, or it might not, depending on what plan the subAI chooses.

Share this post


Link to post
Share on other sites
I think you should encode some general purpose axioms about teamwork into each of your agents. In other words, the agents need knowledge about working in a team.

For example:
------------
If one agent discovers information that would be useful to other agents, it becomes a top-level goal to communicate that info to the other agents.

Most agents should realize they are to follow their leader (fleet and pack formation).

If any agent learns it is pointless to continue with a mission, that agent should persuade the other agents to believe this.


Share this post


Link to post
Share on other sites
A heirarchy of agents. Now that''s something I hadn''t considered. Very great idea, although it will take some serious thought before I can implement such a thing. However, I think this is exactly what I''m looking for to emulate group tactics.

The top-level of the AI heirarchy does not have to be embodied. It can simply be a conceptual group mind that controls all group-related activities within a group. Obviously, each AI will need its own decision-making ability, but on the whole units will follow orders for the benefit of every unit on their team.

Bishop: You''ve exemplified this individuality concept by proposing that each agent has the ability to recognize something as being important to the group. It would then relay this information to the top-level agent (which could simply mean adding it to the weighted states).

Also, following the leader is actually something I hadn''t considered. I guess the idea is easy to skip over since it''s so basic. Thanks for reminding me.

One of my big problems is determining (generally) how enemy forces are laid across the battlefield. For example, if enemy units are clumped into groups, then surround tactics (along with artillery strikes) would serve best. If the enemy is spread out, then guerilla warfare becomes the best option.

Any ideas?

Share this post


Link to post
Share on other sites
To determine the enemy''s distribution, think in terms of what resources are available to your AI. If satellite pictures are available, for example, it can periodically get an accurate idea of everything it needs to know.

Assuming this is not the case, it would generally send out scouts or reconnaissance missions, who would see uncamouflaged enemy units and somehow (depending on technology available) get this information back to base. The enemy will of course try to stop them when they''re spotted (jamming radio, if available, and killing or capturing agents). Larger groups of scouts will be easier to spot, but can split up if necessary.

I''d say that each unit (whether one or many soldiers), although controlled by the main AI, should have autonomy when not in direct communication with it. Games where the enemy appears psychic can be extremely irritating!

Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!