ETH Zurich - D-INFK - IVC - CGL - Teaching - Former Courses

Game Programming Laboratory (SS 07) - Home

Home | Course Notes | Exercises | Schedule


Public Presentations - June 19th, 16:00 in A36


Take a look at the finished games here!


Short Summary

The goal of this course is the in-depth understanding of the technology and programming underlying computer games. Students gradually design and develop a computer game in small groups and get acquainted with the art of game programming.


This is a new course that addresses modern three-dimensional computer game technology. During the course, small groups of students will design and develop a computer game. Focus will be put on technical aspects of game development, such as rendering, cinematography, interaction, physics, animation, and AI. In addition, we will cultivate creative thinking for advanced gameplay and visual effects.

The "laboratory" format involves a practical, hands-on approach with neither traditional lectures nor exercises. Instead, we will meet once a week to discuss technical issues and to track progress. We will utilize Microsoft's XNA Game Studio Express, which is a collection libraries and tools that facilitate game development. While development will take place on PCs, we will ultimately deploy our games on the XBox 360 console.

At the end of the course we will present our results to the public. The number of participants is limited.


  • Good programming skills (Java, C++, C#, etc.).
  • CG experience: Students should have taken, at a minimum, Visual Computing. Higher level courses are recommended, such as Introduction to Computer Graphics, Surface Representations and Geometric Modeling, and Physically-based Simulation in Computer Graphics.



If you want to participate in the Game Programming Laboratory, first sign up for the course as usual here. Second, please submit a short game project proposal no later than 4.3.07. These proposals will help us organize the class and to get started right away once the semester begins. As the number of participants is limited, we will also use the proposals to select participants if too many students have signed up for the course. You will work in groups of 1-3 people on your project. If you already know who you'd like to work with, then submit one proposal for the group. If not, then submit your idea individually and we'll form groups once the class starts.

The project proposal should consist of the following parts: a summary of your game, a description of the technical issues to be addressed, the backgrounds of the group members and a rough work schedule. You can find a sample proposal here.

Please mail your project proposal to "" before 4.3.07.
We will notify you whether your project was accepted on 16.3.07.






Prof. M. Gross (,
B. Sumner (,
N. Thuerey (,
S. Heinzle (




Lecture: IFW A32.1, Tuesdays 15:15-16:45
Exercises: IFW C31, Tuesdays 17:00-18:00


2V/1U (5 credits)

© CGL, ETH Zurich