SAGE: A Simple Academic Game Engine

SAGE: A Simple Academic Game Engine

Selection of a game engine is a major decision that can make or break a game programming class. While public domain game engines exist (including Vertigo's Quake II .NET, Unreal Technology's Unreal Engine, and Valve's Half Life 2 engine), they are typically large and complex. Students learning game programming in academia need an engine that is flexible, extensible, stable, and well-documented. Industry game engines are production code, code that is designed merely to work. An academic game engine should be written to be easy to understand and modify, especially to relatively inexperienced students. It should obey the educational principle "Proceed from the known into the unknown". SAGE is a game engine developed as a sequence of demos, each built on its predecessor, a process called incremental development. Incremental Development has been used by Ian Parberry in his game programming classes since 1993, and his 2000 and 2001 books on 2D game programming. SAGE brings this experience to a fully 3D game engine, based on an educational pedagogy that has a proven track record of placing students in the game industry.

SAGE consists of a series of game demos, each showcasing a new feature. The feature is demonstrated in rudimentary form, and leaves room for students to enhance it. The trick is getting it complex enough to convey the fundamental principles, yet simple enough for students to understand. Each demo is accompanied by Doxygen generated documentation, and a tutorial.

This project is funded by a grant from Microsoft Research under the Computer Game Production Curriculum 2004 RFP, (July 2005 - June 2006).


Created by Ian Parberry, September 29, 2005. Last updated April 14, 2009