4 Games engines: a solution
Taking into account the issues outlined in the previous section, and since the digitisation of a sufficient number of the participating museum exhibits had already taken place, it was considered a good opportunity to investigate the feasibility of implementing a virtual reality museum with the use of 3D game technologies. Such an alternative would allow users to view and navigate in a virtual world, even in the location of their home, without noticeable compromise in the overall quality. Furthermore, the interaction style of game applications in nongame domains can be compelling, as suggested by Tsang et al. (2003). This solution to the need for affordable virtual reality is offered by the game software industry, which, during the past few years, has followed hardware evolution, and from simple sprite graphics (i.e. a small rectangle of pixels depicting a virtual character, usually in games) has come to offer colourful, crisp and life-like 3D graphics. Game technology has managed to develop systems that, on the one hand, exploit computers’ potential to the maximum and, on the other, offer the user a sophisticated, interactive environment with 3D graphics and, in some cases, immersion capabilities that can be enjoyed, even a moderate home computer. As Lewis and Jacobson (2002) point out:
‘‘While precise multimodal VE simulations such as those required for remote surgery will continue to demand custom solutions, for most VE applications a game engine can add value by performing 3D bookkeeping, providing networking and synchronization, or driving high-fidelity hardware accelerated graphics.’’
The idea of employing a game engine for non-game applications is not new. 3D game engines have found their way to a number of non-game applications, ranging from CAVE installations to simulating contextaware services. Freudenberg et al. (2001) describe a virtual reconstruction of the buildings discovered in an archaeological excavation, presented in a spherical projection chamber employing the real-time rendering capabilities of a game engine. Jacobson (2003) describes CaveUT, an extension to the Unreal Tournament game engine that allows the implementation of immersive large displays. Rhyne (2002) discusses applications of game engines for scientific visualisation, while Chao (2001) presents a novel interface for system administration, which is based on the Doom game engine. Cummins (2002) discusses applications of games in the e-commerce area, presenting arguments for designing
e-commerce interactive systems that install into games. Bylund and Espinoza (2001) present QuakeSim, a system based on Quake III Arena that is used to evaluate and demonstrate context-aware services. Finally, Cavazza et al. (2002) describe a system that is developed on top of the Unreal Tournament game engine and which implements interactive storytelling functionality. The 3D game engines offer a number of features that cannot easily be disregarded. From the user’s point of view, they offer a customisable environment that can be adapted to both their needs and, to a large degree, to their home computer specification, since most of the 3D games support a variety of peripherals, graphic cards and screen resolutions. From the developer’s point of view, these games offer a robust, well-tested environment that implements an efficient graphics engine. Some of these environments include their own development tools that can be used to extend or alter the system, while they also comprise of a number of pre-made functions and code, reducing the effort needed for the development of new games. Figures 1 and 2 illustrate two popular 3D games, namely, Unreal and Quake. Both systems offer a wealth of features typical for a game of this type. The user is able to navigate in a 3D environment, play either stand-alone or connect and compete with other players, to choose the avatar that will represent her in the environment and with which other users will identify her, to download new levels, avatars, etc. To this end, a small survey was carried out and the platform of Unreal Tournament was selected as the testing platform, as it offered functionality and advantages considered to be useful:
1. Extensible environment. The engine of the Unreal Tournament was highly extensible and configurable, allowing it to be tailored to the requirements of creating virtual exhibitions. 2. Small execution requirements. The Unreal Tournament engine runs smoothly on low-end PCs, equipped with a 233 MHz processor, 32 MB of RAM and a graphics card with 4 MB of RAM, presenting an adequate level of detail. For higher levels of detail and/or more complex virtual worlds, these require
Fig. 1 Screenshot from Quake