Master Game Engineering and Simulation Technology: Curriculum

1. Semester

Name ECTS
SWS
Modul 3 Engine Development and Modeling (EDM)
German / kMod
6.00
-
3D Modeling (3D)
English / ILV
3.00
2.00

Course description

Introduction to the principles of 3D modeling and chracter design.

Learning outcomes

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

  • use maya for basic modeling and texturing tasks.
  • create simple 3D assets that could be used for in-game content.
  • explain the basics of content pipelines for 3D game graphics.
  • explain the principles of low polygon modeling.

Course contents

  • 3D data formats
  • Modelling tools
  • Meshes
  • Organic Polygonal modeling
  • Hard surface Polygonal modeling
  • UV layouts
  • Texture Map transfer methods
  • Basic use of shaders in Maya
  • Basics of rendering and presentation
  • Software: Autodesk Maya

Prerequisites

- English language skills - Essential computer skills - Basic computer graphics knowledge - Basic Photoshop skills or equivalent

Literature

  • Literature for class consists of original tutorial and in class demonstrations that are designed to be followed step by step during class. Online Tutorials may be provided. Further information and learning resources on further learning are provided upon request from the students.

Assessment methods

  • Active participation in class and assignments.
  • 40% of final grade consists of weekly homework assignments.
  • 40% of final grade consists of final project handed in at the end of the course
  • No final written exam. Class grade is largely determined by homework assignments and final project submission.
  • Retake consists of a new project submission. Retake project differs from class project and may prove more difficult than original class project.

Anmerkungen

The course is not graded via exams. As mentioned before homework, attendance, and final project hand-in are the main devices of evaluation. It is highly recommended to just attend class, do the homework, and turn in a project in during the course since the form of retake for this course can prove more difficult and time consuming than re-takes for other courses.

Game Engine Based Development (GEE)
German / ILV
3.00
2.00

Course description

After a theoretical overview on modern game engines and their functionalities this course aims at the Unreal Engine 4 from Epic Games. That includes both the theoretical aspects of the engine, as well as its practical concepts and modules, and working with the engine as user and game developer.

Methodology

This course teaches both the theoretical and the practical aspects of the Unreal Engine. Students will be able to work directly within the engine and try what they have have learned in class.

Learning outcomes

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

  • name and describe basic functionalities of modern game engines
  • use the central functions and modules within the UE4 editor
  • code for UE4 in C++ as well as to script via UE4 Blueprint
  • load and process assets from external tools into the engine
  • export custom projects from within Unreal to various platforms

Course contents

  • Basic structure of modern game engines in theory
  • Introduction to the Unreal Engine 4 from Epic Games
  • Handling of the UE4 editor and its most important modules
  • Loading external assets and using them to build maps and levels
  • Actors and characters incl. user input and AI controllers
  • Gameplay scripting and related concepts via UE4 Blueprint
  • Shaders and materials in Unreal
  • Animations and particle effects
  • Programming the engine in C++
  • Further topics such as audio, user interfaces, etc.

Prerequisites

C++ programming and general concepts of software development. Practical knowledge in game engines may help, but are not required.

Literature

  • Cookson, Aram et al. (2016): Unreal Engine 4 Game Development in 24 Hours.
  • Gregory, Jason (2017): Game Engine Architecture, Second Edition, CRC Press.
  • The official Unreal Engine 4 documentation.

Assessment methods

  • Design, implementation and presentation of a custom project based on UE4
  • Written test and/or participation during the course

Anmerkungen

Attendance is not obligatory, but recommended. In the case of absence students have to learn missed subject matter on their own responsibility.

Modul 4 Efficient and Reliable Programming (ERP)
German / kMod
6.00
-
Efficient Programming (EPR)
German / ILV
3.00
2.00

Course description

This course teaches techniques for creating efficient programs. These include selected C++ language constructs and parallel programming with OpenMP and OpenCL. Furthermore, the course covers runtime evaluation and optimization as well as profiling.

