JISC 3D Visualisation in the Arts Network
3DVisA Bulletin, Issue 3, September 2007
ISSN 1751-8962 (Print)
ISSN 1751-8970 (Online)
FEATURED 3D METHOD:
3D VISUALISATION USING GAME PLATFORMS
by Maria Sifniotis, University of Sussex, UK.
Keywords: computer games, game engine, 3D visualisation.
This paper is intended as an overview of 3D visualisation through game engines. The underlying technology is explained, and a brief history of computer games and their
technological advances is given. The author also examines research cases where games-based visualisation is used, in the fields of education, training, art, architecture and
archaeology. The advances of games engines as platforms for visualisation are presented, and finally two popular and low– to zero-cost game engines are described.
Game Engine Basics
At a simple level, a video game is a collection of objects and processes that constitute the virtual environment experienced by a player. It involves interaction between the
user and a gaming interface. This interaction most commonly generates visual feedback usually displayed through a monitor or other video device. Feedback can also be received
through sound reproduction (speakers) or haptic devices (through special hand-held controllers). Player input is given by various control types such as joystick, mouse, keyboard,
and combinations of these. Gameplay often takes place inside a level, an environment containing objects and actors. Nowadays, games are mostly divided in PC- and console-games.
The former are played through a personal computer connected to a monitor, while the latter require a game console, a specialised electronic device connected to a TV set.
Fig. 1. Game engine diagram.
A game engine is software which makes up the core of a computer game. It handles rendering (2D or 3D), physics, AI, collision, and other aspects of game mechanics.
Fig. 1 illustrates the components of a generic game and its engine. The embedded box shows examples for two well-known games:
Unreal1 and FarCry2. The playable world (1) is the scenario, or level, within which the player interacts with the game. Levels can also be created by users and easily imported in the game. The script (2) offers further means of game customisation to the advanced users. Scripting is a form of programming language that allows the user to further customise the game by adding new behaviours to actors, animations, physic reactions, etc. The game engine (3) co-ordinates the physics, graphics rendering and other elements in order to present a rendered view of the world to the player. In some games, networking is provided (5) allowing for a multi-user experience of the same game level. The graphics drivers (4) interpret commands of the graphics engine to the specific graphics card hardware by using libraries such as OpenGL. This whole software interacts with the user’s operating system (6).
Game engines should be distinguished from graphics engines that come only with rendering capabilities. They should also be distinguished from middleware Software Developer Kits
(SDKs) that aid game development. While the former usually have limitations as to what and how things can be included in a game, the latter are much more flexible but with
a narrower focus. For example, Gamebryo3 is a very flexible proprietary renderer but has no collision or physics capabilities, unlike
Havoc4 which is solely a physics engine. Similar middleware include Criterion’s Renderware5
The increase in popularity of computer games in the mid-1990s led developers to license part of the code and add their own content, rather than develop games from scratch. As a result, a clear divide began to appear between the game content and the game mechanics. It is now common for companies to license an engine for thousands of pounds in order to develop software based on it.
Engines usually feature level-building tools that allow to quickly create playable areas for a game. Additionally most engines contain scripting capabilities; a high-level
engine-specific language which allows for a wide range of modifications and customisations to the game. Computer games usually reflect advances in computer graphics. One can
separate the advances in game engines in six distinct periods which coincide with the developments made in the field of computer graphics. Fig. 2 illustrates games from the periods.
1. Early engines (1974-1990):
These are characterised by simple wireframe representations (many using vector graphics) of objects and stationary player views. Slowly,
representations advanced to flat shaded objects with raster graphics. Asteroids (Fig. 2A) by Taito7and Space Invaders (Fig. 2B) by Atari8 are representatives of vector and raster games respectively.
2. The first 3D worlds (1990-1995):
Software rendering moved gaming from wireframe to planar worlds and textures. Planar worlds, divided in grid sections were populated with sprites (billboarded animations). The camera view remains stationary. Doom (Fig. 2C) and Doom II from ID Software9 are classics among the specific representation.
3. 3D models (1996-1999):
Coinciding with the first advantages in 3D acceleration, breakthrough was made when games such as Duke Nukem by Apogee and Quake 10 (Fig. 2D)rendered true 3D worlds with geometry. They populated levels with simple textured 3D polygonal objects, in place of sprites. Freeview – 360 degree rotation around the player becomes possible.
4. Advanced effects (2000-2003):
Once more, advantages in graphics hardware brought increasing realism in games. Designers had the ability to add a variety of new effects such as particles, fog, lighting,
smoke, as well as more refined texture and polygon details. Gameplay areas become larger with increased outdoor environments, user-manipulated objects (i.e. vehicles), and
physics. Such games are Unreal II (Fig. 2E), Grand Theft Auto 3 of Rockstar games.11
5. The quest for photo-realism (2004-2007):
New hardware accelerators give new games the ability for pixel and vertex shading, bump mapping, lighting and shadows. Half-Life 212 (Fig. 2F) and
Doom 313 are representatives of such games. The implementation of DirectX 10 has pushed forward photo-realistic representations, illustrated in
the newest and unreleased games such as Alan Wake14 (Fig. 2G) and Age of Conan15 (Fig. 2H).
6. The future:
The timeline summarised above reflects that advances in computer graphics, and subsequently in games, move faster. The ground is already set for shader-based
materials with physics capabilities, whole environments including procedural shaders, interactive levels, etc. Experts in the field estimate that by 2010 a game would be able to
render real-time a realistic-looking video of an environment.16
Fig. 2. Examples of advances in game technology. Reproduced with kind permission. Fig. 2E Copyright © 1998-2007. Epic Games, Inc. All Rights Reserved. Epic, Epic Games, Unreal, Unreal II and Unreal Editor are Trademarks or
Registered Trademarks of Epic Games, Inc.
Advantages of Game Engines
1. Low cost development:
In order to create a playable environment for a game and to use a Game Development Kit (GDK) a minimal investment is required. Many game companies also offer free software for academic and simulation use. Additionally, there exist open source engines available for free.
2. Scripting and Avatar AI:
Most GDKs offer their own scripting language with which content building users can create scripts to communicate with the engine. Through this way it allows a great range of customisation, extended also to scripting effects (collisions, explosions), avatar paths (follow/ random movement), etc. No expertise in programming is required to learn a game scripting language.
3. Lighting and weather effects:
Game engines offer advanced lighting effects, able to emulate static and dynamic lights, environmental options (self-illumination or sunshine). Weather effects can include real-time fog, shadows, rain, etc.
4. Shader technology:
The majority of the newest game engines fully support vertex and pixel shader technology. With shaders it is possible to interactively manipulate object vertices and textures, as well as introduce effects such as per-pixel lighting, non photorealistic rendering, smoke, etc. As an example, texture layers on an object can be blended and manipulated in real time.
5. Terrain manipulation:
Although they are not able to perform to the extent of sophisticated
GIS software, terrain engines of game engines have substantial abilities. Extensive landscapes can be displayed accurately detailed along with realistic textures and foliage effects.
6. Networking and Collaboration:
Most game engines support networking capabilities suited specifically for cooperative playing among many players, in-game communication and robust connectivity. As a result, players could cooperate in exploring an area, or exchange opinions on certain aspects of a reconstruction while being located in different areas of the world.
7. Overall Robustness:
The best game engines have been actually used to create numerous games which are play-tested by thousands of people, and are thus updated very often and can thus be said to be quite robust. As a result, the system to be used will have been tested by many people before in different circumstances and computer systems.
Game engines in Research
The use of game engines and game mechanics as a medium for three-dimensional representations is a relatively new direction for archaeology, but not for other disciplines.
Their application in scientific modelling17, simulations and primarily education18
19, has been well documented, having reached a point where national organisations, such as the British Educational Communication and
Technology Agency (BECTA), actively research the potential of computer games in school education.20
Further work in other areas includes the concept of 'serious games' – where game technology is used in non-entertainment scenarios. A successful example is the game America’s Army;
it has been used for training US soldiers for actual rifle range tests21.
Architectural applications have also been around for many years, finding in game editing a way to quickly visualise buildings
and prospective constructions with a low cost approach. A number of projects use the Unreal Engine for architectural scenarios to: promote estate buildings22;
exhibit a protected natural park and raise ecological awareness23; or navigate through a virtual office24.
Researchers at the University of Auckland, New Zealand, use the Torque25 game engine to create a Collaborative Virtual Environment (CVE) to support
architectural education.26 Through the CVE users can interact and share data in a common environment and concurrently explore shared architectural projects.
Jeffrey Jacobson27 has created a set of modifications for the Unreal engine which allows visualisation in a customised CAVE environment incorporating multi-screen displays.
These customisations make the creation of a low-cost CAVE possible thus enabling VR applications that would require an immersive setting to also use the extensive features of a game engine.
The Notre Dame Cathedral project (2000), funded by UNESCO and based on the Unreal 2.0 engine, showed first how a complex historical architectural structure could be imported into a game
engine. Working together with French historians, the authors28 created the architectural pieces and incorporated textures from the actual site.
The game was completed by adding a virtual monk, a guide to the church, controlled by the game’s customisable AI.
Erik Champion explores the notion of cultural presence in a virtual world by using aspects of gaming in his research.29 He investigates
how a cultural heritage virtual scenario can evoke a sense of belonging to its users, by focusing on an ancient Mayan site at Palenque, Mexico. This is achieved by combining elements as
storytelling, maps, dynamic environments and user tasks. Users were divided to interact with the environment in three distinct ways: as observers, inquiring travellers or active
participants. In the first case, users locate objects and retrieve information; in the second they are assisted or guided by in-game avatars; in the third they are in charge of
manipulating/interacting with the world in order to discover. Preliminary results indicated that the environment played a stronger role in the sense of presence, rather than the
inclusion of an interaction mode.
The AERIA project (2003)30 attempted to create archaeological reconstructions without the use of expensive CAD software. The authors
used the Quake 2, HalfLife and Morrorwind31 engines to reconstruct the palace of Nestor in Pylos and the throne of Apollo, respectively.
They recognise that game engines have come 'of age' and offer a low cost but powerful tool for heritage visualisation.
A similar approach is followed by Anderson32 who further suggests that the game industry will keep investing in its own technology, thus
keeping it updated also for heritage use. He used the Quake 3 engine to recreate a Pompeian house from archaeological plans. Limitations that were encountered include the inability to
access the game engine’s source code, Quake’s strict CSG modelling approach, and the inaccuracy of the game units. The Quake engine is also used by researchers from the University of Aizu,
Japan.33 They have modelled a Japanese temple which can be explored by the player, and added custom code to the engine in order to support human animation, basic physics, etc.
This section examines two state-of-the-art game engines and GDKs that are available for non-profit projects such as education and research.
Unreal Runtime Demo version
Epic Games, the creators of the Unreal series of games, announced in the end of 2004 the availability of Unreal Runtime Demo (URD). URD is available free of charge for educational/research
purposes that do not scope to profitable purposes. The runtime features all the capabilities of the Unreal 2 engine; however, it is to be used as a black box. The developer is not allowed
to change any parts of the engine, because its source code is not accessible. He is able to interface with it in a variety of ways by using its scripting language known as UnrealScript.
This language is very similar to Java, and allows the user to program game logic and change avatar behaviour and AI, visuals (particles, effects), etc. Table 1 illustrates the features of
the Unreal engine, while Fig. 3 is a screenshot from the URD.
Fig. 3. Screenshot from the Unreal Runtime Demo. Copyright © 1998-2007. Epic Games, Inc. All Rights Reserved. Epic, Epic Games, Unreal, Unreal II and Unreal Editor are Trademarks or Registered Trademarks of Epic Games, Inc.
|Table 1: Unreal Runtime Demo Features (adapted from DevMaster34)
||Object-Oriented Design, Plug-in Architecture, Save/Load System.
||Built-in UnrealScript enabling non-programmer translation.
||UnrealEd is a real-time level design tool based on constructive solid geometry, optimized through its use in multiple released games for building real-time 3D environments. It fully integrated into the Unreal engine: the camera views are What You See Is What You Get. All lighting, texture placement and geometry operations take place immediately;
Built-in UnrealScript profiling, as well as comprehensive game, engine and networking performance counters;
Separate UnrealScript debugging application eases testing of complicated scripts, including breakpoints, variable watches and more.
|| Basic Physics, Collision Detection, Rigid Body, Vehicle Physics.
||Basic, Multi-texturing, Projected.
||General, BSP, Portals, Occlusion Culling, PVS, LOD.
||Keyframe Animation, Skeletal Animation, Animation Blending.
||Mesh Loading, Skinning.
||Lens Flares, Billboarding, Particle System, Sky, Water, Explosion, Decals, Fog, Mirror.
|Sound and Video
||2D Sound, 3D Sound.
||Pathfinding, Decision Making, Finite State Machines, Scripted.
Blender Game Engine
The Blender Game Engine (BGE) comes together with the popular open-source 3D modeller, Blender. BGE is a free, open-source game engine, allowing its use for all commercial and non-commercial projects.
Use of the 3D modeller and the game engine is intertwined, so while one is modelling, he can directly access the game engine to add/remove behaviours to the scene. Additionally, the game can be
exported as a stand-alone piece of software. BGE includes scripting support for its game logic by using Python script, and physics support. The advantage of BGE is that it does not need any compiling,
or pre-processing. Fig. 4 illustrates work by Blender, while Table 2 shows some features of BGE.
Fig. 4. Screenshot from a test game developed with the Blender engine by Mike Pan.35 © Mike Pan. Reproduced with kind permission.
|Table 2: Blender game Engine Features (adapted from DevMaster36)
||Plug-in Architecture, Save/Load System.
||Python scripting API for sophisticated control and AI, fully defined advanced game logic.
||Non-overlapping and non-blocking UI delivers unsurpassed workflow;
Flexible and fully configurable window layout with as many screen setups as you prefer;
Powerful built-in database system allowing instances, scene management, and dynamic linking multiple project files;
Anti-aliased fonts with international translation support;
Windows for animation curves/keys, outliner, schematic scene diagram, non-linear video sequence editing, character animation action editor, non-linear animation mixer, image/UV editing, file/image selection and file management;
Built-in text editor for annotations and editing Python scripts.
||Basic Physics, Collision Detection, Rigid Body, Vehicle Physics.
||Basic, Multi-texturing, Bumpmapping.
||Inverse Kinematics, Keyframe Animation.
||Non-linear animation mixer with automated walkcycles along paths.
||A range of 3D object types including polygon meshes, NURBS surfaces, bezier and B-spline curves.
||Environment Mapping, Particle System, Sky, Water, Fog.
|Sound and Video
||2D Sound, 3D Sound.
||Fixed-function, Fonts, GUI.
Conclusion and Further Information
This overview of visualisation used in games examined the workings of a game engine; games advancement in parallel with computer graphics research; games as research tools and two
case studies. The engines available are too many to mention, and one can find them in the Devmaster 3D Engines database.
Useful Websites and Information
Games and Education
The Education Arcade
Games in Education Report
Games in Scientific Research
Game Engines in Scientific Research, Communications of the ACM, Volume 45 , Issue 1 (January 2002)
Game Engines (general)
Game Engine Anatomy 101
3D engines database
Case Studies Game Engines
Unreal runtime demo for non-commercial purposes;
NB. All URLs last accessed on 1st July 2007.
1. Unreal homepage.
2. Farcry homepage.
3. Gamebryo homepage.
4. Havoc Physics homepage.
5. Criterion Renderware.
7. Taito Entertainment.
8. Atari Inc.
9. ID Software.
10. Apogee (now 3D realms) and ID Software.
11. Rockstar Games.
13. Doom 3 homepage.
14. Alan Wake homepage.
15. Age of Conan.
16. J. Carmack. Talk at GDC2004.
17. Adobbati, R., Marshall, A. N., Scholer, A., Tejada, S., Kaminka, G. A., Schaffer, S. et al. (2001), 'Gamebots: A 3D Virtual World
Test-Bed for Multi-Agent Research', Proceedings of the Second International Workshop on Infrastructure for Agents, MAS and Scalable MAS.
18. Amory, A., Naicker, K., Vincent, J., and Adams, C. (1999), 'The Use of Computer Games as an Educational Tool: Identification of
Appropriate Game Types and Game Elements', British Journal of Educational Technology, Vol. 30, No. 4, pp. 311–321.
19. Clarke-Wilson, S. (1998), 'Applying game design to virtual environments', Digital Illusion: Entertaining the Future with High Technology, New York, NY, USA:
ACM Press/Addison-Wesley Publishing Co. pp. 229-239.
21. Zyda, M. (2005), From Visual Simulation to Virtual Reality to Games, Computer, Vol. 38, Issue 9, September, pp. 25-32.
22. Miliano, V. (1999), 'Unrealty: Application of a 3D Game Engine to Enhance the Design, Visualisation and Presentation of Commercial Real
Estate', Proceedings of VSMM'99 5th International Conference on Virtual Systems and Multimedia, Dundee, Scotland, U.K, September.
23. DeLeon, V. and Berry, R. (1998), 'Virtual Florida Everglades', Proceedings of VSMM Virtual Systems and Multimedia.
24. Shiratuddin, M. and Thabet, W. (2002), 'Virtual Office Walkthrough Using a 3D Game Engine', International Journal of Design Computing,
Vol. 4, pp. 1329-7147.
25. Torque Game Engine.
26. Moloney, J. and Amor, R. (2003), 'StringCVE: Advances in a Game Engine-based Collaborative Virtual Environment for Architectural Design',
Proceedings of CONVR 2003 Conference on Construction Applications of Virtual Reality, Blacksburg, USA, September.
27. Jacobson, J. and Lewis, M. (2005), 'Game Engine Virtual Reality with CAVEUT', Computer, Vol. 38, pp. 79-82.
28. DeLeon, V. and Berry, R. (2000), 'Bringing VR to the Desktop: Are You Game?', IEEE Multimedia, Vol. 7, No. 2, pp. 68–72, Apr-Jun.
29. Champion, E. (2002). 'Cultural Engagement in Virtual Heritage Environments with Inbuilt Interactive Evaluation Mechanisms',
Proceedings of Presence.
30. Meister, M. and Boss, M. (2003), 'On Using State of the Art Computer Games Engines to Visualize Archaeological Structures in Interactive
Teaching and Research', Proceedings of CAA Computer Applications in Archaeology.
31. Morrowind homepage
32. Anderson, M. (2003), 'Computer Games and Archaeological Reconstruction: The low cost VR', Proceedings of CAA Computer Applications in Archaeology.
33. Calef, C., Vilbrandt ,C., Goodwin, J., (2002), 'Making it Realtime: Exploring the Use of Optimized Realtime Environments for Historical
Simulation and Education', Proceedings of the International Conference on Museums and the Web, Bearman, D. (ed.).
34. DevMaster 3D engines list.
35. Mike Pan’s homepage and Blender games.
36. DevMaster 3D engines list.
© 3DVisA and Maria Sifniotis, 2007.
Back to contents