Das Buch zu Game-Engineering

Grundlegende Konzepte und Techniken

Buch Cover Game-Engineering – Grundlegende Konzepte und Techniken
Autor
Prof. Dr. Frank Dopatka
Verlag
Carl Hanser Verlag
ISBN
978-3-446-48533-4
Erscheinung
August 2026
Auflage
1. Auflage

Hier finden Sie alle Informationen zu meinem geplanten Buch "Game-Engineering - Grundlegende Konzepte und Techniken". Es soll ca. 400 Seiten haben und beim Carl Hanser Verlag im August 2026 erscheinen. Es kann bereits über https://www.hanser-fachbuch.de/Game-Engineering/978-3-446-48533-4 vorbestellt werden.

Wie funktionieren moderne Game Engines unter der Haube – ganz unabhängig von Unity, Unreal oder Godot?

Dieses Buch liefert die erste umfassende, deutschsprachige Einführung in den Aufbau moderner Game Engines aus Sicht der Softwaretechnik. Statt sich auf eine bestimmte Engine zu beschränken, vermittelt es universelle Architekturprinzipien, Subsysteme und Algorithmen – verständlich, technisch fundiert und praxisnah.

Von Rendering-Pipelines, Animation und Physik über State Machines, Audio, Ressourcenmanagement und Netzwerktechnik bis hin zu Performance-Optimierung, Algorithmen und KI – das Buch gibt einen vollständigen Einblick in die Funktionsweise komplexer Spielsysteme.

Mit anschaulichen Beispielen, klarer Struktur und einem Fokus auf softwaretechnische Klarheit ist es ein unverzichtbares Grundlagenwerk für Studierende, Entwickler und alle, die verstehen wollen, wie professionelle Spiele entstehen. Starten Sie noch heute Ihre Reise in die faszinierende Welt der Spieleentwicklung!

Zielgruppen:
✅ Dozierende und Studierende in der Spiele-Entwicklung, der Medieninformatik und der Informatik im Allgemeinen
✅ Entwickler, die Game Engines verstehen statt nur benutzen wollen
✅ Indie-Entwickler, Tech Artists und Softwarearchitekten

Besonderheiten des Buchs:
✅ Engine-unabhängig erklärt
✅ Softwarearchitektur im Fokus
✅ Moderne Techniken: ECS, DOD, Raytracing, prozedurale Generierung
✅ Python-Beispiele ohne C++-Barriere
✅ Umfangreiche Zukunftsbetrachtung




Das geplante Inhaltsverzeichnis, noch unter Vorbehalt:


1 Einführung in Game Engines

1.1 Die kleinen und die großen Entwickler

1.2 Game Engines, Frameworks und Bibliotheken

1.3 Aufgaben einer Game Engine

1.4 Die Bedeutung der Softwaretechnik

1.5 Zielgruppen und Einsatzbereiche

1.6 Ein historischer Überblick

1.6.1 Die frühen Jahre: Spiele ohne Engine

1.6.2 Der Schritt zur Modularität: Die 1990er-Jahre

1.6.3 Die 2000er-Jahre: Technologische Spezialisierung und plattformübergreifende Entwicklung

1.6.4 Moderne Multi-Plattform-Engines: Flexibilität und universelle Anwendungen

1.7 Was dieses Buch ist und was nicht

1.8 Ausblick auf die weiteren Kapitel

2 Architektur moderner Game Engines

2.1 Die Game Loop als Steuerzentrum

2.1.1 Der Faktor Zeit

2.1.2 Die Eingabephase

2.1.3 Die Logikphase

2.1.4 Die Renderingphase

2.2 Subsysteme und ihre Kommunikation

2.2.1 Ein Überblick über die Subsysteme

2.2.2 Kommunikationsarten

2.3 Plattformübergreifende Entwicklung

2.4 Klassische Programmierparadigmen

2.4.1 Prozedurale Denkweise

2.4.2 Objektorientierte Denkweise

2.4.3 Praxisbeispiel: Objekte in Aktion

2.5 Komponentenbasierte Architektur mit Game Objects

2.5.1 Game Objects

2.5.2 Klassische Komponenten

2.5.3 Synchronisierungs- und Lifecycle-Management

2.5.4 Komponenten in Game Engines

2.5.5 Organisation und Verwaltung von Game Objects

2.5.6 Erstellung und Erweiterung von Game Objects

