Agents for games and simulations

Autonomous Agents and Multi-Agent Systems, Mar 2012

Frank Dignum

Article PDF cannot be displayed. You can download it here:

https://link.springer.com/content/pdf/10.1007%2Fs10458-011-9169-2.pdf

Agents for games and simulations

Frank Dignum - Serious computer games have become increasingly popular; they also require more elaborate and natural behavior on the part of Non-Playing Characters. The more elaborate the interactions among characters are during a game, the more difficult it is to design these characters without the use of specialized tools geared towards implementing intelligent agents in a modular way. This thus seems to be an excellent area for the application of intelligent agent technology, which for the past two decades has been developed based on design concepts such as Goals, Intentions, Plans and Beliefs. A first attempt at connecting game engines with these types of agents has been made with Gamebots [1]. Gamebots provides an infrastructure that allows the interfacing of any agent platform to the computer game Unreal Tournament. Gamebots manages the provision of relevant information regarding the game state, while delivering commands for actions from the agents to Unreal. More recently, this package was used as the basis for more extensive middleware called Pogamut [2]. Although the aforementioned middleware does allow the interfacing of agents to the game engine, that in itself does not guarantee proper behavior of the agents in the game. In the workshop series on Agents for Games and Simulations [3,4], started in 2009, issues regarding the connection of agent technology to game engines has been discussed. Most of these issues derive from the fact that game engines are typically designed to be in total control of the games progress. On the other hand one, of the major attributes of agents developed on MAS platforms is that they are autonomous (to some extent) and interact asynchronously. We want to exploit the benefits of having agents deciding intelligently and autonomously about their next actions, while not losing control of the game. This balancing act leads to three broad categories of issues. The first category is that of technical issues; an important issue in this category is that of coping with real-time environments. Unfortunately, agent technology has hardly bothered with real-time issues up until now. A major exception is the use of agent technology in robotics, where one obviously also has to deal with real-time environments. Maybe this is one of the reasons that, in robotics, people do not use standard (BDI) agent platforms as basis for their work, but rather start from specialized robotics platforms and extend these with agent concepts. Real-time behavior is of paramount importance for games. This becomes particularly clear when dealing with rationality. Agents do not always have time to reason about all aspects of a problem until they find the best option; in real-time systems, agents need to have bounded rationality. This aspect is dealt with extensively in the paper of Rosenfeld and Kraus that appears in this special issue. Real-time reactive behavior can also become a problem when a massive amount of information about the game state is given to the agent every few milliseconds (as happens in most video game engines connected to agent systems). Many agent platforms assume that an agent will monitor events from the environment and update its belief base whenever necessary. However, when so many events, containing so much information, come in, they flood the agents perception module. This might lead to paralysis of the agent, as it is continuously dealing with incoming events and has no time for other tasks. It is clear that some kind of filtering should take place. The difficulty is, of course, to filter out all irrelevant information and events, while retaining those that are relevant. What is relevant will differ per agent, and also per situation. For example, the fact that there is an accident on the road near a persons house may not be relevant for that person if he happens to be at work; it is important if the accident involved the persons partner. It is also relevant for the medical personnel at the hospital nearby, but only if the accident involved casualties. Another real-time issue is that of durative actions. In most agent platforms, actions are supposed to be executed instantaneously. Thus an agent can wait for an action to be done before it does anything else. However, if an agent is moving in a virtual environment, an action might take time, and an agent should be doing other things in the meantime. A simple solution is to create an action that starts the durative action, then wait for a special event that is created when the durative action finishes. Although it is possible to use this construction, it is up to the agent designer to keep track of all administration surrounding the durative actions, and have the necessary procedures to react appropriately when they fail. The last important real-time issue we mention here is the balance between reactive and pro-active behavior. Sometimes an agent is supposed to react instantly to an event (e.g., when he sees an accident happen in the street). In these cases, he should abandon his current plan and form a new plan to handle the situation. In other cases (e.g., when a car breaks down in front of him) he might just change his current plan and take another route to avoid the traffic. At still other times (e.g., when he gets a message that there is a sale starting at his favorite clothing store) he will react to the event only after he finishes his current goals (to work until five oclock). All of these reactions require a mechanism to balance pro-active and reactive behavior of the agent in a natural way. Although the above real-time issues are not dealt with explicitly in the papers in this special issue, they are part of the reason why Silverman et al. and Lim et al. created their own agent architectures, instead of using an existing platform. A second category of issues is concerned with the fact that the deliberation of agents usually takes place at a symbolic level (in order to reason at the strategic level), while most information in the game engine is processed at a geometric level (for reasons of efficient rendering). Thus for the game engine, an object might for example be a rectangle that can rotate along one of its edges, while an agent would like to deliberate about this same object as being a door. Some translation should therefore be provided between the game engine and the agent platform. This also becomes very important when affective interpretations should be attached to events happening in the world. As an example, someone dropping a glass might get an interpretation of being astonished. In the papers of both Lim et al., and Sollenberger and Singh, the affective components of the agents play an important role. The issue of both interpreting and generating emotions in terms of physical elements becomes important. The last category of issues regards the design of games that have agents. In [5] it is argued that the current practice in the game industry, where the AI parts (...truncated)


This is a preview of a remote PDF: https://link.springer.com/content/pdf/10.1007%2Fs10458-011-9169-2.pdf
Article home page: https://link.springer.com/article/10.1007/s10458-011-9169-2

Frank Dignum. Agents for games and simulations, Autonomous Agents and Multi-Agent Systems, 2012, pp. 217-220, Volume 24, Issue 2, DOI: 10.1007/s10458-011-9169-2