Learning outcomes

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

  • explain the influence of object oriented language features in C++ on program runtime.
  • implement a C++ application, analyze it with profiling tools (e.g., Visual Studio) to identify performance issues and optimize its runtime.
  • parallelize a C++ application using OpenMP and OpenCL to improve its runtime (by a factor of 2-10).
  • explain differences between the hardware architecture of CPUs and GPUs and their implications on performance.

Course contents

  • Selected C++ Language constructs and their efficient use in programming
  • parallel programming in OpenMP and OpenCL
  • GPU architecture and memory model
  • performance optimization of (parallel) programs

Prerequisites

- Object-oriented programming - C++

Literature

  • S. Kuhlins, M. Schader, Die C++ Standard Bibliothek, , 4. Auflage, Springer, 2005
  • Hubert Nguyen (Ed.), GPU Gems 3: Programming Techniques for High-Performance Graphics and General-Purpose Computation. Addison-Wesley, 2008
  • Benedict Gaster, David R. Kaeli, Lee Howes. Heterogeneous Computing With OpenCL. Taschenbuch: 296 Seiten, Verlag: Morgan Kaufman Publ Inc (12. August 2011), Sprache: Englisch, ISBN-10: 0123877660, ISBN-13: 978-0123877666
  • Aaftab Munshi, Benedict Gaster, Timothy G. Mattson, OpenCL Programming Guide. Addison-Wesley Longman, Amsterdam; Auflage: 1 (13. Juli 2011), Taschenbuch: 648 Seiten, ISBN-10: 0321749642, ISBN-13: 978-0321749642
  • Mattson, Sanders, Massingill, Patterns for Parallel Programming, Addison-Wesley, 2004

Assessment methods

  • Course immanent assessment method and end exam
  • Assessment of practical examples (50%)
  • Examination (50%)
  • The percentage in each field must be at least 50 percent
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
  • Iterative techniques; differential equations and simulation
  • Interpolation and approximation
  • 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.

Modul 5 Artificial Intelligence and Advanced Software Engineering (AIAS)
German / kMod
6.00
-
Advanced Software Engineering (ASE)
German / ILV
3.00
2.00

Course description

This course guides the audience into the complex toolchain for the software development process focusing especially computer games.

Learning outcomes

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

  • develop a toolchain for implementing computer games
  • manage and run a toolchain within a computer game development project
  • develop a computer game development project within a toolchain
  • automate and optimize processes in a toolchain
  • assure the software quality of a computer game development project within a toolchain

Course contents

  • Toolchains for the software development process with special focus on computer game development. Processes and Quality Assurance

Prerequisites

Project Management, Software Engineering, Programming Skills

Literature

  • Farley, David / Humble, Jez (2010): Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation, Addison-Wesley
  • Keith, Clinton (2010): Agile Game Development with Scrum, Addison-Wesley
  • Loeliger, Jon / McCullough, Matthew (2012): Version Control with Git: Powerful tools and techniques for collaborative software development, O’Reilly

Assessment methods

  • Course immanent assessment method or Work in the course, Toolevaluation and Presentation

Anmerkungen

-

Artificial Intelligence (AI)
German / ILV
3.00
2.00

Course description

This lecture covers fundamental methodologies and algorithms in the field of artificial intelligence with respect to game engineering specific requirements. Provided lectures cover basic techniques for reactive NPC behaviour as much as fundamental planning algorithms and machine learning methodologies.

Learning outcomes

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

  • model and implement reactive AIs for NPCs utilizing AFSMs
  • develop planning AIs for turn based board and card games
  • implement AIs for autonomous navigation and path finding in NPCs
  • utilize machine learning algorithms for data classification as much as in learning game AIs
  • apply evolutionary algorithms for optimization as much as generation purpose of individualized parametrized NPCs

Course contents

  • AI architectures
  • Decision- and game trees
  • Searching and Planning
  • Path finding
  • Heuristics
  • Neural networks
  • Evolutionary and genetic algorithms

