Thread: UBotScript?
View Single Post
Re: UBotScript?
Old
  (#28)
botman
Super Moderator
 
Status: Offline
Posts: 280
Join Date: Jan 2004
Location: Plano, TX
Default Re: UBotScript? - 04-06-2004

Team AI can be handled in several different ways.

You can have a team/squad leader and they make all the decisions about what to do and order other guys to do them. When the leader gets killed someone else is promoted to the leader. Half-Life single player AI works this way and real-life military organizations works this way. The problem with this method is that you have to send messages back and forth between the leader and the members of the team/squad. The message passing can become complicated if you have to acknowledge an order before it's carried out or you have to recover if an order isn't acknowledged (that member is busy with something else right now and can't respond or responds negatively). This is probably not the best model for AI (although it does allow you to simulate real world situations, like where orders get lost due to communication problems, loss of sight/hearing, etc.)

Another model for squad AI is to create a "hive-mind" concept (like the Borg in Star Trek), where there is one common mind floating around in space that knows what everone is doing and decides which team members do what. The mind doesn't actually exist as a player in the game. This is more like the general sitting on the top of a hill at a battle and watching everyone down below and giving orders. The general can see everything that's going on, but the general doesn't actually engage in any fighting or physically attempt to complete a mission.

Another way to handle squad AI is to have no leader, and let everyone make their own decisions based on what other people around them are doing. This is more like the "group mob" kind of situation. There's no one person in charge, but when somebody decides to start doing something, somebody else will say "Hey, I'll do that along with you". Other people soon join in and before you know it, there are many people "working" on the same activity (good or bad). This model more easily allows for "rogue" members to go off and do their own thing while the rest of the group is doing something else.

I would vote for doing something similar to the 2nd method above "the hive-mind", since that is probably a little easier to implement (no message passing required) and makes the individual behavior more predictable (you don't have to worry about everyone deciding to go off and do their own thing).

It really all depends on HOW MUCH you want individuals to work as a team. For a more team play oriented tactical game (like Day of Defeat), you want LOTS of team cohesion so that EVERYONE is part of the team. For games like Counter-Strike, team work is important in some aspects (like planting/defusing the bomb), and less important in other aspects (like rescuing hostages). And, of course, deathmatch games require absolutely NO team work at all (unless it's team deathmatch like capture the flag).

botman
  
Reply With Quote