Complex digital games are typically constructed using components that support graphics rendering, sound, physics, AI, networking, and possibly additional genre-specific components. Using an existing game engine, students will learn the components and algorithms typically used in game development, how they are implemented, and how the components interact. Assignments will involve implementing interesting game development algorithms within the concept of demonstration games.

This course will teach students the fundamentals of game development. The course will review the significant components underlying game development, the algorithms used to implement these components, and how the components interact. Following the course, students will be capable of understanding the design of complex games.

The course is taught remotely, involving a mix of collaborative readings, recorded lectrues, software development assignments, and exercises. Office hours will be conducted live using Zoom.

Course Organization

All course materials are available on OnQ, Queen's University's Learning Management System. You must be registered in the course to be able to access these materials.

If you wish to take the course but have not yet registered, or if you have registered but do not see the course materials in OnQ, please contact the instructor.


Topics may include:

  • Game architecture
  • AI engines
  • Physics engines
  • Game networking
  • Game audio
© 2020 Nicholas Graham