Jump to content

WHAT AI IS USED IN CM ???


Recommended Posts

QUESTION TO MAT .........,is it like CC..?

LETS US HAVE THE REAL GRIT OF IT ...

thanks

SCOTT

The final implementation did not use blackboards.

Here's a brief

description of the implementation.

The Strategic Artificial Intelligence (SAI) in Close Combat (CC) handles

the task of creating high and medium level orders for the teams under

direct computer control and medium level orders for the teams under

player control. Sometimes, a player's teams will be placed under

computer control (either by the player clicking the advance or retreat

buttons or if the player has not issued an order to a teams for a long

period of time) in which case the SAI will also generate high level

orders for the player's teams placed under computer control.

When creating orders, the SAI reasons only about the teams as a

whole--It never reasons about individual soldiers in the teams. In

reasoning about locations on the CC map, the SAI divides the map into a

square grid. The squares in the grid are referred to as megatiles. The

size of a megatile is roughly the size of the smallest square building

which can be found on the CC maps (about 18 by 18 meters).

High level orders correspond to the orders in the pop-up menu that

appear when a player clicks on a team. An example of a high level order

would be "Move alpha team from megatile grid location (3,5) to megatile

grid location (6,11)." The SAI generates high level orders for the

computer controlled squads using information about the current game

situation and victory conditions. Player controlled units are given

high level orders by the player through the pop-up menu that appears

when the player clicks on units under his control.

Medium level orders are generated by the SAI to accomplish high level

orders at a team level. For the previous example of a high level order,

the medium level orders might include "Move alpha squad from megatile

grid location (3,5) to megatile grid location (4,6)," "Move alpha team

from megatile grid location (4,6) to megatile grid location (5,7)," and

so forth. The SAI always generates the medium level orders required to

accomplish high level orders regardless of whether the high level

orders were created by the SAI or the player.

The SAI is comprised of three main systems: the location selector, the

path planner, and the target selector. The location selector is used by

teams under SAI control for generating high level goals. It determines

where the team should be on the CC map. If the team is not at its

desired location, the path planner is invoked to determine the medium

level movement orders needed to get the team where it needs to be. The

path planner can generate paths based on speed, safety, or a

combination of the two. Once at its desired location, a team uses the

target selector to determine which enemy team (if any) it should

attack.

When a player gives a move order to a player controlled team, the

player's order becomes a high level movement order. The path planner is

then invoked to generate the medium level goals to get the team to the

specified location. Fire and smoke orders issued by the player are

converted to medium level orders indicating that the team should fire

at the specified location. A defend order issued by the player invokes

the target selector which picks an enemy target for the player's team

to attack.

The location selector uses a number of criteria for selecting a desired

location for a team. First, it determines if the team should just stay

where it is. When a tank first sees an enemy tank or anti-tank team,

it's most likely to try to get the first shot at the enemy rather than

moving on its way. Infantry under intense fire or in a good defensive

position tend to stay at their current location as do mortar teams

since they like to deploy and stay out of the enemy's line of sight.

If the location selector decides that a team should consider moving to

other megatiles, it begins a search for the best megatile in which to

position the team. Since each CC map contains hundreds of megatiles,

the location selector uses a number of heuristics to prune the search

space. For example, moving a rifle team into the middle of a large open

field is almost always a bad idea. The location selector uses a number

of factors to both prune and rank the list of megatile locations being

considered. The factors include the defensive benefit of the megatile,

the strategic importance of the megatile (is it a victory location),

the amount of time it will take to reach the megatile, the amount of

danger involved to reach the megatile, and the number of friendly and

enemy causualties expected when the team attacks the enemy from the

megatile. When dealing with enemy teams, the location selector

hypothesizes the location of enemy units rather than cheating by

looking at the real positions of teams that it should not be able to

see.

Gary Riley

garyr@atomic.com

Gary has provided some interesting additional information concerning why blackboards were not used in CC (and why they won't be used in the upcoming CC2). The reasons seem to boil down, basically, to those evil twins of time and resources....

The designer's note article that mentioned blackboards was written at

the very earliest stages of development. At the time, it was not

apparent that handling interaction between the low level simulator and

the high level AI would be such a difficult task. A lot of effort went

into resolving these issues. For example, the simulator determines

line of sight to a team by tracing from individual soldier to

individual soldier, but the high level AI has to have some type of

abstraction which divides the map into locations and provides

information about whether a team can fire from one location at

another. If the abstraction didn't work well, you'd either have

teams moving to locations from which they couldn't attack the

enemy and moving out of location from which they could. The solution

we ended up with was to iterate over all locations on the map

deploying teams into the divided map locations and then have the

simulator determine whether a line of sight existed (which took a

considerable amount of time).

Anyway, we had a lot of issues like these that had to be worked

on through almost the entire development cycle, so as the AI was

being developed I just used very straight forward approaches to

determining team actions (i.e. if the AI can't figure out a location

to move to from which a team can attack the enemy, no one is going

to care whether the AI uses blackboards or not). In fact, because

so much time was spent on getting fundamental capabilities working,

a design for using blackboards never got beyond a very high level

hand waving stage.

It would be nice to chunk the current code and do a complete redesign

which utilized blackboards and made use of what I learned from the

first attempt since one of the AI's weaknesses is team coordination,

but I don't see that happening. So CC2 will use the same basic design

as CC1.

Gary

Commentary:

It's interesting to note that after playing up the blackboard technology aspect of CC's AI, Atomic quietly dropped it in favor of a more traditional style AI. One wonders why (and I'm trying to find out)--was the blackboard simply not reliable? too slow? too tough? too dumb? Either way it's a pity they weren't able to make it work, as blackboards offer some promising solutions for making different AIs cooperate.

More if/when I get more data.

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

Game: Close Combat 2

Link to comment
Share on other sites

Originally posted by Hiram Sedai:

Dont forget the inclusion of the patented Gefingerpoken technology.

Ah, yes! One must not must not forget the patented Gefingerpoken Kitchensinkian Mnemonic Algorithms!

It makes the little figures say "Yes Sergeant!" at the right times.

Gyrene

Link to comment
Share on other sites

Guest PondScum
Originally posted by CMplayer:

So what's a blackboard (in the context of AI)? And to all you guys making wisecracks...put it in the can. It ain't no funny no mo.

Blackboard is just a metaphor for a big internal scratchspace. The AI system can then use lots of different "experts" (e.g. a targetting expert, a LOS expert, a movement-through-cover expert, etc), each of which generates results/recommendations independently and puts them on the blackboard. Then you have some top-level controller that looks at everything on the blackboard, and decides (based on the various results) which recommendations to follow.

The nice thing about a blackboard is that the experts can be completely independent of each other, interacting only through the blackboard (cf the comment about "making different AIs cooperate). The hard part is that because they're completely independent of each other they can't use each other's expertise to make their decisions (cf the comment about "handling interaction"). So it's good for coding something up quickly, but it might be too limited for some applications.

Link to comment
Share on other sites

×
×
  • Create New...