John Northan
Overview

The computer-controlled inhabitants of the virtual world are designed with interactivity in mind. Each of these agents has vision and sound sensors, and a range of individual characteristics, controlling features such as dynamics (linear speed and acceleration, and angular speed and acceleration). Agents also have a set of parameters that govern their behavior to other inhabitants of the world. For any such inhabitant, the agent can have a like "feeling" (a parameterized value), which affects the agent's reaction to this inhabitant when in its vicinity, and a magnetism feeling, which determines how close this agent wants to be to an inhabitant that it is friendly with.

Any agent can also be a member of one of the species present within the world. The concept of a species has been introduced to allow emergent group behaviors from the computer-controlled agents. Examples of these emergent behaviors present in the world are group flocking, following and fleeing.

Sensors and
Characteristics

Agents can sense world data in two ways, through vision and sound. Visual data is determined from a field of view defined by two parameters, the distance and half angle:

The agent automatically identifies any other agents within this field of view. This data can then be used to determine the agent's response, should it have feelings towards an agent in its view. Visual data is also used during collision avoidance. This low-level routine ensures that agents avoid other objects in the world.

Sound data is determined from a simple circular audio field surrounding the agent. The agent receives the intensity and direction of the sound source. These data are used by a variety of agent functions, such as in determination of a direction to flee a pursuing inhabitant, and during flocking to allow inhabitants outside of the visual field to influence the agents next movement.

There are numerous agent parameters that deal with its dynamics. Each one is customizable for each agent within the world. The reason for this is to enhance diversity within the world. We do not want inhabitants to appear too similar in their motion (or appearance), just like in real life. Thus, each agent has parameters that store its linear maximum potential speed and acceleration, its angular maximum potential speed and acceleration, and its tolerance to reaching a new destination. This latter parameter means that agents do not concentrate upon reaching an exact destination. Once in its vicinity, they move on to the next action.

Individual
Behaviors

A complex social environment can be achieved from the interaction of simple agent behaviors. Our aim is for a human inhabitant (an "avatar") of this world to be immersed in a highly interactive society. Computer-controlled agents can be given "feelings" towards any other inhabitant of this world, which are then used to determine resultant behavior of the agent when in the presence of the inhabitant. It is expected that, in order to concentrate upon the experience of the user within an environment, the agents will only be given feelings towards the user avatars. A much more complex world could be created if we allow each agent to have feelings also about the other agents. We feel that this would reduce the experience felt by a user, who would find it difficult to understand the motives of agents who are forever changing their behavior. A description of these "feelings" follows:

  • Love: an agent that loves an inhabitant will, upon visual detection, try to remain in close contact. From an avatar's perspective, this agent will, upon catching sight of the avatar, come towards it, and henceforth follow it around. An avatar may not even know that this loving agent is following it around until the avatar turns around. A second parameter of an agent, the "magnetism", is used to determine just how close to this inhabitant the agent wants to be. A very high magnitude value will result in a very close contact, and could be interpreted as harassment. The harassment agent will cling too closely to the avatar for comfort, and often get in the way as the avatar tries to move around the world.

    Conversely, a low magnitude value will result in a more distant following behavior, that could be interpreted as shyness. This time, the avatar would notice an agent that appears to be following it, but never approaches too closely. It is expected that a further parameter, representing "attention span", will be added to each agent, which will be used to periodically change an agent's focus of attention. This will prevent an agent from spending the whole time with just one other inhabitant of the world.

  • Like: these agents retain the features of the loving agents with one significant difference. Like agents will only be drawn to the inhabitant that they have the like feeling for if this inhabitant is looking at them. Unlike the loving agents who, upon sight on the inhabitant, will go towards them, the like agents are less enthusiastic, and need the inhabitant to be showing interest in them (by looking in their direction). The effect of this from an avatar's perspective is that any like agents within an avatar's visual field (i.e. what a user can see on their monitor) will be drawn towards the avatar. However, upon turning away from these agents, they will lose interest and move away. They will not follow an avatar around the world.

  • Indifference: an agent that feels indifferent towards an inhabitant will simple not adjust its original behavior in any way, upon visual detection of this inhabitant. It is expected that an agent will feel indifferent to most other inhabitants of the world, only having responsive feelings towards a small subset.

  • Dislike: this is, to some extent, the opposite of the like behavior. An agent that dislikes an avatar that is in its visual field will flee upon determination that the avatar is looking its way. Upon fleeing, the agent becomes scared and will use its audio sense to determine whether it is being pursued (this is simply determined by whether or not the agent can hear any loud noise behind it). From an avatar's perspective, upon coming face to face with one such disliking agent, the avatar will see the agent turn and flee. The avatar can then chase after the scared agent, causing it to adopt an evasive path.

  • Hate: this feeling is similar to the dislike feeling, but less constrained in that the agent solely needs to see the inhabitant that it hates (unlike dislike, the inhabitant does not need to be looking back at the agent).

