Game Architecture
98013 COGS-4964-01
Mondays, Thursdays 10:00AM - 11:50AM
Sage 2510
Instructor: Marc Destefano
Office: Sage 3204
Email: destem [at] the usual
Office Hours: Mondays 1-3
Book: Game Engine Architecture, 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 half of the class will be primarily lecture-based, covering topics needed for all game engines. The second half 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 mandatory, and participation will be a factor of your grade. You will be constantly developing your contribution, which will require your presence, and the ability to work with other people. The number one skill game developers need is communication. You will be allowed one unexcused absence, any others must be excused with a letter from the Dean of Students Office.
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 half of the course will feature several homework assignments, and the second half of the class will be devoted to your unique game architecture project.
Factor |
Percentage of Grade |
Participation |
10% |
Homeworks |
60% |
Final Project |
30% |
Class Schedule
| Jan 23 | Orientation |
| Jan 26 | Points, Vectors |
| Jan 30 | Matrices |
| Feb 2 | Quaternions |
| Feb 6 | Rasterization |
| Feb 9 | Dev Environment |
| Feb 13 | VAOs and VBOs |
| Feb 16 | Vertex Shading |
| Feb 23 | Fragment Shading |
| Feb 27 | Skinning and Animation |
| Mar 1 | DQ Skinning |
| Mar 5 | Inverse Kinematics |
| Mar 8 | Time |
| Spring Break | |
| Mar 19 | Collision Detection |
| Mar 22 | Rigid Body Dynamics |
| Mar 26 | Event Management |
| Mar 29 | Runtime Object Models |
| Apr 2 | Pitch |
| Apr 5 | Open Studio |
| Apr 9 | ... |
| Apr 12 | |
| Apr 16 | |
| Apr 19 | |
| Apr 23 | |
| Apr 26 | |
| Apr 30 | |
| May 3 | |
| May 7 | Final Presentations |
Links
Open Source Game Engines
Open Source Game Engine Subsystems
Slides
1/23/12 – Orientation
1/26/12 – Points and Vectors
1/30/12 – Matrices
2/2/12 – Quaternions
2/6/12 – Viewing, get this code to run
2/13/12 – Intro to OpenGL (code)
2/16/12 – Vertex Shaders | cube code | textured cube code | morphing panda code
HW4:
3/5/12 – Funky Stuff | Procedural Texture | Gooch | Render to Texture | Normal Mapping (correct texture doesn't make it less weird!)
3/8/12 – Time
3/19/12 – Skinning and Forward Kinematics
HW6:
3/26/12 – Collision Detection | Barycentric Coordinates
3/29/12 – Inverse Kinematics | CCD Code | Hecker slides | Hecker audio
4/2/12 – Rigid Body Dynamics
4/12/12 – Gameplay Foundational Systems
Department of Cognitive Science
Rensselaer Polytechnic Institute
Carnegie 108
110 8th Street
Troy, NY 12180
Phone: (518) 276-6472
Fax: (518) 276-8268