2.5.7 Best Practices und Fallstricke

2.5.8 Praxisbeispiel: Game Objects in Aktion

2.6 Das Entity-Component-System

2.6.1 Entitäten, Komponenten und Systeme

2.6.2 Datenorientierung und Cache-Friendliness

2.6.3 ECS in Game Engines

2.6.4 ECS-Komponentenbeispiele

2.6.5 Praxisbeispiel: Implementierung eines einfachen ECS

2.6.6 Gegenüberstellung der Architekturen

2.7 Zustandsmodelle und Zustandsautomaten

2.7.1 Klassische Zustandsautomaten

2.7.2 Anwendung bei Game Objects und ECS

2.7.3 Komponentenbasierte Zustandssteuerung

2.7.4 Werkzeuge zur Umsetzung von Zustandsautomaten

2.7.5 Bewertung und Vergleich mit Alternativen

3 Benutzerinteraktion

3.1 Grundlagen der Benutzerinteraktion

3.1.1 Direkte und indirekte Steuerung

3.1.2 Eingabegeräte und Technologien

3.1.3 Immersive Technologien und Zukunftstrends

3.2 Eingabeverarbeitung

3.2.1 Erfassung und Interpretation von Eingaben

3.2.2 Filterung, Deadzones und Glättung von Eingabedaten

3.2.3 Optimierung der Eingabeverarbeitung und Latenzreduktion

3.2.4 Eingabeverarbeitung in Mehrspieler-Umgebungen

3.3 Benutzerinteraktion und Gameplay-Logik

3.3.1 Steuerung von Spielfiguren und Fahrzeugen

3.3.2 Verbindung zwischen Eingabe, Spiellogik und physikalischer Simulation

3.3.3 KI-Reaktionen auf Benutzereingaben

3.4 Interaktion und Benutzererfahrung

3.4.1 Bedeutung von Feedback für Kontrolle und Immersion

3.4.2 Faktoren einer positiven Benutzererfahrung

3.5 Gestaltung von intuitiven Steuerungen

3.6 Barrierefreiheit

3.6.1 Anpassung der Steuerung für motorische Einschränkungen

3.6.2 Visuelle und auditive Unterstützung

3.6.3 Kognitive Barrierefreiheit und Komfortfunktionen

3.6.4 Fazit zur Barrierefreiheit

3.7 Benutzerinteraktion in konkreten Engines

3.7.1 Eingabeverarbeitung in Unity

3.7.2 Eingabeverarbeitung in Unreal Engine

3.7.3 Eingabeverarbeitung in Godot Engine

3.8 Fazit

4 Rendering-Systeme

4.1 Einführung in das Rendering

4.1.1 Grundlagen der Computergrafik

4.1.2 2D- und 3D-Rendering

4.1.3 Echtzeit-Rendering vs. Offline-Rendering

4.2 Die Rendering-Pipeline

4.2.1 Überblick über die Stages

4.2.2 Fixed-Function-Pipeline vs. programmierbare Pipeline

4.2.3 GPU-Architektur und grundlegende Shader-Modelle

4.3 Vertexverarbeitung & Projektion

4.3.1 Modell-, Welt- und Kamera-Transformation

4.3.2 Die Projektionsmatrix

4.3.3 Kameraeigenschaften und Frustumdefinition

4.3.4 Anwendung in Game Engines

4.4 Primitive-Zusammenstellung & Clipping

4.4.1 Primitive-Typen: Punkte, Linien, Dreiecke

4.4.2 Primitive Assembly und Index-Buffer

4.4.3 Frustum Clipping & Guard Band

4.4.4 Backface Culling und LoD-Vorfilterung

4.5 Rasterisierung & Fragmentverarbeitung

4.5.1 Rasterisierung: Scan Conversion und Interpolation

4.5.2 Fragment Shader: Grundlagen und Aufgaben

4.5.3 Lichtquellenmodelle und Beleuchtungsberechnung

4.5.4 Materialsysteme und Shadingmodelle

4.5.5 Texturen und Mapping-Techniken

4.5.6 Physically Based Rendering (PBR)

4.5.7 Implementierung von Licht und Materialien in Game Engines

4.5.8 Fallbeispiel Metahuman

4.6 Fragmenttests & Ausgabevermischung

4.6.1 Z-Buffering und Sichtbarkeit

4.6.2 Stencilbuffer und Maskierung

