Type of Research: Academic (University of Michigan) with DARPA funding.
Summary:
This paper describes Lairds and his students efforts in the Soar/Games project to create bots for Quake and Descent.
Their system uses an Inference Machine.
The job of the inference machine is to apply knowledge from the knowledge base to the current situation to decide on internal and external actions. The agents current situation is represented by data structures representing the results of simulated sensors implemented in the interface and contextual information stored in the inference machines internal memory. The inference machine must select and execute the knowledge relevant to the current situation. This knowledge specifies external actions, the agents moves in the game, and internal actions, changes to the inference machines internal memory, for the machine to perform. The inference machine constantly cycles through a perceive, think, act loop, which is called the decision cycle.
1. Perceive: Accept sensor information from the game
2. Think: Select and execute relevant knowledge
3. Act: Execute actions in the game.


Comments:
The QuakeBot is, frankly, fairly obvious in its design. The interface with Quake (which is not mentioned except to credit Steve Houchard) seems like a more difficult piece of coding.