Eine Spiele-Engine stellt dir grundlegende technische Systeme und Werkzeuge für die Entwicklung eines Spiels bereit. Sie übernimmt Aufgaben, die sonst für jedes Projekt neu entwickelt werden müssten. Dein eigentliches Spiel entsteht darauf aufbauend aus eigenen Regeln, Inhalten, Grafiken, Sounds und Programmierung.
Was ist eine Spiele-Engine?
Eine Spiele-Engine bildet das technische Fundament eines Computerspiels. Sie stellt verschiedene Systeme bereit, die du für dein eigenes Projekt verwenden und anpassen kannst. Dazu gehören je nach Engine beispielsweise Grafikdarstellung, Physik, Animation, Audio, Eingabeverarbeitung und Werkzeuge zum Aufbau einer Spielwelt.
Ohne eine diese müsstest du viele dieser Grundlagen selbst programmieren oder aus verschiedenen Bibliotheken und Werkzeugen zusammensetzen. Sie nimmt dir deshalb nicht die eigentliche Spieleentwicklung ab. Sie liefert vielmehr eine technische Basis, auf der du deine eigenen Systeme aufbauen kannst.
Was macht eine Spiele-Engine?
Welche Funktionen dazugehören, unterscheidet sich von Engine zu Engine. Moderne Entwicklungsumgebungen bündeln häufig zahlreiche Bereiche unter einer gemeinsamen Oberfläche.
- Rendering: Berechnung und Darstellung von 2D- oder 3D-Grafik
- Physik: Simulation von Bewegungen, Kräften und Kollisionen
- Eingaben: Verarbeitung von Tastatur, Maus, Controller oder Touchscreen
- Audio: Wiedergabe und räumliche Positionierung von Geräuschen und Musik
- Animation: Steuerung bewegter Figuren und Objekte
- Szenen und Level: Organisation und Aufbau der Spielwelt
- Benutzeroberflächen: Darstellung von Menüs, Anzeigen und anderen Bedienelementen
- Programmierung und Skripting: Umsetzung der eigentlichen Spiellogik
Nicht jede Engine bietet dieselben Funktionen oder organisiert sie auf dieselbe Weise. Manche Systeme konzentrieren sich auf bestimmte Spielarten oder Plattformen, während andere für sehr unterschiedliche Projekte eingesetzt werden können.
Wie entsteht aus der Engine ein Spiel?
Die vorhandenen technischen Systeme bilden zunächst nur den Rahmen. Stell dir beispielsweise ein Adventure vor, in dem du eine verschlossene Tür öffnen möchtest. Die Engine kann das 3D-Modell darstellen, seine Animation abspielen, Kollisionen erkennen und eine Tasteneingabe registrieren.
Die eigentliche Regel „Diese Tür öffnet sich nur mit dem passenden Schlüssel“ gehört dagegen zu deinem Spiel. Du legst fest, welcher Schlüssel benötigt wird, was bei der Interaktion passiert und wie das Spiel reagiert, wenn der Gegenstand fehlt.
Damit kombiniert die Entwicklung vorhandene Funktionen mit eigener Spiellogik und eigenen Inhalten.
Engine und Spiel sind nicht dasselbe
Ein mit derselben Engine entwickeltes Spiel muss weder ähnlich aussehen noch ähnlich funktionieren. Die Engine bestimmt nicht automatisch Genre, Handlung, Grafikstil oder Spielmechanik.
Auf derselben technischen Grundlage können beispielsweise ein Rollenspiel, ein Rennspiel und ein Strategiespiel entstehen. Die Unterschiede ergeben sich aus den verwendeten Assets, dem Game Design und der Programmierung.
Als Assets bezeichnet man dabei Inhalte, die in einem Projekt verwendet werden. Dazu können 2D-Grafiken, 3D-Modelle, Texturen, Animationen, Musik und Soundeffekte gehören.
Was bedeutet Rendering?
Eine zentrale Aufgabe vieler Spiele-Engines ist das Rendering. Dabei berechnet das System aus den Informationen der Spielwelt das Bild, das du auf dem Bildschirm siehst.
Bei einem 3D-Spiel berücksichtigt dieser Vorgang beispielsweise Modelle, deren Positionen, Materialien, Lichtquellen und die Kamera. Das System berechnet daraus fortlaufend neue Bilder. Bei einem 2D-Spiel verarbeitet sie entsprechend Sprites, Ebenen, Effekte und weitere grafische Elemente.
Physik und Kollisionen
Physiksysteme simulieren bestimmte Wechselwirkungen innerhalb der Spielwelt. Dazu können Schwerkraft, Geschwindigkeit oder Kräfte gehören. Eine Kollision beschreibt dagegen zunächst, dass sich definierte Bereiche zweier Objekte berühren oder überschneiden.
Das bedeutet nicht, dass jedes Objekt automatisch realistisch reagieren muss. Du entscheidest, welche Regeln für dein Spiel gelten. Eine Wand kann die Spielfigur blockieren, während sie durch einen unsichtbaren Trigger problemlos hindurchläuft und dabei ein Ereignis auslöst.
Die Engine verarbeitet deine Eingaben
Drückst du eine Taste oder bewegst einen Controller-Stick, muss das Spiel diese Eingabe zunächst erkennen. Das System dafür ein Eingabesystem bereit.
Was anschließend geschieht, bestimmst du über deine Spiellogik. Ein Tastendruck kann eine Figur springen lassen, ein Menü öffnen oder eine Tür aktivieren. Damit trennt sich die technische Erfassung der Eingabe von ihrer Bedeutung innerhalb des Spiels.
Szenen und Level organisieren die Spielwelt
Viele Engines bieten Editoren, in denen du Spielwelten aufbauen kannst. Dort platzierst du beispielsweise Landschaften, Räume, Figuren, Lichtquellen und interaktive Gegenstände.
Eine solche Szene enthält neben sichtbaren Elementen häufig zahlreiche technische Objekte. Spawnpunkte bestimmen beispielsweise, wo eine Spielfigur erscheint. Trigger lösen Ereignisse aus und unsichtbare Kollisionsbereiche begrenzen die Bewegung.
Programmierung bringt Regeln ins Spiel
Die Engine kennt deine Spielidee nicht. Regeln und Abläufe musst du selbst definieren. Je nach Entwicklungsumgebung geschieht das mit Programmiersprachen, visuellen Skriptsystemen oder einer Kombination aus beiden Ansätzen.
Damit bestimmst du beispielsweise, wie viele Trefferpunkte eine Figur besitzt, wann ein Gegner angreift, welche Gegenstände ins Inventar gelangen oder unter welchen Bedingungen eine Quest abgeschlossen wird.
Was ist der Editor?
Viele Spiele-Engines besitzen eine grafische Entwicklungsumgebung, die häufig als Editor bezeichnet wird. Darin kannst du unterschiedliche Bestandteile des Projekts bearbeiten, ohne sämtliche Aufgaben direkt im Programmcode erledigen zu müssen.
Je nach System lassen sich dort Level gestalten, Eigenschaften von Objekten verändern, Animationen bearbeiten, Materialien konfigurieren oder Spielabläufe testen. Der Editor ist damit ein Werkzeug zur Arbeit mit der Engine, aber nicht die Engine selbst. Im Hintergrund stehen weitere Systeme und Laufzeitkomponenten.
Was passiert beim Testen?
Während der Entwicklung kannst du dein Projekt regelmäßig starten und ausprobieren. So erkennst du beispielsweise, ob deine Spielfigur korrekt auf Eingaben reagiert oder die Schlüsselabfrage der Tür funktioniert.
Tritt ein Fehler auf, beginnt das Debugging. Dabei untersuchst du systematisch, warum das beobachtete Verhalten von der vorgesehenen Funktionsweise abweicht.
Vom Projekt zum Build
Während du im Editor arbeitest, besteht dein Projekt aus zahlreichen Dateien und Einstellungen. Daraus muss schließlich eine Version entstehen, die auf der vorgesehenen Plattform ausgeführt werden kann.
Diesen Zusammenhang findest du beim Build-Prozess wieder. Programmcode, Assets, Einstellungen und weitere Bestandteile des Projekts werden für die Zielplattform verarbeitet. Das Ergebnis kann anschließend getestet oder später veröffentlicht werden.
Warum brauchen Spiele-Engines Versionsverwaltung?
Ein Projekt kann aus sehr vielen Dateien bestehen. Programmcode verändert sich ebenso wie Level, Texturen, Modelle und Konfigurationen. Gerade bei der Arbeit im Team müssen diese Änderungen nachvollziehbar bleiben.
Eine Versionsverwaltung dokumentiert unterschiedliche Entwicklungsstände. Dadurch kannst du beispielsweise feststellen, wann eine Datei verändert wurde oder welche Änderungen zwischen zwei Builds liegen.
Einige Engines besitzen direkte Integrationen für solche Systeme. Dadurch lassen sich bestimmte Funktionen der Versionsverwaltung in den Entwicklungsablauf einbinden.
Welche Spiele-Engines gibt es?
Es existieren zahlreiche Spiele-Engines mit unterschiedlichen Schwerpunkten und Lizenzmodellen. Zu den bekannten Beispielen gehört die Unreal Engine von Epic Games. Sie bietet umfangreiche Werkzeuge für Echtzeit-3D-Anwendungen und unterstützt neben Programmierung mit C++ auch das visuelle Blueprint-System.
Andere Systeme setzen andere Schwerpunkte, Arbeitsweisen oder Programmiersprachen ein. Welche Lösung zu einem Projekt passt, hängt deshalb unter anderem von Spielart, Zielplattformen, Teamgröße, vorhandenen Kenntnissen und technischen Anforderungen ab.
Eine Engine nimmt dir das Game Design nicht ab
Auch eine umfangreiche Engine entwickelt nicht automatisch ein gutes Spiel. Sie stellt Werkzeuge bereit, entscheidet aber nicht, welche Mechaniken Spaß machen, wie eine Geschichte erzählt wird oder ob ein Level sinnvoll aufgebaut ist.
Technik und Gestaltung greifen deshalb ineinander. Die Engine ermöglicht bestimmte Abläufe, während du festlegst, welche Erfahrung daraus für den Spieler entsteht.
Weitere Artikel auf Games und Lyrik
Wenn du dich neben der technischen Spieleentwicklung auch für klassische Adventures interessierst, findest du auf Games und Lyrik weitere Beiträge. In Runaway 3: A Twist of Fate begleitest du Brian und Gina durch ein Point-and-Click-Adventure mit Rätseln, ungewöhnlichen Situationen und einer Geschichte voller Wendungen.
Ein konkretes Beispiel für eine moderne Spiele-Engine und ihre Entwicklungswerkzeuge findest du auf der offiziellen Website von Unreal .
