![]() | ||
![]() |
![]() |
![]() 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:
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:
|
![]() | ||
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:
|
![]() |