ABSTRACT

Agent movement is arguably the most visible aspect of AI in any game, and this is particularly true of shooters. Choosing between positions—and generating those positions to consider in the first place—is critical to the success of these games. Not only is it key to an agent’s effectiveness in combat, but it also visibly communicates his role and status in that combat. More generally in games, an agent’s movement helps define his personality and often much of the core gameplay. Any system used for choosing movement locations faces design pressures from many directions. It must be flexible and expressive, as it will define the movement possible for our agents. The specification of individual queries can be thought of as the first step in the process of position selection, and a powerful specification language forms the first component in our architecture.