Prerequisites

This lecture requires experience with the C++ programming language, profound knowledge of algorithms and data structures (bachelor level), graph theory, analysis, and statistics.

Literature

  • Stuart Rusell and Peter Norvig; Artificial Intelligence: A Modern Approach; Prentice Hall; ISBN 978-0136042594
  • Ian Millington, John Funge; Artificial Intelligence for Games; Morgan Kaufmann; ISBN 978-0123747310

Assessment methods

  • Course immanent assessment method and end exam
Module 1 Game Design (GDS)
German / kMod
6.00
-
Introduction to Games (ITG)
German / ILV
3.00
2.00

Course description

Introduction to the various aspects of games.

Learning outcomes

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

  • explain the architecture of games in general andthe application of formal and dramatic game elements in particular
  • explain the different aspects of game design and practically reflect them by developing game concepts.

Course contents

  • Game History & Definitions
  • Formal Elements of Game
  • Dramatic Elements of Game
  • Critical Aspects of Game
  • Serious Games
  • The Importance of Rules

Prerequisites

None (introductory course)

Literature

  • Tracy Fullerton, Chris Swain, Steven Hoffman: Game Design Workshop: Designing, Prototyping, & Playtesting Games: Designing, Prototyping and Playtesting Games, Focal Press
  • Andrew Rollings, Ernest Adams: Andrew Rollings & Ernest Adams on Game Design, New Riders
  • Katie Salen, Eric Zimmerman: Rules of Play - Game Design Fundamentals, The MIT Press
  • Jim Thompson, Barnaby Berbank-Green: The Computer Game Design Course: Principles, Practices and Techniques for the Aspiring Game Designer, Thames & Hudson Ltd

Assessment methods

  • Homeworks (assessed submissions) (80%)
  • Class Participation (20%)
Level Design (LDS)
German / ILV
3.00
2.00

Course description

Level Design - concepts and practice across different genres.

Methodology

Lecture, Group work, Guided hands-on activities

Learning outcomes

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

  • The ability to evaluate, criticize and design levels across a variety of genres. Basic skills in using level editor software.

Course contents

  • Level design vs. game designEnemy designMap designGame structureTechnological restrictionsBalancingProgressionNarrativeModdingUser-generated contentTestingLevel editor software
  • Enemy Design
  • Map Design
  • Technological Restrictions
  • Balancing
  • Progression
  • Narration
  • Modding
  • Level Editor Software
  • Testing

Prerequisites

General interest in game design.

Literature

  • Fullerton, Swain, Hoffman - Game Design Workshop, Cliff Bleszinski - The Art and Science of Level Design

Assessment methods

  • Quality of the practical work, Presentation
Module 2 Realtime Rendering and Algorithms (RRA)
German / iMod
6.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.

Methodology

Integrated course.

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

Course description

The design of graphics hardware is investigated and based on this knowledge, fundamental methods of realtime rendering are developed.

Learning outcomes

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

  • describe the basics real-time rendering(understanding of graphical APIs, spatial data structures, algorithms).
  • implement light and shadow calculations.
  • implement texturing and bump mapping
  • interpret and implement hardware anti-aliasing techniques
  • develop a project with all discussed techniques.

Course contents

  • Transformations
  • Graphics APIs
  • Graphics Hardware
  • Spatial data structures
  • Terrain Rendering
  • Texturing
  • Anti-aliasing
  • Optimizations
  • Collision detection

Prerequisites

- Experience in object-oriented programming - Basic knowledge of computer graphics

Literature

  • Tomas Akenine-Möller / Eric Haines / Naty Hoffman: Real-Time Rendering, A.K. Peters Ltd., 3rd edition, 1045 pages, ISBN 987-1-56881-424-7, 2008
  • Siehe http://www.realtimerendering.com/

Assessment methods

  • Assessment of practical examples (50%)
  • Examination (50%)
  • The percentage in each field must be at least 50 percent

