Computer Game Programming

Course ID 15666

Description The goal of this course is to acquaint students with the code required to turn ideas into games. This includes both runtime systems -- e.g., AI, sound, physics, rendering, and networking -- and the asset pipelines and creative tools that make it possible to author content that uses these systems. In the first part of the course, students will implement small games that focus on specific runtime systems, along with appropriate asset editors or exporters. In the second part, students will work in groups to build a larger, polished, open-ended game project. Students who have completed the course will have the skills required to extend -- or build from scratch -- a modern computer game. Students wishing to take this class should be familiar with the C++ language and have a basic understanding of the OpenGL API. If you meet these requirements but have not taken Computer Graphics (the formal prerequisite), please contact the instructor.

Key Topics
graphics, games, real-time, OpenGL, 3D math

Learning Resources
course web page, example code

Course Relevance
MS and PhD students who wish to understand how video games work, gain experience building open-ended graphics systems, or gain a lot of face-paced C++ programming experience. 15-666 is for graduates students. Undergraduates should enroll in 15-466.

Course Goals
Understand how to structure and implement the code and asset pipelines used to make a video game.

Pre-required Knowledge
Familiar with the C++ language and have a basic understanding of the OpenGL API.

Assessment Structure
Small Games (Homework): 40%, Participation 15%, Final Game (Project) 45%

Course Link
http://graphics.cs.cmu.edu/courses/15-466/