Complex digital games are typically constructed using a game engine, a collection of components aiding with the core elements found in modern games. These components typically include a graphics rendering engine, a sound engine, a physics engine, AI tools, a networking library, and possibly additional genre-specific components. Using an existing game engine, students will learn the components typically making up a game engine, how they are implemented, and how the components interact. Assignments will involve implementing the functionality of parts of a game engine.

This course will teach students the fundamentals of game engine design and development. The course will review the significant components of game engines, how they are implemented, and how they interact. Following the course, students will be capable of understanding the design of a game engine, and extending its functionality.

The course is taught in a blended style mixing traditional lecture with significant in-class exercises to apply the lecture material.

Where and When

  • Mondays, 4:30-5:30, Ellis 319
  • Wednesdays, 3:30-4:30, Ellis 319
  • Fridays, 2:30-3:30, Ellis 319

Office Hours

Tuesdays and Thursdays, 1:00 PM, in Goodwin 629, or by appointment


Please check OnQ regularly for course information.


Topics may include:

  • Gaming engine architecture
  • AI engines
  • Physics engines
  • Game networking
  • Game audio
© 2017 Nicholas Graham