4.6.3 Alpha-Test, Discard, Early-Z

4.6.4 Blending und Transparenzeffekte

4.6.5 Multi-Render Targets und Output-Merging

4.7 Framebuffer & Post-Processing

4.7.1 Framebuffer-Aufbau und Output

4.7.2 HDR-Rendering und Tone Mapping

4.7.3 Bloom, Motion Blur und Depth of Field

4.7.4 Anti-Aliasing

4.7.5 Screen-Space Effekte

4.7.6 Post-Processing-Pipelines in Engines

4.8 Szenengraph & Draw Call-Management

4.8.1 Hierarchische Transformationen und Parenting

4.8.2 Sichtbarkeitsprüfung (Frustum Culling)

4.8.3 Sortierung, Batching und Instancing

4.8.4 GPU-Submission: Draw Calls & Render Passes

5 Physiksimulation in Game Engines

5.1 Einführung in die Physik von Game Engines

5.2 Grundlegende Konzepte der Physiksimulation

5.2.1 Grundlagen der Bewegungsphysik

5.2.2 Kollisionserkennung und -behandlung

5.2.3 Constraints und Gelenke

5.3 Physikalische Bewegungssysteme

5.3.1 Kinematik und Dynamik

5.3.2 Bewegungsgleichungen

5.3.3 Numerische Integration in Echtzeit

5.3.4 Fahrzeugdynamik

5.3.5 Flug- und Raumfahrtdynamik

5.4 Soft-Body-Simulationen

5.4.1 Masse-Feder-Modell

5.4.2 Finite-Elemente-Methode (FEM)

5.4.3 Zerstörungssimulation und prozedurales Fracturing

5.4.4 Finite-Volumen-Methode (FVM)

5.4.5 Material Punkt Methode (MPM)

5.4.6 Cloth-Simulation

5.5 Simulationen und Partikel

5.5.1 Diskrete-Elemente-Methode (DEM)

5.5.2 Smoothed Particle Hydrodynamics (SPH)

5.5.3 Dissipative Particle Dynamics (DPD)

5.5.4 Grid-Based-Simulationen

5.5.5 Hybrid-Methoden für optimierte Simulationen

5.6 Praxisbeispiele

5.6.1 Pygame: Rendering und Physik in 2D

5.6.2 Ursina: 3D-Beispiele mit Partikeln und Shadern

5.6.3 Übergang zu professionellen Engines

6 Animation und Bewegungssteuerung

6.1 Einführung in Animationen

6.1.1 Bedeutung für das Spielerlebnis

6.1.2 Herausforderungen bei der Implementierung

6.1.3 Technische Grundlagen: FBX-Format und Rigging

6.2 Arten von Animationen in Game Engines

6.2.1 Keyframe-Animation

6.2.2 Prozedurale Animation

6.2.3 Physikbasierte Animation

6.2.4 Hybride Animation

6.2.5 Praktische Ressourcen: Mixamo als Animations-Bibliothek

6.3 Animationssysteme in Game Engines

6.3.1 Ein kurzer Vergleich verschiedener Game Engines

6.3.2 Steuerung von Animationsgraphen

6.3.3 Retargeting-Techniken

6.4 Bewegungssteuerung von Charakteren und Objekten

6.5 Inverse Kinematik (IK) in Animationen

6.5.1 Grundlagen und Anwendung der inversen Kinematik

6.5.2 Animation Layers

6.6 Übergänge und Animation Blending

6.6.1 Animation State Machines und Blend Trees

6.6.2 Moderne Entwicklungen in der Animation

6.7 Trigger und Events in Animationen

6.8 Praxisbeispiel zu Animation und Bewegung

6.8.1 Charakter und Animationen aus Mixamo exportieren

6.8.2 Installation von Unity und das erste Projekt

6.8.3 Integration der FBX-Dateien aus Mixamo

6.8.4 Fazit zum Beispiel

7 Audio

7.1 Grundlagen der Audiotechnik

7.1.1 Digitale Audiowiedergabe

7.1.2 Psychoakustik

7.1.3 Audioformate und Kompression

7.1.4 Räumliche Audiowiedergabe

7.1.5 Schallverdeckung

7.2 Audio-Architektur

7.2.1 Soundquellen und Audio-Manager

7.2.2 Audioprozessoren (DSP)

7.2.3 Wiedergabesystem

7.2.4 Signalfluss