2. Semester

Name ECTS
SWS
Modul 8 Game Engine Architecture (GEA)
German / kMod
6.00
-
Game Engine Design (GED)
German / ILV
3.00
2.00

Course description

The architecture of Game Engines is presented, and certain recurrent concepts are explained in detail.

Learning outcomes

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

  • evaluate different types of engine architecture in relation to their reusability and iteration speed.
  • implement recurrent concepts found in Game Engines.
  • design smaller Game Engine modules.
  • explain the interaction between low-level and high-level systems typically found in a Game Engine.

Course contents

  • Basic software development techniques
  • Logging
  • Memory Management
  • Efficient Rendering
  • Data-driven Design
  • Resource Management
  • Hot-Reload
  • Component-based Entity Design

Prerequisites

- Experience in object-oriented programming - Advanced C++ - One IDE of choice (Visual Studio for example)

Literature

  • Jason Gregory, 2009: Game Engine Architecture, A K Peters, http://www.gameenginebook.com/
  • Eric Lengyel, 2010: Game Engine Gems 1, Jones & Bartlett Publishers

Assessment methods

  • Course immanent assessment method and end exam
Shader Programming (SPG)
German / ILV
3.00
2.00

Course description

Based on the concepts of realtime graphics special techniques of shader programming are discussed in this course.

Learning outcomes

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

  • describe the basics concepts and technologies in shader programming.
  • combine and implement various lighting techniques.
  • Implement pixel shader displacement techniques
  • implement particle systems using the GPU.
  • implement tessellation using the GPU.

Course contents

  • Fixed function pipeline vs shaders
  • Shader models
  • Shader architecture
  • Shader languages
  • Shader integration (Directx, OpenGL, game engines etc.)

Prerequisites

Knowledge of:- C++ - C# - Java - OpenGL, DirectX or Java3d

Literature

  • GPU Gems
  • ShaderX

Assessment methods

  • 50% project
  • 50% oral exam
Module 10 Artificial Life and Simulation (ALS)
German / iMod
6.00
-
Artificial Life (ARL)
German / ILV
3.00
2.00

Course description

This lecture covers fundamental methodologies and algorithms in the field of bio-mimetic and bio-inspired artificial intelligence. Provided algorithms are inspired and based on natural phenomena and are typically applied to simulation and modelling of natural human behaviour, herding and swarm behaviour, but also to the process of procedural generation of natural structures like plants or landscapes.

Learning outcomes

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

  • simulate time discrete systems with cellular automata
  • implement intelligent reactive planning behaviorfor NPCs
  • apply robust bio-mimetic search algorithms to maps
  • implement swarming/herding behavior for NPCs
  • generate realistic natural structures like plants or landscapes procedurally

Course contents

  • Cellular Systems
  • Lindenmayer Systems
  • Particle Swarms
  • Ant Colony Optimization
  • Autonomous Agents

Prerequisites

This lecture is based on the lecture "Artificial Intelligence", and requires experience with the C++ programming language, profound knowledge of algorithms and data structures (bachelor level), graph theory, analysis, and statistics.

Literature

  • Stephen Wolfram; A new kind of science; Wolfram Media Inc.; ISBN 1-57955-008-8
  • Przemyslaw Prusinkiewicz and Aristid Lindenmayer; The Algorithmic Beauty of Plants; Springer; ISBN 978-0387946764
  • Russell C. Eberhart and Yuhui Shi and James Kennedy; Swarm Intelligence; Morgan Kaufmann; ISBN 978-1558605954

Assessment methods

  • Course immanent assessment method and end exam
Physics and Simulation (PHS)
German / ILV
3.00
2.00

Course description

This lecture covers fundamental techniques and algorithms of computer based simulations in the field of classical mechanics with respect to game specific requirements. Provided lectures deal with particle engines as much as rigid body engines and their basic components.

Learning outcomes

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

  • implement phenomena of classical mechanics via time discrete simulation
  • implement geometry based real-time collision detection for simulated 2D and 3D worlds
  • customize existing or develop their own physics engines
  • implement adequate real time physics for computer games

Course contents

  • Classical mechanics
  • Physics engine architecture
  • Real-time collision detection
  • Discrete simulation
  • Frameworks for physics simulation

Prerequisites

This lecture is based on the lecture "Numerische Methoden", and in addition requires profound knowledge of linear algebra, analysis, statistics, and knowledge of the C++ programming language.

Literature

  • Ian Millington; Game Physics Engine Development; Morgan Kaufmann; ISBN 978-0123819765
  • Jim Parker; Start Your Engines – Developing Driving and Racing Games; Paraglyph Press; ISBN 978-1-933097-01-5
  • Ulrich Wohlfarth; Matlab - Simulink - Stateflow; Oldenbourg Wissensch.Vlg; ISBN 978-3486582727

Assessment methods

  • Course immanent assessment method
Module 6 Development Project Preproduction (DPP)
German / iMod
6.00
-
Development Project 1 (DVP)
German / PRJ
3.00
2.00

Course description

Development of a complete game concept and presentation of a prototype. The prototype can be a paper prototype or a running program.

Learning outcomes

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

  • produce an early prototype focusing on the core game mechanic based on the high-concept for a game.
  • make the right decisions of how to adapt the game concept based on play-experiences oft the core-mechanic-prototype.

Course contents

  • Development of a game prototype. The work is carried out by a team of 2-5 students.

Prerequisites

Lecture Game Design Best-Practices

Literature

  • Katie Salen, Eric Zimmerman: Rules of Play - Game Design Fundamentals, The MIT Press
  • Andrew Rollings, Ernest Adams: Andrew Rollings& Ernest Adams on Game Design, New Riders
  • Tracy Fullerton, Chris Swain, Steven Hoffman: Game Design Workshop: Designing, Prototyping,& Playtesting Games: Designing, Prototyping and Playtesting Games, Focal Press
  • Jim Thompson, Barnaby Berbank-Green: The Computer Game Design Course: Principles, Practices and Techniques for the Aspiring Game Designer, Thames & Hudson Ltd.

Assessment methods

  • Grading of the game prototypes in various stages of development.
Game Design Best Practice (GDB)
German / ILV
3.00
2.00

Course description

This lecture teaches various methods for the creation of new computer games as used in the games industry.

Learning outcomes

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

  • focus a design document to the crucial aspects of a game like core mechanics, ballancing, scaling and design goals.
  • develop innovative game designs for specific constraints
  • evaluate the feasibility of a design in the aspects of workload, team, complexity and risk.

Course contents

  • Phase I: creation of ame design - High-Concepts
  • Phase II: evaluate high-concepts from others, improve
  • Phase III: Review and selection of a game concept for the development project

Literature

  • Koster, Raph (2005): a Theory of Fun for Game Design, Paraglyph Press
  • Salen, Katie & Zimmermann, Eric (Eds.) (2006): The Game Design Reader. MIT
  • Schell, Jesse (2008): The Art of Game Design, MKP

Assessment methods

  • Grading of the concepts in Phase I, II, and III.
Module 7 Content Pipeline (CPI)
German / kMod
6.00
-
Computer Animation (CAN)
German / ILV
3.00
2.00

Course description

A introduction to the basics of animtion in Maya followed by a more in depth look at the technical aspects of 3D. How to create rigs for animators. Scripting in Python to automate tasks in Maya and create GUIs. An overview of the aspects of the job of a „TD“.

Learning outcomes

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

  • Create animations using Maya
  • Rig and animate characters
  • Use Python to add custom functions and automate tasks in Maya
  • Create GUIs using PyQT or PySide for Python Scripts

Course contents

  • Animation
  • Rigging
  • Python / Mel
  • QT / PySide / PyQt
  • TD

Prerequisites

Knowledge in the use of the Maya software, programming basics (OOP)

Assessment methods

  • Course immanent assessment method
Sound (SND)
German / ILV
3.00
2.00
Module 9 Multiplayer Networks (MPN)
German / iMod
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

Assessment methods

  • Course immanent assessment method:
  • Participation in lectures and tutorials
  • Submission,
  • Implementation and documentation of final group project

Anmerkungen

This course takes place and is combined with "Fortgeschrittene Netzwerktechnologien". Previous reading of the specified middleware references is recommended.

3. Semester

Name ECTS
SWS
Module 11 Development Project Support (DPS)
German / kMod
6.00
-
Human Computer Interfaces and Usability (HCI)
German / ILV
3.00
2.00

Course description

The "Human Computer Interface Design and Software-Usability" course adds important UI-Design, Usability and Ucer Centered Design aspects to the already existing game projects. The practical part deals with common UCD methods to increase game quality and find existing usability issues, whereas the theoretical part consists of necessary background knowledge.

Learning outcomes

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

  • give an overview of UX guidelines and patterns for game applications as well as explain selected guidelines in detail
  • explain a heuristic evaluation in detail an apply the method on computer games
  • perform simple playtests with Techsmith Morae and XSplit on their own
  • analyse and document test results using standardized report templates

Course contents

  • (Paper) Prototyping
  • Introduction to usability test methods
  • Planning and preparation of usability tests
  • Importance of target groups and participants
  • Independent leading of usability tests
  • Applied psychology

Prerequisites

Basic principles of Computer Science

Literature

  • Fullerton, Tracy. Game Design Workshop: A Playcentric Approach to Creating Innovative Games, Taylor & Francis Ltd., 2008Powerpoint Slides

Assessment methods

  • Accompanying performance appraisal
Team Management & Pitching (TMP)
German / SE
3.00
2.00

Course description

This course provides an overview of the latest practice and current theories of leadership. One of the course’s fundamental components will be the student’s reflection of their behaviour about particular issues concerning leadership in project management.