There are also other agent behaviors that are induced under special circumstances. These behaviors are intended to extend the complexity of the world to a visiting avatar, and to encourage experimentation within it:

  • Crowd Pleaser: this agent will actually perform for others (the performance will be a motion-captured dance sequence). However, it will only perform in the presence of a minimum number of observers. This agent's behavior encourages user interaction and cooperation. Lazy Performer this agent can also perform, but only when forced to do so. This entails cornering the agent so that it cannot escape (for example within some physical boundary, or surrounded by other inhabitants). This agent's behavior also encourages user interaction and cooperation. Statue this agent has a very simple behavior. It stays motionless for long periods of time, occasionally bursting into a short sequence of moves, intended to surprise any watching inhabitants.
Conflict
Resolution

Conflict can occur within an agent when it has feelings for several inhabitants within its field of view. Currently, a simple priority system causes the agent to react solely to the inhabitant that it has the strongest feeling for. It may prove to be more realistic if the agent considers all these inhabitants. For example, an agent may see two different groups of inhabitants within the visual field, the larger full of inhabitants that it likes and the smaller full of inhabitants that it dislikes. A sensible response would be for the agent to move to join the friendly group, rather than to decide to flee.

Adaptive
Behaviors

A future area of investigation concerning the agent behaviors is to allow the agents' feelings to adapt over time. Currently, agents' feelings are static, being pre-set for the world. We feel that a world where agents adapt their feelings over time, dependent upon how they perceive other inhabitants, would produce a more compelling environment. Users would notice differences within the world upon re-entry after a period of time away. The user would also be able to affect the way an agent feels about them. For example, a user's avatar could harass an agent that likes it (by getting in its way and following it closely), causing the agent to gradually dislike the avatar. Bumping into agents would be another way to increase their dislike.

Emergent
Behaviors

Agents can be members of a species. This allows for the development of emergent behaviors. Emergence occurs when, acting under local rules and local information, a collection of individuals appears to act as a centrally controlled group. Examples of emergent behaviors are abundant in nature. For example flocks of birds that appear to be acting under a single control as they collectively meander, or schools of fish that also appear to be guided along the same path.

Simple local rules are applied to agents when in the presence of other species members. An agent uses its visual and audio senses to determine the average direction, and the average speed, of other species agents within its vicinity. It then adjusts its own speed and direction to tend to make them closer to that of its observed values.

Agents of a species still retain their individual feelings towards other inhabitants. There are several parameters that govern the way in which the speed and direction adjustments required to move with the species are combined with those produced by the individuals own feelings (towards other inhabitants within its own visual and audio field). Currently, there are parameters to weight the combination, depending upon whether the creature is in a scared, attracted, or indifferent mode of behavior. Resultant species emergent behaviors have been observed, in the forms of group flocking, following and fleeing.

Other
Implementation
Details
Graphics Engine

The 3D graphics engine is designed to be both fast and flexible. One of its major requirements is to handle motion-captured animation, which is important for the impression of life within the world. It is our aim to instill a motion-captured performance into each inhabitant of the world. Various cameras will be available to a user viewing the world. Each inhabitant can be viewed from a first- or third- person perspective. There will also be free roaming cameras, allowing exploration of the world independent of a user avatar.