7.3 Dynamische Audiosteuerung

7.3.1 Adaptive Musik

7.3.2 Dynamische Soundeffekte

7.3.3 Situationsabhängiges Sound-Mixing

7.3.4 Parametrische Audiosteuerung

7.4 Synchronisation mit anderen Subsystemen

7.4.1 Audio und Animation

7.4.2 Audio und Physik

7.4.3 Audio und KI

7.4.4 Audio und andere Subsysteme

7.5 Praxisbeispiel: Implementierung eines einfachen Audio-Systems

7.6 Anwendungsbeispiele und Entwurfsmuster aus der Praxis

7.6.1 Materialabhängige Fußschritte

7.6.2 Adaptive Soundeffekte und räumliche Audio-Integration

7.6.3 Sound als Spannungsmechanik in Horror-Games

7.7 Fazit und Ausblick

8 Ressourcenmanagement

8.1 Ressourcen in Spielen

8.2 Ressourcenmanagement-Strategien

8.3 Ressourcenpools

8.4 Asset-Management-Systeme

8.5 Optimierungstechniken

8.6 Herausforderungen beim Ressourcenmanagement

8.6.1 Speicherverwaltung und Speicherfragmentierung

8.6.2 Ladezeiten und asynchrones Streaming

8.6.3 Plattformunterschiede

8.6.4 Abhängigkeiten und Asset-Konsistenz

8.6.5 Dynamische Ressourcenverwaltung zur Laufzeit

8.6.6 Speicherlecks und Performanceprobleme

8.7 Praxisbeispiel: Ressourcenpools mit Pygame

9 Netzwerktechnik & Multiplayer

9.1 Einführung in die Netzwerktechnik in Spielen

9.1.1 Relevanz von Netzwerken in modernen Spielen

9.1.2 Herausforderungen in Echtzeit-Mehrspielersystemen

9.1.3 Lokale und Online-Multiplayer

9.2 Grundlagen der Netzwerkarchitektur

9.2.1 Client-Server-Architektur

9.2.2 Peer-to-Peer-Architektur

9.2.3 Hybride Architekturen

9.2.4 Architekturauswahl nach Spieltyp

9.3 Synchronisation und Replikation

9.3.1 Zustandsreplikation

9.3.2 Ereignisbasierte Synchronisation

9.3.3 Delta-Kompression und Bandbreitenoptimierung

9.3.4 Interpolation und Extrapolation

9.3.5 Latenzkompensation

9.4 Latenzmanagement und Fehlerkorrektur

9.4.1 Ursachen von Latenz

9.4.2 Lag Compensation

9.4.3 Forward Error Correction

9.4.4 Netzwerkpriorisierung

9.4.5 Netzwerk-Smoothing

9.5 Netzwerkprotokolle in Spielen

9.5.1 TCP und seine Eigenschaften

9.5.2 UDP und seine Eigenschaften

9.5.3 Hybride Protokollkombinationen

9.6 Matchmaking und Sitzungsmanagement

9.6.1 Skill-basierte und hybride Matchmaking-Modelle

9.6.2 Lobby-Management

9.6.3 Host-Migration und Sitzungsstabilität

9.7 Sicherheit und Datenschutz

9.7.1 Cheat-Prävention und Anti-Cheat-Systeme

9.7.2 Account-Sicherheit und MFA

9.7.3 Datenschutz und rechtliche Rahmenbedingungen

9.7.4 Voice- und Chatüberwachung im Spannungsfeld

9.7.5 Zukunftstrends wie Zero-Trust und Blockchain

9.8 Skalierung und Cloud-Technologien

9.8.1 Lastverteilung und Sharding

9.8.2 Einsatz von Cloud-Services

9.8.3 Edge Computing im Multiplayer-Kontext

9.9 Netzwerkbibliotheken und Protokolle für Spiele

9.9.1 Überblick und Auswahlkriterien

9.9.2 Grundlegende Transportprotokolle

9.9.3 Web-Technologien für Multiplayer

9.9.4 Reliable-UDP-Bibliotheken

9.9.5 Gaming-spezifische SDKs und Dienste

9.9.6 Echtzeit-Medienprotokolle

9.9.7 Sicherheitsprotokolle

9.9.8 Entscheidungshilfe und Zusammenfassung

9.10 Praxisbeispiele und Best Practices

9.10.1 Architektur eines einfachen Echtzeit-Multiplayers

