Der Aufbau einer modernen Spiele-Engine
Jedes Computerspiel baut auf einer Engine auf, immer wieder liest man in Zeitschriften und Magazinen über Speile-Engines doch was ist es wirklich?
Ein Spiel zu programmieren ist ein sehr großer Aufwand, den jede Einzelheit in dem Spiel muss vom Programmierer berücksichtigt werden z. B. was passiert, wenn man auf die “Enter”-Taste drückt. Aber wenn die gesamte Logik und das Spielverhalten entwickelt ist, muss man ja auch noch auf irgendeiner Art und Weiße das Ganze als Grafik ausgeben.
Durch die immer komplexer werdenden Spiele und deren Grafikausgabe, ist eine Spiele-Engine unbedingt erforderlich. Den die Engine beinhaltet Elemente wie die Grafikausgabe, Soundausgabe, Steuerung und sogar die Spielephysik. Sozusagen greift der eigentliche Spieleprogrammierer dann nur auf die jeweiligen Objekte und Methoden zu, welche die Game Engine bereitstellt.
Manche Engines sind sogar Plattformunabhängig, d. H. dass man damit ein Spiel programmiert und diese ohne großen Änderungsaufwand auf einer X-Box und der PS3 läuft. Das Programmieren mit einer Engine nimmt viel Arbeit ab, jedoch muss man sich zuerst zurechtfinden.
Es gibt kein einheitliches Schema für Engines, daher brauchen Engines z. B. andere spezielle Objekte und Laufzeitroutinen, damit alles so klappt, wie man es sich vorgestellt hat.
Die Grafik oben zeigt deutlich, welche Teile zwangsläufig in einer normalen Engine enthalten sein müssen. Es gibt sehr viele kostenlose Spiele-Engines, eine davon ist z. B. die GTGE für JAVA. Aber man sollte auf ein paar Kleinigkeiten achten:
1. Jede Engine ist in einer speziellen Programmiersprache entwickelt und man muss somit Zwangsweise auch in dieser Programmiersprache das Spiel schreiben. Es gibt zwar komplexe Ausnahmen über die Einbindung mittels DDL-Dateien, aber das würde den Rahmen der einfachen Erklärung sprengen.
2. Manche Engine sind für spezielle Spiele entwickelt worden, daher kann es ziemlich schwer oder gar unmöglich werden, mittels einer “Rennspiel-Engine” ein Strategiespiel zu programmieren. Genau so auch die Art, mit einer 2D-Engine wird kein Mensch ein 3D-Spiel programmieren, sowie mittels einer 3D-Engine ein 2D Spiel unnötig kompliziert wäre.
3. Für ein kleines Spiel, brauch mein keine unnötig komplexe und riesige Engine. Denn dadurch wird das Einarbeiten in die Engine nur unnötig komplex und man könnte letztendlich an der Unüberschaubarkeit der Engine scheitern.
4. Damit man mit einer Engine ein Spiel programmieren kann, sollte man schon einiges Programmiert haben und die objektorientierte Programmierung verstanden haben. Alle Pakete und Klassen werden als Objekte eingebunden und mit ihnen wird auch so programmiert. Ausnahme sind prozedurale Spiele-Engines (nicht Empfohlen).
Ein Java 2D Spiel entwickeln mit der GTGE
Windows Vista Benutzer können sich freuen: DirectX 11 für Vista

Endlich für alle freigegeben




Abbonieren