Learn basic techniques in the development of 3D computer games as well as the interplay between these elements in a game-engine.
Contents
The course will be divided into two parts (corresponding to quarter 1 and 2). In the first part, all students will construct a working Wipeout clone (3rd person hover-car game). In the second part, students focus on one aspect of computer games, further developing the initial prototype. E.g. students are allowed to change the wipeout-clone into a first-person shooter, thereby looking into other technical aspects.
First Part
In groups of 3-4 the students will develop a Wipeout clone. Each week a lecture will be given on a subject, and students are expected to implement a corresponding technique in their game. Due to time constraint, some basic framework will be handed out to the students. Content-creation is not part of this course, but a basic set of 3D-models and levels will be handed out. The course will go through the following topics:
Game-engine architecture
3D-models (format, loading, animation)
Scenegraph and Algorithmic geometry
Acceleration structures (BSP, Octree, BVH)
3D-rendering (OpenGL, Special effects)
Physics (Collision detection, Motion)
( AI, Sound, Distributed games, tools for content-creation )
Second Part
Students will select a topic of special interest from the first part of the course and do an independent study of that subject. As part of that process the game from the first part of the course should be extended through implementation of related techniques. Students are expected to give lectures on their topic of interest. Guest-lectures are expected to be given by people in related research or industry.
Types of Teaching
Lectures in the first part. Student presentations in the second part. The students are expected to take responsibility for a large part of their learning process.
Evaluation
Written report followed by oral examination.
Credits
10 ECTS
Quarter
Fall semester 2007 (1. + 2. Quarter)
Prerequisites
A large part of the course is based on the implementation of techniques by students, hence a certain maturity in software development is expected.
Teaching materials/Text-books
"Core Techniques and Algorithms in Game Programming" by Daniel Sanchez-Crespo Dalmau + selected papers. (preliminary)