9.10.2 Tickrate und Synchronisation im Pygame-Projekt

9.10.3 Best Practices für robuste Multiplayer-Implementierungen

9.10.4 Ein einfaches Multiplayer-Spiel

9.11 Netzwerktechnik-spezifischer Ausblick

9.11.1 Trends in Netzwerkprotokollen

10 Algorithmen in Game Engines

10.1 Zufalls- und Wahrscheinlichkeitsalgorithmen

10.1.1 Zufallszahlengeneratoren

10.1.2 Monte-Carlo-Methoden für Simulationen und Tests

10.2 Wegfindung und KI

10.2.1 Dijkstra-Algorithmus: Alternative für kürzeste Wege

10.2.2 A*-Algorithmus: Grundlagen und Anwendungsbeispiele

10.2.3 Steering-Behaviors: Patrouille, Gegnerverfolgung, Flucht, Hindernisvermeidung

10.2.4 Schwarmverhalten und Gruppendynamiken

10.3 Kollisionsalgorithmen

10.3.1 Die Bounding Volume Hierarchy

10.3.2 Das Separating Axis Theorem

10.3.3 Sweep and Prune

10.3.4 Praxis: Aufbau eines Kollisionssystems für ein 2D-Spiel

10.4 Prozedurale Generierung

10.4.1 Grundlagen prozeduraler Generierung

10.4.2 Perlin Noise und Simplex Noise: Landschaften und Texturen

10.4.3 Zelluläre Automaten: Dungeon-Generierung

10.4.4 L-Systeme für Vegetation und Strukturen

10.5 Szenenmanagement und Raumaufteilung

10.5.1 Quadtrees und Octrees: Kollision und Sichtprüfung

10.5.2 BSP-Trees: Partitionierung von Spielwelten

10.5.3 k-d-Bäume: Nächste Nachbarn und Kollisionen

10.5.4 Praxis: Optimierung eines Szenengraphen

10.6 Rendering- und Audioalgorithmen

10.6.1 Ray Tracing und Ray Casting: Grundlagen und Unterschiede

10.6.2 Deferred Shading und Level of Detail (LoD): Optimierungstechniken

10.6.3 Fast Fourier Transform (FFT): Audioprozessierung

10.6.4 DSP-Filter für Hall- und Klangmanipulationen

10.6.5 Praxis: Simpler Shader und Audioeffekte

10.7 Zusammenfassung

11 Performance und Optimierung

11.1 Bedeutung der Optimierung

11.2 Optimierung von Game Objects

11.2.1 Effiziente Datenstrukturen für Objekte

11.2.2 Object Pooling und speicherschonende Instanziierung

11.2.3 Lazy Loading und gezieltes Aktivieren/Deaktivieren

11.2.4 Update-Strategien

11.2.5 Effizientes Management großer Mengen an Objekten

11.3 Optimierung von lokalen Benutzereingaben

11.4 Rendering-Optimierungen

11.5 Physik-Optimierungen

11.6 Animation-Optimierungen

11.7 Audio-Optimierungen

11.8 Optimierung von Zustandsautomaten

11.9 Profiling für Performanceoptimierungen

11.10 Debugging von Performanceproblemen

11.11 Plattform- und hardwarespezifisches Tuning

11.12 Zusammenfassung

12 Zukunft von Game Engines: Technik, Verantwortung und Perspektiven

12.1 Game Engines im Wandel

12.1.1 Von monolithischen Systemen zu modularen Plattformen

12.1.2 Entkopplung von Hardware, Laufzeit und Produktionsumgebung

12.2 Offene Ökosysteme und Open Source

12.2.1 Die Rolle von Open Source im Game Engineering

12.2.2 Vergleich offener Game-Engine-Ökosysteme

12.3 Zentrale technologische Entwicklungslinien

12.3.1 Skalierbarkeit, Performance und adaptive Systeme

12.3.2 Künstliche Intelligenz in Entwicklung und Produktion

12.3.3 Generative Systeme für Content und Toolchains

12.3.4 Immersive Plattformen: VR, AR und Mixed Reality

12.3.5 Cloudbasierte Ausführung und Streaming

12.4 Nachhaltigkeit und Wirtschaftlichkeit

12.5 Ethische Verantwortung und Datenbewusstsein

12.6 Die Rolle des Menschen in der zukünftigen Spieleentwicklung