Document Type


Date of Award

Summer 8-31-2009

Degree Name

Master of Science in Computer Science - (M.S.)


Computer Science

First Advisor

James A. McHugh

Second Advisor

Andrew Sohn

Third Advisor

Michael Allen Baltrush


Game development is an ever growing interdisciplinary field. A variety of different skill sets need to come together to create a professional game. These range from art, audio and design through programming and development. It is difficult to isolate the different disciplines in game development since every aspect of the game is co-dependent on everything else. Even in the programming domain there are a number of sub-disciplines that a game can require such as physics programming, environmental programming, artificial intelligence and programming the core game engine, A game can even be developed in a number of different ways depending on the design of the final product.

This daunting array of required disciplines makes it difficult to offer effective instruction in game development, The tendency is to divide the disciplines according to traditional academic categories. This leads to offering courses on game development that are too narrowly focused to lead to any functional games or to courses that are purely theoretical, This thesis attempts to outline the development of a generic game engine and show how it can be implemented with minimal skills, beyond those in programming. It is intended to serve as a foundation for developers who will specialize in a particular area, but will nonetheless need to understand what a game engine is and how programmers in different fields can work with it.