Multi-User Virtual Environments

Thomas Funkhouser


Overview:

Multi-user virtual environment applications incorporate computer graphics, sound simulation, and networks to simulate the experience of real-time interaction between multiple users in a shared three-dimensional virtual world. Each user runs an interactive interface program on a ``client'' computer connected to a wide-area network. The interface program simulates the experience of immersion in a virtual environment by rendering images/sounds/etc. of the environment as perceived from the user's simulated viewpoint. Each user is represented in the shared virtual environment by an entity rendered on every other user's computer. Multi-user interaction is supported by matching user actions to entity updates (e.g., motion/sound generation) in the shared virtual environment.
Applications for multi-user virtual environment technology include distributed training, simulation, education, home shopping, virtual meetings, and multiplayer games. For example, consider a virtual city in which multiple users interact in real-time. As each user moves through the city, a graphical representation of that user is displayed moving on each other user's screen. When any user talks into a microphone, his/her voice is played with appropriate stereo control so as to appear to come from the position of the entity representing the speaker. Social interactions and commerce might be more compelling with a 3D virtual city interface incorporating both graphics and sound than with textual or 2D multimedia interfaces such as those employed by current chat programs and browsers for the world wide web.
We have developed network services that support multi-user virtual environments via a client-server design. The idea is to include multiple server computers that processing information, maintain storage, and manage communication for their clients. So far, servers have been implemented that perform message processing, interaction detection, and voice bridging. In the near future, we hope to build servers for persistent storage of updates in the virtual environment. Using our servers, we are able to support multi-user virtual environments that are more realistic, more scalable, more interactive, and more affordable than is possible with a peer-to-peer system design.


Related Publications: