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 in-person. We will meet twice weekly, and the third lecture will be used for independent study. Learning will include a mix of recorded lectures, software development assignments, in-class exercises, and in-class research exercises. Office hours will be conducted live using Zoom.

Location

In-class lectures will be held in Ellis 319:

  • Mondays, 9:30-10:30 AM
  • Thursdays, 10:30-11:20 AM

There is no in-person lecture on Wednesdays. Independent study tasks will be assigned for this time. See OnQ for details.

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

Topics may include:

  • Game architecture
  • Game AI
  • Game physics
  • Game networking
  • Game audio
© 2021 Nicholas Graham