These ideas are being developed in a prototype system named GULLIVR -Graphical User Learning Landscapes In VR. Specifically GULLIVR allows multiple participants to share in the exploration of a virtual space, interact with each other, and perform simple tasks. A simple agent architecture based on a frame system, is being developed to support the actions and personalities of the characters. For the purposes of our current user testing, the simpler agents are controlled by the computer, while the more intelligent agents are controlled by members of our group.
GULLIVR is an outgrowth of CALVIN (Collaborative Architectural Layout Via Immersive Navigation) [Leigh et al, 1996a, Leigh et al, 1996b, Leigh et al, 1995], a networked collaborative environment for designing architectural spaces. GULLIVR provides the underlying architecture to support constructionism and allow collaboration. It is designed to run in the CAVE[Cruz-Neira et al, 1993] virtual environment. The CAVE is a 10 foot by 10 foot by 10 foot room constructed of three translucent walls. Stereoscopic images are projected onto the walls and floor (fig. 1).
A participant entering the CAVE dons a pair of LCD shutter glasses to mediate the stereoscopic imagery. A magnetic tracker, attached to the glasses relays the position and orientation of the user's head to the computer. The user interacts with the virtual environment using `the wand', a simple tracked input device containing a joystick and 3 buttons. The CAVE's room-sized structure allows for multiple users to move around freely, both physically and virtually surrounded by vivid displays. It is much like being in a theater with the difference that, unlike a traditional theater, the viewer is on the stage as opposed to just observing the stage as audience. However, only one person is being tracked in each CAVE, thus reducing the participation of all the children in the same CAVE at one time. One child can set the viewpoint, another child may handle the wand to pick and place objects, while the other children can observe and give their verbal input. We have observed that this has not decreased the feeling of presence and immersion of the participants that are not tracked and the children may exchange roles at any time.
The core of GULLIVR is the CAVE library. On top of this GULLIVR uses SGI Performer and Open GL to render the virtual environment. Although GULLIVR was originally conceived for the CAVE, the CAVE library is capable of supporting a number of different VR platforms including the Immersadesk virtual reality table, a BOOM, fish-tank VR systems, and simple graphics workstations. GULLIVR's network component allows multiple networked participants to explore the same virtual space. Multiple distributed GULLIVRs running on separate VR systems are connected via a centralized database server that guarantees consistency across all the separate environments. The communications library supporting GULLIVR is based on a client-server model where the number of remote clients is limited only by bandwidth and latency.
The wand is the physical interface to the virtual world. It is used to navigate around the virtual world, and to manipulate virtual objects within that world. The user can move around within the confines of the CAVE, walking around or through virtual objects, and can press the joystick on the wand to move the CAVE through the virtual environment. GULLIVR provides the option of flying over the world, or adjusting the floor of the CAVE to coincide with the height of the landscape, thus allowing the user to climb over terrain or ascend and descend stairs, by physically walking in the CAVE. Every element of the scene in GULLIVR is treated as an object. Hence, every object serves as a building block for the construction of other objects. The child can pick up objects in the virtual environment by using the wand as an extension of her hand. She moves the wand over to an object and clicks a button on the wand to pick it up. She can then move the object to an appropriate place and let it go.