Here are a few sections from my technical report. All LARSS reports are to be published within the year.
Investigating the applicability and feasibility of using game engines for scientific visualization is the purpose of this research. In this work a definition of a game engine is given followed by a discussion of the advantages and disadvantages of a game engine in scientific visualization. In order to gain a better understanding of game engines and to demonstrate functionality a modification of Unreal Tournament 2004 (UT2004) was created and documented. Examples of game engines in research are given. Internet forums, published articles, books, colleagues, and videos proved to be indispensable sources of information and are referenced along with a list of game engines and articles for further reading.
According to the Entertainment Software Association, U.S. entertainment software sales reached 7 billion dollars in 2003. Surpassing the movie industry in sales, the software entertainment industry continues to grow. As the industry grows computer games become more visually pleasing, more engaging, and more complex. Today, huge investments of time and money are required to design and implement a competitive computer game. In order to earn profit developers must reuse code. Consequently, modern games are comprised of modular components that can be reused. At the heart of such a game is the core group of reusable code called the game engine. This collection of software libraries and modules provides the low level functions that games are built on.
Generously funded researchers using high-end graphics workstations running professional-grade software have traditionally done all the scientific visualization research. Today, the most realistic and sophisticated graphics simulations can be done inexpensively using PCs with game software. There are many advantages to using a game engine. They have features not found in typical rendering packages such as networking, sound, and interactivity. In addition, game engines are manipulated at a high level, which decreases development time for applications using the engine. This means that simple applications can be created quicker with a game engine than with a professional package. Game engines do have limitations, but many can be overcome.
Research game engines and determine the applicability of game engines to scientific visualization. Compose a report of findings. Design / modify an interface to a game engine demonstrating scientific functionality.
My research began by searching the Internet for information on game engines in general. Once I had some information to get started I began comparing the various game engines available. I kept a document of notes and began writing my report. I would continue to add to and revise the report until the conclusion of the research. I skimmed a book on 3D game engine design since it provided some background information on the game graphics pipeline and on game engines in general. After deciding to use the Unreal engine I focused my research on it. I posted questions on Internet forums, read various articles, emailed the developers at Epic Games, utilized the Unreal Developer Network, and watched the 3D Buzz Video Training Modules. I obtained the retail version of UT2004 about half way through my 10-week research. Shortly after obtaining the retail version I downloaded the Runtime version, which is a demonstration version that acts as an addition reference. I downloaded the source code for UT2004 and used it as my primary reference to create my modification to the game. Throughout my internship at NASA I was also able to gain insight from the numerous researchers who have worked with 3D simulations.
Game engines are designed for maximum performance. Like any real-time rendering system, game engines must sacrifice geometric detail to maintain a reasonable frame rate. Game engines are designed to be visually pleasing and interactive in nature. Using a game engine as opposed to professional rendering software can reduce development costs. For these reasons and more, game engines are well suited for simulations and presentations.
My research has allowed me to generate three things: a simulation of the mars surface, a modification to UT2004, and a technical report detailing the entire research effort. The simulation is simply a map that can be loaded into the UT2004 game engine for viewing. It was created using topographical data from the Mars Orbiter Laser Altimeter (MOLA) on the Mars Global Surveyor (MGS). The surface images were created from various data including data obtained by the Mars Viking. The modification to UT2004 allows the mars map to be displayed without any weapons, blood, and violence. The modified game menus contain only the options necessary to change display, input, and audio settings and load maps specified as Scientific Visualization maps.