Computer Game Programming

Course ID 15466

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

Required Background Knowledge
Familiar with the C++ language and have a basic understanding of the OpenGL API.

Course Relevance
Juniors, seniors, or precocious sophomores 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.

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

Learning Resources
course web page, example code

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

Extra Time Commitment
15-466 is for undergraduates. Graduate students should enroll in 15-666.

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