Spiele-Programmierung
Dieses Modul besteht aus einer Lehrveranstaltung.
Prüfungsordnung: IMG-BA-2025MI-BA-2025
Studienorganisation
Studiensemester: 3
Turnus: Wintersemester, jährlich
Modultyp: Pflichtveranstaltung
Lehrform: Vorlesung/Labor
Sprache: Deutsch
Kompetenzen/Lernziele
Heutige Computerspiele stellen höchst komplexe virtuelle Welten in Echtzeit dar, die von einer Vielzahl selbstständig handelnden Agenten bevölkert werden. In der Veranstaltung werden Techniken der Computergrafik und der künstlichen Intelligenz vorgestellt, die den Kern heutiger Game-Engines bilden. Game Engines werden nicht nur in Computerspielen eingesetzt, sondern sind die Basis aller Echtzeit-Visualisierungen (Medizinische Visualisierung, Virtual Cinematography, … ).
Sie beherrschen die mathematischen Grundlagen sowie die theoretischen Konzepte, Verfahren und Methoden zur effizienten Darstellung und sowie der Animation von und Interaktion mit komplexen virtuellen 3D-Welten. Sie erkennen, welche Algorithmen und Datenstrukturen in High-Level Grafik-Bibliotheken und Game Engines eingesetzt werden und wie diese in Anwendungsprogrammen genutzt werden.
Sie können in der Game Engine Unity und der Programmiersprache C# eigene Projekte für einfache 2D- und 3D-Computerspiele erstellen. Sie können einzelne Bestandteile einer Game-Engine für 2D- oder 3D- Spiele erschaffen.
Sie wenden abstraktes mathematisches Denken zur Analyse und Klassifikation von Problemen und bei der Entwicklung kreativer Lösungen an.
Das Modul vertieft die im Modul 3D-Computergrafik erworbenen Kompetenzen und ist die Basis für Module im Bereich der Interaktion mit komplexen virtuellen Welten (Virtuelle und Erweiterte Realität, Wahlpflichtbereich).
Inhalte
Vorlesung:
- Aufgaben und Aufbau von Game Engines
- Unity-Interface, Unity-Skripte in C#
- Game Loop
- GameObjects & Komponenten
- Hierarchien & Prefabs
- Level-Verwaltung
- Input & Interaktion
- Transformationen
- Ausgangspunkte, Ergebnisse und Verfahren der Simulation in der Physik-Engine
- Hüllkörper
- Kollisionserkennung
- Wegfindung für autonome Agenten
- A-Stern Algorithmus
- Navigationsnetzzwerke
- Bewegung & Kontrolle
- Zusammenwirken der Systeme zur Bewegung (Transformation, Animation, Physik, Wegfindung)
- einfache Regelungssysteme
- Partikelsysteme
- Steuerung autonomer Agenten:
- Boids
- Endliche Automaten
Tutorien:
- Unity-Benutzerinterface
- GameObjects & Prefabs
- State-Management
- UI-Programmierung
- Terraingenerierung
- Navigation
- Geräusche und Musik
Tools:
- Game Engine: Unity
Arbeitsaufwand
4 SWS, 5,0 Creditpoints (CP)
60 h Präsenzstudium, 90 h Eigenstudium
Prüfung
Art der Prüfung: Prüfungsleistung
Prüfungsform: SP(HA)
Entwicklung eines einfachen Computerspiels auf Basis der Game-Engine Unity
Labor zur Anerkennung des Moduls nötig:
Literatur
- Eric Lengyel. Foundations of Game Engine Development, Volume 1: Mathematics, Terathon Software LLC, 2021
- Eric Lengyel. Foundations of Game Engine Development, Volume 2: Rendering, Terathon Software LLC, 2021
- Tomas Akenine-Möller et. al. Real-Time Rendering. 4rd Edition, AK Peters, 2018 (Hinweis: Überblick über aktuelle Verfahren 3D-Computergrafik)
- Robert Nystrom. Game Programming Patterns. Genever Benning, 2014
Voraussetzungen
Voraussetzungen lt. Prüfungs- und Studienordnung
keine
Empfohlene Veranstaltungen
Verantwortliche Dozierende
Modulverantwortliche(r): Prof. Dr. Knut Hartmann
Dozent(in): Prof. Dr. Knut Hartmann B.Sc. Torben Haase