Introduction


CaveUT differs from most CAVE-like setups in a variety of ways, but the difference that is most significant to many people and institutions is cost. Even a very elaborate CaveUT setup costs a fraction of what standard CAVE setups do. This makes CaveUT affordable for individuals, small companies, and budget-strapped academic departments.

CaveUT costs so little to implement for these reasons:

There is no predictable fixed cost for installing a CaveUT setup, but a ballpark figure for a typical two-screen setup (using all-new components) is around $12,000 for a portable system utilizing laptops or around $10,000 for a permanent installation utilizing desktop computers. The system can easily be expanded, adding one screen to a portable arrangement for around $6,000 or adding one screen to a permanent arrangement for around $4,500. These prices assume that the builder is buying everything new--it is entirely possible to use borrowed or existing equipment!

Currently, CaveUT offers a (compelling!) monoscopic image and no head tracking, although stereo and tracking will be added. Compared to most software authoring environments used in CAVEs, it offers superior graphics quality and greater ease of content production and networked communication. Using a true game engine, as CaveUT does, is best for virtual worlds populated with pre-defined shapes, be they rigid or flexible. The only situation where it is not appropriate is for applications (e.g. scientific visualization) where shapes have to be generated on-the-fly from a data stream or some algorithm.

A detailed account of the costs and setup requirements for an implementation of CaveUT appears on the Physical Setup page.

How CaveUT Works


Typically, each player of a networked Unreal Tournament 2004 (UT2004) game has a standard desktop computer running Windows, Linux or MAC's OS-X. Each has a complete installation of the game, which we'll refer to as a client installation. Each client communicates over a LAN or through the Internent with the server installation, a process usually running on a desktops along with a client.

The server maintains the authoritative copy of the virtual world which all the players share. This allows the players to interact with each other -- they move and function within the exact same environment, though each player experiences it from his own perspective.

Each client maintains a complete copy of that world and all the things in it--including the figures representing each player. (These figures, referred to as "avatars," are usually, but not always, human.)

Every time a player takes an action, the environment's creatures and avatars, in the client copy of the virtual world, respond appropriately. As often a possible, each client tells the server what has changed as consequences of its player's actions. The server reconciles the actions of all the players and issues an authoritative update to all clients, so they all change their copies of the world to reflect the new state of things. The process is remarkably seamless if the network will allow these updates to happen frequently enough.

This arrangement has a lot of virtues. It allows for graceful and robust recovery from unexpected network delays. It also uses the minimum bandwidth possible, because the server and clients need only exchange updates, not models or imagery.

How Spectator Mode and Open Source Make CaveUT Possible

While the rendering engine for UT2004 is proprietary, everything else in the game's software is open source. This allows a large community of fans, programmers and even some scientists to make changes and distribute them freely, as with CaveUT. UT2004 and its modifications are available free to the public for most non-commercial purposes, while Epic Games retains the sole right to make money from their use.

Rather than showing up with an active avatar in the game, a player can act as a spectator instead. Using the UT2004 software's "behind view" option, the spectator player can see through the eyes of any other player in the game. In each of the installations depicted, here, there is only one regular player at a time.

In the two-screen example showed at CHI 2002 (shown to the right), and with the five-screen Earth Theater, all the views are front-projected. In the four-screen BNAVE, the three vertical walls are rear-projected and the one floor screen is front-projected from overhead.

For simplicity's sake, this documentation will use the following terms with the following definitions: The player is the person who controls the character or avatar moving within the virtual world. The operator is the person who controls the CaveUT computer setup (and may or may not be the same person as the player). The console is the computer from which the operator controls CaveUT.

Each desktop computers showing a spectator view is connected to a digital projector, which projects the view onto one wall.

CaveUT is a set of modifications to UT's open-source game code which changes the view rotation and perspective correction of a spectator's view.

In the simplest possible implementation, a CaveUT setup is two-walled, using the corner of a room as its projection surface.

In the UT2004 software one spectator's view is hacked to look 45 degrees to the right, rather than straight ahead, rather than the straight-ahead view the console shows. That image is projected on the screen on to the right of the optimal viewing point. The other spectator's view is turned 45 degrees to the left and shown on the wall to the viewer's left. The perspective correction is changed on each screen to be account for the established viewing point.

This provides a single, contiguous image to the viewer. It is immersive because the perspective correction is approximately the same as if the virtual world were real the viewer were seeing it from that location.

As the operator navigates through the virtual world, the view on the two screens change in lockstep. Using a typical LAN, the client-server updates can be so quick that there is no latency between the screens. The game provides nearly thirty frames per second, which is identical to the refresh rate utilized by commercial television. There is no need to explicitly synchronize the screen updates when they update so quickly.

Getting Creative

As you might expect, a CaveUT setup can have many screens. Currently, UT2004 has a limit of 32 players allowed in any one game, so it is possible to implement a 31-screen display.

The screens can be oriented in almost any arbitrary orientation and distance to the player. The screens don't even have to show the same view! For example, you could build an airplane or even mini-submarine cockpit simulator with a separate CaveUT view for each viewport or window. For a driving simulator, you could simulate a rear-view mirror with a very small CaveUT screen.

It's even possible to have multiple CaveUT instances running in the same world environment in a fashion similar to several players participating in a game of Unreal Tournament. The total number of servers and clients, regardless of how they are divided among CaveUT instances, count against Unreal Tournament's 32-player limit.

To do this, you would one computer on your network hosting a game; it would connect more than one CaveUT setup. If a specific CaveUT setup had four spectator/clients focused on one operator console, this would use up five players against Unreal Tournament's limit of 32. Six such setups would account for 30 players of UT's 32-player limit, and so six different players could interact in the same game environment while experiencing it through an immersive CaveUT interface.

Last updated January 16, 2004.
URL: http://www.planetjeff.net/ut/CUT4Intro2.html
This page is copyright © 2004 by Jeffrey Jacobson.
See this web site's copyright notice for information
on duplicating or distributing this page or its contents.