Course Information

Spring 2004 Carnegie Mellon University - James Kuffner


See the final student project index!

Essentials

Class meetings: Tuesdays and Thursdays, 9:00-10:20, in Baker 136A
Class e-mail list: gamedev-list@lists.andrew.cmu.edu
Course calendar: Schedule of classes and related events, including topics, assignments, readings, and due dates
Course mechanics: Administrative matters such as assignments and grading policy
Textbook: Real-Time Rendering Thomas Akenine-Moller and Eric Haines

Instructors

Who Email Phone
James Kuffner (412)268-8818
Jim Bruce (TA) (412)268-3402
Ian Graham (TA)
Albert Reed (Adjunct Lecturer)

For non-private technical and general questions, please direct your mail to the class mailing list. Your question will be seen by all course staff and students and get answered more quickly this way. Plus, everyone will see the responses, saving other people from having to ask the same question!

Office Hours

Instructors will hold regularly scheduled office hours, in addition to spending time in the cluster to help with problems or answer questions.
Who Location Hours
James NSH 4228A 10:45-12:00 Thurs
Cluster (5336) 3:00-4:15 Tues
Al Cluster (5336) Various
Ian Cluster (5336) 2:30~3:30 Mon/Weds
Jim Cluster (5336) 5:30~7:30 Weds

Course description

This course will cover tools and techniques for programming interactive games and virtual reality simulations. The course will focus primarily on programming aspects, including event loops and execution threads, rendering and animation in 3D, terrain/background representation, polygonal models, texturing, collision detection and physically-based modeling, game AI, and multi-user games and networking. Although this course has a heavy programming focus, other topics briefly covered will include the history of computer/video game technology, game genres and design principles, and the social impact of games.

Objectives and Approach

The primary goal of this course is to equip students with practical knowledge about 3D game programming. The focus will not be on teaching all of the details of programming under specific platforms, but rather on providing both a high-level understanding and practical implementation experience of reusable algorithms and coding techniques that apply to the development of games across different platforms and genres. All programming will be done in C/C++ using open-source, cross-platform libraries such as OpenGL and GLUT. Students will design and program their own games or virtual reality simulations as part of their class projects. There will also be several smaller programming labs designed to provide students with experience implementing common components of game engines. Detailed information regarding assignments and grading can be found on the course administration page.
Page last updated on $Date: 2004/1/13 $.
Webmaster: