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