An Exploration into Computer Games and Computer Generated Forces. Laird (2001)

Type of Research: Academic, funded in part by grant N61339-99-C-0104 from ONR and NAWCTSD.

Summary:
Laird write, “When CGFs are used for training (and other purposes), the primary goal is to replicate the behavior of a human; that is the behavior should be realistic. Without realistic, human-like behavior, the danger is that human trainees interacting with the CGFs will have negative training.” In other words, he does not want AI that is superior to humans or behaves in a non-human manner.

Laird’s group, who created the SOAR language, created the Quakebot, an agent that plays in Quake II tournaments.

Below is a list of the main tactics the Quakebot uses. These are implemented across the top-level operators.

Collect-powerups

  • Pick up items based on their spawn locations
  • Pick up weapons based on their quality
  • Abandon collecting items that are missing
  • Remember when missing items will respawn
  • Use shortest paths to get objects
  • Get health and armor if low on them
  • Pickup up other good weapons/ammo if close by

Attack

  • Use circle-strafe (walk sidewise while shooting)
  • Move to best distance for current weapon

Retreat

  • Run away if low on health or outmatched by the enemy's weapon

Chase

  • Go after enemy based on sound of running
  • Go where enemy was last seen
  • Ambush
  • Wait in a corner of a room that can’t be seen by enemy coming into the room

Hunt

  • Go to nearest spawn room after killing enemy
  • Go to rooms enemy is often seen in

A flow chart of the Quakebot’s AI is below:

The Quakebot is programmed by rules. An example is:
If predict-enemy is the current operator and
there is an enemy with health 100,
using the blaster, in room #11 and
I am distance 2 from room #3
then
predict that the enemy will go to room #3
through door #7.

“Inherent to Soar is a learning mechanism, called chunking, that automatically creates rules that summarize the processing within impasses. Chunking creates rules that test the aspects of the situation that were relevant during the generation of a result. The action of the chunk creates the result. Chunking can speed up problem solving by compiling complex reasoning into a single rule that bypasses the problem solving in the future. Chunking is not used with the standard Quakebot because there is little internal reasoning to compile out; however, with anticipation, there can be a long chain of internal reasoning that takes significant time (a few seconds) for the Quakebot to generate. In that case, chunking is perfect for learning rules that eliminate the need for the Quakebot to regenerate the same prediction. The learned rules are specific to the exact rooms, but that is appropriate because the predictions are only valid under special circumstances.”

Comments:
Laird is well-known for SOAR (http://www.eecs.umich.edu/~soar/), his
presentations at the Computer Game Developers Conference (CGDC), his military research (most notably for the Air Force) and the Quakebot. Laird has consistently championed the importance of the commercial gaming industry, and its developments, to the military establishment.

On a personal note, I can remember a very abortive attempt by a group from UCDavis to use SOAR in conjunction with the CyberWar XXI game that I consulted on. At the time I thought the problem was with SOAR, itself. However, the problem may have been with the programmers, instead.

To the best of knowledge SOAR has been used to program only ‘individual’ agents and not to act as an AI controller of armies, corps or divisions nor to perform any sort of strategic reasoning.


Copyright© 2007 — D. Ezra Sidran — Scarab Industries

HTML version by: Ralph the Wizard - Wizard Information Technology Services, LLC