Spring 2008 Course Information


Announcements

Essentials

Class meetings: Tuesdays and Thursdays, from 03:00PM to 04:20PM, DH 1211
E-mail list: There is a class mailing list which will be used for announcements and discussion.
Course calendar: Schedule of class topics, assignments, readings, and due dates
Course mechanics: Administrative matters such as assignments and grading policy
Textbook: There is no official textbook for this class. We will be posting relevant texts along with the lectures.
Please also take a look at the Links section where you will find additional references if you need to brush up on some Graphics + OpenGL concepts.

Instructors

Who Email Phone
James Kuffner (412)268-8818
Raphael Mun (TA)
Srinivasan Vijayarangan (TA) (201)917-0814

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 Thurs 4:30-5:30pm (after class) or by appointment
Raphael (TA) Cluster (WeH 5336) Tue 4:30-5:30pm (after class) or by appointment
Srinivasan (TA) Cluster (WeH 5336) Mon 10:00-11:00am or by appointment

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.