Learning outcomes

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

  • explain the role of leadership in the different stages of team development (e.g. by Tuckman) and to derive relevant leading actions (e.g. directive leadership in the forming phase).
  • diagnose dynamics in project teams using models (e.g. Rank Dynamics, Drama Triangle, TZI) and to develop and argue case-related concrete opportunities for activities (e.g. delegation of responsibilty, critical discussion) • identify and to explain tasks and instruments of leadership (e.g. delegation, agreement on objectives.
  • identify and to explain tasks and instruments of leadership (e.g. delegation, agreement on objectives
  • explain classical management models (e.g. leading continuum, Maturity Model) and to apply to practical examples
  • describe different assumptions about human nature (e.g. McGregor) and to derive the consequences for the leading of co-workers.

Course contents

  • Leadership functions versus professional tasks
  • Leadership styles and instruments (e.g. staff appraisal) in teams
  • Motivation, promotion and development of employees
  • Overview of theories to group dynamics
  • Role conflicts (e.g. "colleague" and "project leader")
  • Leading without formal power and competence
  • Consequence of “not leading”
  • Role of the leader in a change process
  • Conflicts and difficult situations in leading teams
  • Dealing with crises, success and failures

Prerequisites

none

Literature

  • Blanchard, Kenneth H./Zigarmi, Patricia/Zigarmi, Drea (2009): Der MinutenManager: Führungsstile, 6. Auflage, Verlag Rowohlt, Reinbek bei Hamburg
  • Goleman, Daniel/Boyatzis, Richard/McKee, Annie (2012): Emotionale Führung, 7. Auflage, Ullstein Verlag, Berlin
  • Goleman, Daniel/Boyatzis, Richard/McKee, Annie (2012): Emotionale Führung, 7. Auflage, Ullstein Verlag, Berlin
  • Malik, Fredmund (2006): Führen, Leisten, Leben. Wirksames Management für eine neue Zeit, 13. Auflage, Verlag Heyne, München
  • Wunderer, Rolf (2007): Führung und Zusammenarbeit, 7. Auflage, Verlag Luchterhand, Köln

Anmerkungen

none

Module 12 Development Project Producation (DPP)
German / iMod
12.00
-
Development Project 2 (DVP2)
German / PRJ
12.00
2.00

Course description

Students develop a complete game and learn about the practical aspects of all phases in game developement.

Learning outcomes

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

  • develop a computer game with a given team size and team composition, within a given time to marketability.
  • set priorities and balance different quality criteria e.g. beginner-friendliness, scalability of gameplay, player motivation, feedback mechanisms, interface design and replayability

Course contents

  • Implementation of a complete computer game
  • Working as a team

Prerequisites

- Game Design Best Practices - Development Project 1

Assessment methods

  • 3 Reviewing Dates. The state of the project is. 1. Milestone: project scope is formulated, production plan is created, production of core has started. Evaluation: oral feedback. 2. Milestone (feature freeze): the game is completely playable, all features, game mechaniscs and (if applicable) game levels are implemented.Evaluation: successful completion of milestone is necessary for a positive course outcome. 3. Milestone: Qualitative examination. Evaluation: the grade is determined in accordance with a qualitative evaluation of the game. The criteria applied follow the usual market criteria for game evaluation.
Module 13 Game Platforms (GPF)
German / kMod
6.00
-
Console Platforms (KPF)
German / ILV
3.00
2.00

Course description

Introduction on game development for game consoles.

Learning outcomes

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

  • assess the difference between developing a game for PC and consoles.
  • optimize C++ software projects in the area of console programming in relation to memory management and loading times.
  • implement strategies to fight memory fragmentation in C++.

Course contents

  • Main differences between development of windows games and consoles
  • Discussion of common problems and strategies for solving them

Prerequisites

- C++ - Object-Oriented Programming - STL

Literature

  • Matthew H. Austern, 1998: Generic Programming and the STL, Addison Wesley
  • Steve Maguire, 1993: Writing Solid Code, Microsoft Press
  • Steve McConnell, 2004: Code Complete, Microsoft Press
  • Scott Meyers, 2005: Effective C++, Addison Wesley
  • Scott Meyers, 1995: More Effective C++, Addison Wesley
  • Scott Meyers, 2008: Effective STL, Addison Wesley

Assessment methods

  • Course immanent assessment method and end exam
Mobile Game Platforms (MSP)
German / ILV
3.00
2.00
Module 14 Game Research and Business (GRB)
German / kMod
6.00
-
Academic Research and Writing (WA)
German / SE
1.50
1.00

Course description

This lecture introduces to the methods for an orderly collection of scientific records.

Learning outcomes

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

  • organize a peer-reviewd conference with the help of the online tool EasyChair
  • search for scientific papers and literature in the chosen academic field
  • write reviews and evaluate scientific papers according to the rules of common academic publication processes

Course contents

  • Methods of scientific writing:
  • Scientific approach to finding solutions to problems
  • Investigation and comparison of scientific results
  • Criteria for assessing the quality, relevance
  • Novelty of scientific results
  • Write and review research papers
  • Processes and organization of an academic conference

Literature

  • Balzert, Helmut / Schäfer Christian / Schröder Marion / Kern, Uwe (2011): Wissenschaftliches Arbeiten - Wissenschaft, Quellen, Artefakte, Organisation, Präsentation, W3L GmbH, 2. Auflage
  • Michael Jay Katz (2009): From Research to Manuscript: A Guide to Scientific Writing, Springer; 2nd ed. edition

Assessment methods

  • Course immanent assessment method Preparation and presentation of a topic in computer games.
Game Business (GBZ)
German / ILV
3.00
2.00

Course description

This course will introduce the game market and games industry and gives an overview to the essential activities in producing and publishing games from an economical perspective.

Methodology

The first three lessions are a mix of talk and exercises. In the fourth part, students will read and present a self-chosen paper.

Learning outcomes

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

  • implement non-technical requirements in a game development project
  • develop marketing concepts with focus on DACH region
  • analyse and weigh the game developer market in the DACH region and finally react accordingly on within a game project

Course contents

  • 1) Games market: Overview to worldwide games market by figures and specifics.
  • 2) Games industry: Overview to participants in the games industry and their typical activities and services.
  • 3) Games production. Knowledge of efforts and costs in game development project and practical calculation of various projects.
  • 4) Games publishing. Knowledge of publishing approaches and practical calculation.
  • 5) Research of a self-chosen paper.

