Department of Cognitive Science

Game Architecture

98338 COGS-4550-01

Tuesdays, Fridays 10:00AM - 11:50AM
Sage 2715

Instructor: Marc Destefano
Office: Sage 3118
Email: destem [at] the usual
Office Hours: Mondays 10-12

Book: Game Engine Architecture, 2nd edition, by Jason Gregory

Course Description: This is a class on the composition of game engines, some of the most complex software applications that exist. We will discuss many features common to game engines, such as collision detection, event management, and scene graph manipulations. The first two-thirds of the class will be primarily lecture-based, covering topics needed for all game engines. The last third of the class will be primarily project-based, with individuals or teams focusing on an aspect of game architecture that they would like to expand further

Learning Outcomes: Students will learn a more detailed understanding of the subsystems that comprise a game engine, and how they interrelate. Each student in the class with either create a minimalist game engine from scratch, or make a notable contribution to an existing open-souce game engine.

Course Policies

Preparation and Attendance: Attendance is a really good idea, since we'll be covering a lot of ground from disparate sources. You will, of course, need to be present for your final presentation.

Academic Honesty: Student relationships are built on mutual respect and trust. Students must be able to trust that their teachers have made responsible decisions about the structure and content of the course and that they are conscientiously making their best effort to help students learn. Teachers must be able to trust that students do their work conscientiously and honestly making their best effort to learn. Acts that violate this mutual respect and trust undermine the educational process. They counteract our very reason for being here at Rensselaer and will not be tolerated. Any student who engages in any form of academic dishonesty will receive an F in this course and will be reported to the Dean of Students for further disciplinary action. The Rensselaer Handbook defines various forms of Academic Dishonesty and procedures for responding to them. All of these forms are violations of trust between students and teachers. Please familiarize yourself with this portion of the handbook. In addition to the violations listed within the handbook, I also do not tolerate multiple submissions of the same assignment to different classes.

Gender-fair language: Because the way we speak and write affects the way we think, everyone in this course is expected to use gender-fair language in all discussions and writing. A guide to gender-fair language is available from the Writing Center and from the Library.

Grading: The first two-thirds of the course will feature several homework assignments, and the last third of the class will be devoted to your unique game architecture project. Late penalty is 10% per 24-hour period after the submission deadline, up to a maximum of 50%.

Percentage of Grade
Final Project

Class Schedule

Jan 26 Orientation
Jan 29 Points, Vectors
Feb 2 Matrices
Feb 5 Quaternions
Feb 9 Splines
Feb 12 Noise
Feb 19 Viewing
Feb 23 WebGL
Feb 26 Shaders
Mar 1 Lighting
Mar 4 Normal Mapping
Mar 8 Physically Based Rendering
Mar 11 Time / Numerical Methods
Mar 22 Collision Detection
Mar 25 Rigid Body Dynamics
Mar 29 Inverse Kinematics
Apr 1 Runtime Object Model Architectures
Apr 5 Design Patterns
Apr 8 Multiprocessor Game Loops
Apr 12 Gameplay Systems
Apr 15 Pitch
Apr 19 Open Studio
Apr 22 Open Studio
Apr 26 Open Studio
Apr 29 Open Studio
Apr 30 (Sat) GameFest
May 3 Open Studio
May 6 Final Presentations
May 10 Final Presentations


DevMaster Engine Database

Open Source Game Engines

Open Source Game Engine Subsystems


Class notes and homework assignments will be posted here. Homeworks are to be submitted via LMS

1/29 - Points and Vectors

2/1 - Matrices

Homework 2, due 2/9 Updated version

2/4 - Splines

2/9 - Quaternions

Homework 3 is posted to LMS

2/12 - Noise | Demo

2/19 - Viewing

Homework 4 (make this work)

2/23 - OpenGL

Homework 5 (load JSON mesh) - instructions in README.txt

2/26 - Shaders

3/1 - Lighting

Lighting demos

Homework 6 - extend the spotlight to have full Übershader functionality

3/4 - Funky Stuff


3/8 - Physically Based Rendering

Noteworthy GDC16 notes:

3/22 - Collision Detection | Quickhull Algorithm

3/25 - Rigid Body Dynamics

3/29 - Inverse Kinematics

4/1 - Foundation Gameplay Systems

4/5 - Time

4/8 - Multiprocessor Game Loops

Department of Cognitive Science
Rensselaer Polytechnic Institute
Carnegie 108
110 8th Street
Troy, NY 12180
Phone: (518) 276-6472
Fax: (518) 276-8268