Master Game Engineering and Simulation Technology: Curriculum

1. Semester

Name ECTS
SWS
(PCO)
English / ILV
0.75
0.50
C++ (introduction course) (CEK)
German / ILV
-
-
Freifach: Austrian Open Referee (AOR)
German /
1.50
1.00
Module 1 Game Engineering (MOD1)
German / kMod
9.00
-
Advanced Software Engineering (ASE)
German / ILV
3.00
2.00
Efficient Programming (EPR)
German / ILV
3.00
2.00
Game Engine Based Development (GEE)
German / ILV
3.00
2.00

Course description

Students gather fundamental knowledge in programming computer games with professional game engines.

Learning outcomes

After passing this course successfully students are able to ...

  • explain the architecture, the differences in features and the advantages and disadvantages of the currently most relevant game engines.
  • self-dependently implement simple games and/or game components, using the currently most relevant game engines.

Course contents

  • Evaluation of middleware
  • Techniques for game development
  • Animation
  • Physics
  • Particle effects
  • Scripting
  • Audio

Prerequisites

- Basic programming in any object oriented language- C#/C++ are a plus

Literature

  • Game Engine Architecture, Jason Gregory
  • Unity3D documentation
  • Unreal Engine documentation

Assessment methods

  • Practical Tests

Anmerkungen

-

Module 2 Künstliche Intelligenz und Simulation (MOD2)
German / kMod
13.50
-
Artificial Intelligence (KI)
German / ILV
4.50
3.00
Numeric Analysis (NUM)
German / ILV
3.00
2.00

Course description

Numerical methods and their analysis are a mathematical discipline based on mathematical tools from analysis and algebra. At the begin oft he course, the most important mathematical tools are introduced – this is basic for the understanding of particular methods. Numerical algorithms work in floating point arithmetic. The properties and pitfalls of this kind of computations are discussed. In the main sections on numerical methods, basic techniques like polynomial interpolation are discussed first, since these prerequisites for designing more advanced methods like integration or differential equations. Then the course focuses on basic techniques for computer graphics (splines) and methods for the solution of dynamic (differential) equations for (virtual) objects and their simulation on the computer. In the section on numerical linear algebra it is shown how solution algorithms for systems of linear equations and related problems are implemented and how to use the respective software. The typical matrix-oriented terminology is illustrated by means oft Matlab as a standard software tool. Practical exercices focus on the solution of smaller application-oriented problems on the digital computer. Basic algorithms can be programmed by the students, and for more advanced computations we use a standard tool, e.g., Matlab. This also enables the visualization of solutions and simulations.

Methodology