Literature

  • Business and Legal Primer, S. Gregory Boyd, Thomson Game Development Series - The Game Production Handbook, Heather Maxwell Chandler, Infinity Science Press

Assessment methods

  • Final exam (75%), presented paper (25%).
Legal Aspects of Games Production (REC)
German / SE
1.50
1.00

Course description

This course discusses the legal points of game production and gives an overview of the most important areas of law, basic principles and standards.

Learning outcomes

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

  • use existing contracts properly according to legal aspects in Austria and develop new contracts with the help of lawyers
  • properly manage aspects like trademark, copyright, patent laws withing game production
  • found a gaming company in Austria

Course contents

  • General contract and liability law,
  • Intellectual property: trademark law, copyright law, Patent law, piracy
  • Employment: contract of employment discrimination, free employee contract and contract work in labor law point of view (Digression: Tax Law)
  • Your own company: company law, commercial law, Competition Law, Business Relations with clients

Prerequisites

none

Literature

  • Depending on events further links and secondary Literature made ​​available

Assessment methods

  • Final Exam

4. Semester

Name ECTS
SWS
Module 15 Advanced Topics (ATP)
German / kMod
6.00
-
Advanced Topics Game Development (AGD)
German / ILV
3.00
2.00

Course description

Advanced Programming of game consoles.

Learning outcomes

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

  • compare game consoles in relation to their CPU, GPU and memory architectures.
  • use advanced techniques to optimize C++ code.
  • implement small software projects on the PlayStation 3.
  • evaluate the difference between developing a PC or console game, from a programmer's point-of-view.

Course contents

  • Console Architecture
  • Pointer Aliasing
  • Restricted Pointers
  • Data-Oriented Design
  • Optimization
  • GPU Programming
  • Debugging

Prerequisites

- English language skills - Good C++ skills

Literature

  • Online tutorials
  • Individual book chapters
  • GDC/Gamefest-talks

Assessment methods

  • Course immanent assessment method and end exam
Computer Game Ethics (CGE)
German / SE
3.00
2.00
Module 16 Master Thesis (MOD16)
German / kMod
24.00
-
Master´s Thesis (MT)
German / SO
20.00
0.00

Course description

In a final thesis, students will once again show their newly acquired skills and knowledge.

Learning outcomes

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

  • formulate a scientific question for a subject-specific topic
  • apply scientific methods to the research question
  • write a research paper (Master’s thesis)

Course contents

  • All courses of this master degree program.

Prerequisites

All courses must be passed.

Literature

  • See also "Diplomandenseminar"

Assessment methods

  • Final marks of the master thesis by the first and second appraiser.
Seminar for Master´s Thesis (MTS)
German / SE
4.00
2.00

Course description

At the Masterseminar the students will present their work and will be coached by academic coaches.

Learning outcomes

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

  • choose a suitable scientifc area for defining reserach questions for the Master Thesis
  • Familiarize themselves with the situation in the field of research using various methods. (literature research, prototyp development, developement of concepts)

Course contents

  • Writing of the diploma thesis, according to the topic the students do deeper research into a selected topic.

Prerequisites

All lectures of the master degree program up to the 3rd semester.

Literature

  • Depends on the selected topic.

Assessment methods

  • Thesis according the time table presented by the director of the program
  • 2 expert reports
  • Grades 1-5