Computer Graphics Laboratory ETH Zurich


Game Programming Laboratory - SS10 - Home

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.

Last years final presentations


The Game Programming Laboratory 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, 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, 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 results will be presented to the public. The best projects, choosen by the audience and a jury of experts from the industry, will be awarded hard- and software prices. Information about the impressive games of the previous years can be found here for the 2008 course, and here for 2009 course. 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.

The number of participants for the game programming laboratory is limited. If you want to participate, make sure to sign up for the course and attend the first lectures, as this is where the teams are assembled. It is usually not possible to join later on during the semester.

Number 252-0570-00L
Lecturers B. Sumner (),
B. Bickel (),
A. Hornung ()
Exercises T. Oskam (),
N. Ranieri (),
G. Noris (),
S. Heinzle ()
Language English
Credits 10 KP