Theoretical foundations: `frontal' wih emphasis on geometric visualization of contents as far as possible. Practical exercises: focus on implementation of practically oriented projects. Feedback on two levels: (i) in course of presentation of the results by the students in the classroom, (ii) via inspection of the project documentation to be composed after this presentation. and, additionally, via

Learning outcomes

After passing this course successfully students are able to ...

  • explain and manupulate analytic/numerical models of geometric objects (curves, manifolds),
  • apply basic numerical methods in applied algebra and analysis and evaluate their accuracy,
  • simulate kinetic processes on the basis of mathematical models, in particular ordinary differential equations,
  • efficiently apply standard numerical software tools.

Course contents

  • Mathematical foundations I: Analysis
  • Mathematical foundations II: Linear algebra
  • Floating point arithmetic
  • Interpolation and approximation
  • Iterative techniques; differential equations and simulation
  • Numerical linear algebra

Prerequisites

- Undergraduate mathematics at computer science/bachelor level - Computer architecture, in particular internal number representation - Programming in a standard language, e.g., C

Literature

  • Birmelin, J., Hupfer, C. (2008): Elementare Numerik für Techniker, Vieweg/Teubner Studium
  • Huckle T., Schneider, S. (2006): Numerische Methoden, Springer-Verlag

Assessment methods

  • Course-immanent assessment method and end exam:
  • Presentation of practical problems by the students
  • Assessment of written protocols, with feedback
  • Overall examination at the end of course (oral or written): Focus on theory, but also referring to he material covered by the practical exercises.

Anmerkungen

Lecture notes are available in pdf format.

Module 3 Computergrafik (MOD3)
German / kMod
9.00
-
Advanced Algorithms and Data Structures (ALGO)
German / ILV
3.00
2.00

Course description

This course discusses advanced concepts of algorithms and data structures on the basis of allready known standard concepts. Special focus lies on algorithms and data structures for game engineering.

Learning outcomes

After passing this course successfully students are able to ...

  • research and present an random generator algorithm.
  • implement and visualize an algorithm for convex hull calculation and calculate the time and space complexity.
  • explain different spacial datastructures and methods for collision detection.
  • implement an optimal kd-tree for collision detection of a 3d scene and visualize the intersection method.
  • evaluate data structures and algorithms with regard to their time complexity in Big-O notation and/or usefulness for a given task/problem in the domain of game programming.

Course contents

  • Efficiency
  • Complexity of algorithms
  • Permutations
  • Random number generators
  • Median algorithms
  • Computational Geometry
  • Plane Sweep Algorithms
  • Convex Hulls
  • Voronoi diagrams
  • Delauney triangulation
  • Collision detection
  • Spatial Data Structures
  • Kd-Tree
  • BSP-Tree
  • Bounding Volume Hierarchies
  • Grids

Prerequisites

- Basic algorithms and data structures - Programming knowledge

Literature

  • Thomas H. Cormen: Introduction to Algorithms, 3rd edition, MIT Press
  • C. Ericson: Real-Time Collision Detection, Morgan Kaufmann, 2005

Assessment methods

  • Oral exam
  • 3 code reviews
  • 2 presentations
Real-time Graphics (EZG)
German / ILV
3.00
2.00
Module 4 Content Pipeline (MOD4)
German / kMod
9.00
-
3D Modeling (3D)
English / ILV
3.00
2.00
Module 5 Game Design und Kommunikation (MOD5)
German / kMod
7.50
-
Applied Communication (KOMM)
German / ILV
1.50
1.00
Introduction to Games (ITG)
German / ILV
3.00
2.00

2. Semester

Name ECTS
SWS
(PCO)
English / ILV
0.75
0.50
Module 2 Künstliche Intelligenz und Simulation (MOD2)
German / kMod
13.50
-
Artificial Life (ARL)
German / ILV
3.00
2.00
Physics and Simulation (PHS)
German / ILV
3.00
2.00
Module 3 Computergrafik (MOD3)
German / kMod
9.00
-
Shader Programming (SPG)
German / ILV
3.00
2.00
Module 4 Content Pipeline (MOD4)
German / kMod
9.00
-
Computer Animation (CAN)
German / ILV
3.00
2.00
Sound (SND)
German / ILV
3.00
2.00
Module 5 Game Design und Kommunikation (MOD5)
German / kMod
7.50
-
Game Design Best Practice (GDB)
German / ILV
3.00
2.00
Module 6 Spieleplattformen (MOD6)
German / kMod
12.00
-
Console Platforms (KPF)
German / ILV
3.00
2.00
Game Engine Design (GED)
German / ILV
3.00
2.00
Mobile Game Platforms (MSP)
German / ILV
3.00
2.00
Module 7 Development Project (MOD7)
German / kMod
18.00
-
Development Project 1 (DVP)
German / PRJ
3.00
2.00
Open Source Graphic Design (OSGD)
German / SE
1.50
1.00
Optional Course: Motion Capturing (FMC)
German / ILV
1.50
1.00

3. Semester

Name ECTS
SWS
Module 10 Game Business (MOD10)
German / kMod
7.50
-
Business of Gaming 1 (BOG)
German / ILV
3.00
2.00
Legal Aspects of Games Production (REC)
German / SE
1.50
1.00
Module 6 Spieleplattformen (MOD6)
German / kMod
12.00
-
Human Computer Interfaces and Usability (HCI)
German / ILV
3.00
2.00
Module 7 Development Project (MOD7)
German / kMod
18.00
-
Development Project 2 (DVP2)
German / PRJ
15.00
2.00
Module 8 Multiplayer Netzwerke (MOD8)
German / kMod
6.00
-
Advanced Network Technologies (FNT)
German / ILV
3.00
2.00

Course description

- Theory and implementation of multiplayer and massive multiplayer network technologies - Integration of network middleware

Learning outcomes

After passing this course successfully students are able to ...

  • design and implement Multiplayer- and Massive Multiplayer functionality, as well as integrate it in existing games.
  • explain the underlying network technologies in detail.
  • explain the terms latency and jitter compensation and the concepts applied in these areas, and can implement these concepts themselves.
  • also apply the concepts they learned to existingframeworks, so they can analyze and improve those frameworks.

Course contents

  • Communication paradigms
  • Traffic analysis
  • Latency and jitter compensation
  • Application-Level proxies
  • Network security
  • Realworld warstories

Prerequisites

- C++ - Visual Studio - CMake - Mercurial - Gameengine concepts

Literature

  • A. Tanenbaum und M. van Steen (2012): Verteilte Systeme. Grundlagen und Paradigmen, Pearson Studium
  • G. Coulouris und J. Dollimore und T. Kindberg (2012): Verteilte Systeme. Konzepte und Design, Pearson Studium
  • L. Fiege und G. Mühl und P. Pietzuch (2006): Distributed Event-Based Systems, Springer Verlag
  • T. Alexander (2005): Massively Multiplayer Game Development: v. 2, Charles River Media Game Development
  • G. Armitage und M. Claypool und P. Branch (2006): Networking and Online Games.Understanding and Engineering Multiplayer Internet Games, Wiley & Sons
  • T. Barron (2001): Multiplayer Game Programming, Macmillan Technical Publishing
  • OpenSteer
  • Steering Behaviors for Autonomous Characters: http://opensteer.sourceforge.net/
  • RakNet: http://www.jenkinssoftware.com/ http://www.jenkinssoftware.com/raknet/manual/index.html http://www.jenkinssoftware.com/raknet/manual/Doxygen/

Assessment methods

  • Course immanent assessment method:
  • Implementations during the lessons
  • Final documented implementation

Anmerkungen

- The lectures are held in combination with the lectures 'multiplayer concepts' - Reading the middleware links is recommended to deal with the practical lessons

Multiplayer Concepts (MPK)
German / ILV
3.00
2.00

Course description

This course explains concepts that are used in current network-based computer games. We discuss in detail the common Server architectures, replication technologies and anti-cheat methods.

Methodology

Presentations by the lecturers, practical exercises

Learning outcomes

After passing this course successfully students are able to ...

  • name different network architectures of network games and can explain all the related advantages and disadvantages of the respective architecture.
  • describe common concepts in the areas of Cheating, Testing, Proxies, Load Balancing and Gameworld Clustering in detail.
  • adapt these concepts to their own game ideas and practically implement them.

Course contents

  • Application layer proxies
  • Client/server, peer to peer
  • Distributed computing, grid computing
  • Gameworld clustering
  • Anti cheat methods
  • Loadbalancing for server cluster
  • Testing and qualitiy assurance for multiplayer games

Prerequisites

- OSI - TCP/ IP - C++ - Visual Studio - Game Engine Konzepte - CMake - Mercurial

Literature

  • Thor Alexander (2003): Massively Multiplayer Game Development (Charles River Media Game Development)
  • Thor Alexander (2005): Massively Multiplayer Game Development: v. 2 (Charles River Media Game Development)
  • G. Hoglundm G. McGraw (2008): Exploiting Online Games – Cheating Massively Distributed Systems, Addison Wesley
  • Raknet http://www.jenkinssoftware.com/
  • Opentsteer Steering Behaviors for Autonomous Characters http://opensteer.sourceforge.net/
  • WxWidgets http://docs.wxwidgets.org/trunk/

Assessment methods

  • Course immanent assessment method:
  • Cooperation in lectures and tutorials
  • Submission
  • Implementation and documentation of completed work

Anmerkungen

This course cooperates with "Fortgeschrittene Netzwerktechnologien". Providing practical reading of the specified middleware references is recommended.

Module 9 Wissenschatliches Arbeiten und Master Thesis (MOD9)
German / kMod
27.00
-
Academic Research and Writing (WA)
German / SE
1.50
1.00

4. Semester

Name ECTS
SWS
(AS)
German / SO
3.00
0.00
Module 10 Game Business (MOD10)
German / kMod
7.50
-
Business of Gaming 2 (BOG)
German / ILV
3.00
2.00
Module 9 Wissenschatliches Arbeiten und Master Thesis (MOD9)
German / kMod
27.00
-
Master´s Thesis (DA)
German / SO
21.00
-
Seminar for Master´s Thesis (DIPS)
German / SE
6.00
2.00
Optional Course: Advanced Console Programming (FFKP)
German / SE
3.00
2.00