UCT CS Research Document Archive

A Simplied Game Engine for a Game Development Course

Weimar, Rolf (2014) A Simplied Game Engine for a Game Development Course. MSc, Department of Computer Science, University of Cape Town.

Full text available as:
PDF - Requires Adobe Acrobat Reader or other PDF viewer.


The Video Game industry is maturing. Success in the video game industry relies on many things, including marketing, sound business practises, and top notch technical implementation. Games Engines are software systems that facilitate game production. The growth of the game industry has increased the demand for programmers trained in game development technologies. A simplified game engine, designed specifically for the game development courses which service the supply of graduates for the industry, could have many advantages.

This dissertation analysed the requirements of such a system. We found that such a game engine would need to be extensible, reusable, modular, be easy to learn, and be open source. It would also need to at least include graphics, audio, networking and pathfinding components. Our analysis found that no game engine currently exists that fulfills all these requirements.

We designed and implemented a game engine to fulll all these requirements. Our game engine is built around a module framework, where each task of the game engine is handled by a module. This modular design allows us to easily change functionality by adding, removing or updating modules. All source code of the engine is available, thus any part of the engine can be changed if needed. Open source also means the engine is free for all to use. Game engines also need to be reusable so that in the industry the development costs of creating an engine can be amortised multiple projects, but also in a university context it means that time students can continue to use the system across multiple projects.

The system was tested by having students complete game development tasks using our game engine, ModEngine, and another comparable game engine. We used lines of code as a measure of code complexity and completion time as a measure of performance. We found that there is a statistically significant reduction in both the lines of code and the completion time of student's ModEngine assignments versus the comparison. Our p value (the probability that the data was due to chance alone) for lines of code is 9.662776 X 10^(-5) and for completion time is 0.018. Students were also given questionnaires to complete where they were asked about their experience using both engines. ModEngine was found to be easier to learn and was simpler to use; students can more easily explore game development concepts with ModEngine and can get started working with it much more easily.

EPrint Type:Electronic Thesis or Dissertation
Keywords:game engine, teaching, game development
Subjects:D Software: D.m MISCELLANEOUS
J Computer Applications: J.7 COMPUTERS IN OTHER SYSTEMS
ID Code:938
Deposited By:Marais, Patrick
Deposited On:26 June 2014