Network

We have developed a client-server model. The server deals with changes to the world geometry and movement of objects, sending updates of the world model to the clients. Clients render user-dependent views into the world, and receive user input.

An Assessment of
the State Of The Art
in Virtual Environments

The growth of the virtual environment, spurred by the proliferation of 3-dimensional graphics on the home computer, has accelerated in the past year or so. There are several levels of quality to these environments. Growing in tandem with the World Wide Web are the VRML environments. These worlds have the advantage of platform independence, freely available authoring tools, network capabilities, and a huge development team (just about anyone on the WWW can get involved in the language's evolution). The current edition, VRML 2, has some object manipulation capabilities, allowing a degree of dynamism and interactivity within the worlds. Examples of the types of environments achievable with VRML 2 are: Worlds Chat, Oz Virtual and Passport.

These worlds allow users to enter them as avatars (3-dimensional representations of themselves). Avatars can roam throughout the environment, engaging in conversations with other avatars, and, in Worlds Chat, even adding to the topology of the world with building constructions.

A separate, but also thriving sector of the virtual environment field is found in the computer and video game market. Recent computer games, such as Nintendo's Mario 64, ID's Quake, and Blizzard's Diablo, have pushed forward the entertainment value of the virtual environment. Games are generally written with customized C or C++ graphics engines, although in the case of the Nintendo 64, specialized graphics hardware is also utilized. The PC is currently following this trend, with several 3-dimensional graphics boards selling particularly well during the past year. In fact, the PC of 1998 is expected to come with a 3-dimensional graphics accelerator card as standard. Games also push forward the quality of the virtual environment experience. They produce environments that are full of life, exciting to explore, and are fast and smooth. Game players are almost at the stage where the graphics quality is so acceptable that they begin to believe in the validity of the environment, ignoring the computer graphics, and concentrating solely on the virtual experience.

At the foremost end of the virtual experience lie the environments created by high-end workstations, typified by SGI machines. Examples of these worlds can be found in the movie industry, where computers are often utilized to create graphical scenes within the movie. These scenes are always pre-rendered (meaning that they are not rendered in real-time, but collected over a longer time period), preventing any interactivity, and forcing all actions to be scripted in advance (which works fine for movies). High-level authoring tools, such as SGI's OpenInventor, SoftImage, and Kinetix's 3DStudio, are used to create the complex scenes. Real-time, interactive, complex worlds are available at this level via the military simulation, and it is these worlds that offer a glimpse of the power of 3-dimensional virtual environments, and will no doubt form the VRML and game worlds of the coming years.

Bibliography

The following provides a diverse collection of readings, web sites and demonstrations of the state of the art in virtual environments:

  • Worlds Chat
  • Oz Virtual
  • Passport
  • Earth to Avatars conference, San Francisco, 1996
  • Links to the VRML community
  • Artificial Intelligence Agents in Virtual Reality Worlds, Mark Watson. John Wiley and Sons, 1996.
  • Computer Game Developers' Conference Proceedings. Miller Freeman, 1997.
  • ACM SIGGRAPH (also, 23rd International ACM Conference on Computer Graphics & Interactive Techniques proceedings).
  • P. Maes. "Artificial Life meets Entertainment: Interacting with Lifelike Autonomous Agents." Special Issue on New Horizons of Commercial and Industrial AI, Vol. 38, No.11, pp. 108-114, Communications of the ACM, ACM Press, November 1995.
  • T. Koda and P. Maes, "Agents with Faces: The Effects of Personification of Agents", Proceedings of HCI'96, London, UK, August 1996.
  • P. Maes, T. Darrell, B. Blumberg, and S. Pentland, "The ALIVE System: Full-Body Interaction with Autonomous Agents," Proceedings of the Computer Animation '95 Conference, Geneva, Switzerland, pp. 11-18, IEEE Press, April 1995.
  • "The Lessons of Lucasfilm's Habitat". Cyberspace: First Steps, Michael Benedikt (ed.), 1990, MIT Press, Cambridge, Mass.