IT-Universitetet i København
  Tilbage Kursusoversigt
Kursusnavn (dansk):Game Engines 
Kursusnavn (engelsk):Game Engines 
Semester:Efterår 2016 
Udbydes, spil (games) 
Omfang i ECTS:15,00 
Min. antal deltagere:
Forventet antal deltagere:25 
Maks. antal deltagere:40 
Formelle forudsætninger:The essential skills and requirements are:

- Good programming ability, since the course will involve several programming exercises and a final projects.

- Basic mathematics understanding. Geometry, matrix algebra, etc.
Information about the course of study

This course is mandatory for students who are enrolled in Master of Science in IT, study programme Games, Technology track.

Moreover, the student must always meet the admission requirements of the IT University. 
Læringsmål:Students should be able to:

- Design and implement a modern game engine using best practices of software engineering
- Manage resources and memory in C++ efficiently
- Create game engine modules with high cohesion and low coupling
- Optimize performance bottlenecks on both the CPU and GPU
- Generalize about the structure of, and similarities and differences between, modern 3d game engines 
Fagligt indhold:The course objective is to give an overview of the technology that goes into game engines. The course is divided into several segments, each of which looks at one area of game technology.

The focus of the course is on the foundations of game engine technology, not on the actual design and implementation of games. In addition, it is not primarily focused on using any specific engine or SDK (e.g. Unity or UDK), but instead on the underlying technical concepts.

The course topics include:
- Basics of game engines (why they exist, what they do)
- Game engine design
- 2D and 3D mathematics for games
- Introduction to computer graphics (sprites, 3D meshes, scene, camera, lighting, etc.)
- Introduction to collision detection and physics simulation (forces, collision, etc.)
- Data structures and algorithms for game engines
- Performance optimization
- The role of scripting languages in engines

The goal is for students to understand, and be able to analyze and implement the basics of, the major technological components of a modern game engine. In addition, since the general topic of game engines is so large, students will be able to choose which area they wish to understand in more depth, and work on a project in that area. 
Læringsaktiviteter:14 ugers undervisning bestående af forelæsninger og lejlighedsvise øvelser

During the exercises the student will learn the foundations of game engines. In small groups they will create a game engine in C++, including implementing a scenegraph for 2D/3D graphics, integrating collision detection and physics simulation and developing gameplay systems.
Also, small games or tech demos will be built to showcase the features of the game engine. 

Obligatoriske aktivititer:The first 10 weekly exercises have to be submitted and approved.

Be aware: The student will receive the grade NA (not approved) at the ordinary exam, if the mandatory activities are not approved and the student will use an exam attempt. 
Eksamensform og -beskrivelse:D22: Aflevering med mundtlig eksamen suppleret af aflevering., (7-scale, external exam)

The final submission consists of a game engine (source code and binaries) including both a report and games/tech demos that showcase its features.

The duration of the oral examination is 30 minutes per examinee.  

Litteratur udover forskningsartikler:Optional textbook: Game Engine Architecture (Second Edition), Jason Gregory, 2014.