Egocentric AI processing for computer entertainment: a real-time process manager for gamesIan Wright, James Marshall, Egocentric AI processing for computer entertainment: a real-time process manager for games. Proceedings of the First International Conference on Intelligent Games and Simulation (GAME-ON 2000). November 2000. PDF, 173 Kbytes.
A general-purpose, real-time Process Manager (PM) designed to control the execution of �AI� processes in many different kinds of computer game is presented. It is viewed as a first step towards standardising AI execution for games, which is a prerequisite for AI hardware acceleration. The PM supports �egocentric� AI processing, which is an approach that favours believability over accuracy of simulation when constructing a virtual world for entertainment purposes. The PM can maintain, from the point of view of a human player, the �ego�, a constant frame-rate at the expense of AI processing under variable AI loads. A game that uses the Process Manager will appear to run smoothly even if the time required to fully process currently active objects exceeds the time available to update and draw a single frame. The PM user can specify a global upper time limit for AI processing, and the PM will attempt to ensure that this limit is never exceeded. A fuzzy upper limit and graceful degradation of AI performance replaces a sharp cut-off point for loss of frame rate. In consequence, the PM reduces the need for manual optimisation of AI code and thereby facilitates the implementation of more populated and interaction-rich virtual worlds. The PM also supports (a) simulated, multi-threaded AI process execution, (b) specification of the run-time frequency of AI processes, (c) suspendable and sliceable �behavioursets�, (d) automatic process interleaving and activation delay to minimise per-frame CPU load, and (e) user-specified conditions that define the relative �importance� of AI processes that is used to determine which processes to postpone under high loads. The design of the PM, its useful properties, and a prototype implementation on Sony Computer Entertainment�s PlayStation2 hardware is described. Results from testing the Process Manager in a simple problem domain are analysed.