Computer Games Laboratory (IN7106, IN710615)

Time, Place

Mo. 14:15 - ca. 15:45, held online due to Corona

(Only on days with milestone submissions, see detailed schedule below)

Supervision (N. Thuerey), P. Holl, G. Kohl

Registration via TUMonline and mandatory project kick-off via Moodle Course until Thursday, April 16.

For further details, please carefully read the registration section below!

Begin Laboratory: Monday, April 20.

First online milestone meeting: Monday, April 27.


Main wiki:

This course is open only to master students in Informatik: Games Engineering. The module comprises lectures, programming exercises, and student presentations

Final pres. The final presentations of the games to the public will take place during the demo day (exact day tba).
Prerequisites Bachelor Informatik: Games Engineering

Short Summary

Nach der Teilnahme am Modul sind die Studenten in der Lage gezielt visuelle Effekte zu analysieren und diese mithilfe von Shadern für Spiele und andere Applikationen zu erstellen. Die erlernten Technologien umfassen Beleuchtung, Bildeffekte, Compute und fortgeschrittene Technologien wie Tessellation. Die Studenten können Shader optimieren und Gelerntes auch auf Bereiche außerhalb des Games Engineering anwenden. Sie erhalten einen tiefen Einblick in die Funktionsweisen und den Aufbau moderner Renderer und verstehen die Einordnung verschiedener Shader in die Graphics Pipeline.

Inhalt anhand von aktuellen Beispielen wird den Studenten die plattformübergreifende Entwicklung von Shadern für Games und andere, Computergrafik fokussierte, Anwendungen erläutert. Als Entwicklungsumgebung kommen Unity3D, Unreal Engine oder Visual Studio zum Einsatz. Spezieller Fokus liegt hier auf:

  • Aufbau von Shadern: Vertex, Fragment, Geometry und Surface Shader
  • Verschiedene Beleuchtungsmodelle
  • Physically Based Rendering, BRDFs
  • Optimierung, Performance Analyse, Tools
  • Rendering, Graphic APIs
  • Post-Processing, Image Effects
  • Compute Shader
  • Tessellation
  • Stylized Shading
  • Volume Rendering


This is a practical course which involves a hands-on approach with neither traditional lectures nor exercises. Instead, we will meet ca. once every two weeks to discuss technical issues and to track progress via milestones. Students can utilize available game engines, yet we will make sure that a considerable own programming effort will be invested. While development will take place on PCs, students are free to choose the target platform of their final game. 

At the end of the course, all results will be presented to the public. 


  • Good programming skills (course projects are written in C++ or C#).
  • Students should have passed successfully the Realtime CG lecture and practical.
  • This practical is open for students of Master Informatics: Games Engineering only.


Regardless the content of the game, the development process must adhere to the guidelines proposed below. Students are encouraged to design a game that has strong links to one of the areas of specialization in the curriculum of the Master program Informatik: Games Engineering.     

After choosing their favorite area of specialization, the students plan the project and prototype the intended game. Then, the game is implemented and iteratively improved via playtesting until it is ready to be presented at the end of the semester. Teams from different areas can also join to create an even more complex game. 


All students have to sign up for the Computer Games Laboratory via TUMonline and attend the mandatory online lectures and milestone meetings. It is not possible to join later on during the semester. Note - this practical course does not use the regular TUM informatics matching system you might know from other seminars and practicals.

In order to attend this practical, make sure to participate in the mandatory project kick-off via Moodle to form groups until April 16. It takes place before the semester starts because of the tight milestone schedule for this course. Note that you should not sign up for this course until you're sure you will participate. If you drop out, this can cause significant problems for your other team members.


The following table gives an overview of all online meetings during the semester. On all none mentioned weeks there is no class.

lecture / milestone date team presentation in class to publish on the wiki
(due sunday before presentation)
Online project kick-off until 16.04. Register in TUMonline and form groups via Moodle  
Lecture: Softskills
Lecture: Prototyping
1. Milestone: Game idea pitch
27.04. Presentations: Game idea Report: Game idea proposal
Slides: Game idea

04.05. (no meeting) Wiki: Mutual critiques
2. Milestone: Prototype 11.05. Presentations: Prototype Report: Prototype
Slides: Prototype
3. Milestone: Interim demo 08.06. Presentations: Interim demo Report: Interim results
Slides: Interim results
Lecture: Playtesting
4. Milestone: Alpha release
22.06. Presentations: Alpha release Report: Alpha documentation
Slides: Alpha release
5. Milestone: Playtesting 06.07. Presentations: Playtesting results Report: Playtesting results
Slides: Playtesting results
6. Milestone: Final release 20.07. Presentations: Final release Report: Final documentation
Slides: Final release
Compiled final game version
Demo Day: live presentation


Delayed online demo day
Demo Day