So, sorry hab jetzt wieder Zeit.
Und wie stelle ich mir eine Spieleengine vor?
Es gibt ganz unterschiedliche Engines auf ganz unterschiedlichen Abstraktions-Levels für ganz unterschiedliche Spiele und es ist absolut nicht unüblich, dass man sich zu Beginn der Entwicklung eines Spieles eine
eigene Engine baut - als Framework, das einem
1. die eigentliche Spiele-Entwicklung vereinfacht und beschleunigt und
- vielleicht auch -
2. die Entwicklung des eigentlichen Spiels eventuell auch Nicht-Programmierern ermöglicht
Eine Engine könnte in einem einfachen Fall eine Bibliothek sein mit Funktionen, die einem benötigte Standard-Aufgaben abnehmen - wie Quaxli schreibt, könnte man auch sein Set an wiederverwendbarer, selbstgebauter Klassen als Engine bezeichnen.
Dann gibt es aber auch Engines (und ich denke, das sind die Engines, die man gemeinhin als "Grafik-Engines" bezeichnet), mit grafischen Editoren, bei denen das Schreiben von Programmcodes absolut in den Hintergrund gerät.
Ich habe mal einen Video-Clip gesehen, in dem ein grober Einblick gegeben wurde, wie man mit der Cry-Engine arbeitet. Da funktioniert nahezu alles grafisch. Und neben den ausgeklügelten Werkzeugen für grafisches Design (natürlich in 3d), werden auch Dinge wie Schwerkraft oder Flugbahnen modelliert und nicht mehr wirklich
programmiert. Man modelliert die Gegenstände und weist ihnen physikalische Eigenschaften (Gewicht, Material etc.) in Form von Zahlenwerten zu. Anschliessend verhalten sie sich so, wie man es sich wünscht. Räder drehen sich, Gegenstände fallen runter, wenn Dinge geworfen werden beschreiben sie eine korrekte Flugbahn etc.
Das ist dann die High-End-Ecke der Grafik Engine und die Lizenz für so ein Produkt (also die Berechtigung, es für eigene Spiele kommerziell nutzen zu dürfen), kostet ein Vermögen. Was ich mal gesehen hatte, waren Lizenz-Kosten für die Half Life Engine. Da sprechen wir dann von 6-stelligen Beträgen.
Am anderen Ende gibt es Freeware-Tools, die auch grafisch aufgebaut sind, aber bedeutend einfacher. Bekanntes Beispiel hierfür ist das "Adventure Game Studio", das nach dem grossen Vorbild von Ron Gilbert aufgebaut ist. Ron Gilbert hatte ja anfangs der 80er die geniale Idee, dass er für sein Spiel "Maniac Mansion" nicht einfach mit programmieren loslegt, sondern sich erst ein Programm baut, mit dem er dann Maniac Mansion entwickeln kann: SCUMM (Script Utility for Maniac Mansion).
Wie diese Engine aufgebaut ist, kann man sich eben etwa anhand des Adventure Game Studios vorstellen. Wenn man ein ganz einfaches Grafik-Adventure entwickelt, das sich an den alten Point & Click-Adventure von Ron Gilbert und Lucas Art orientiert, muss man kaum eine Zeile Code programmieren. Man lädt zum Beispiel einfach die einzelnen Bilder der Figur ins Programm - von rechts, von links, von vorne, von hinten + die Bilder für Bewegungsabläufe - und das Programm erstellt daraus den kompletten Code. Auch Hintergrundbilder lädt man einfach rein und mit einfachen grafischen Tools gibt man an, was davon sich im Hintergrund befindet (d.h. die Figur kann vorne durch) und was davon im Vordergrund (d.h. die Figur "verschwindet" dahinter). Dann kann man Bilder von Gegenständen hochladen, diesen Eigenschaften geben etc.
Auch Dinge wie das "Inventar" der Figur lassen sich ganz einfach konfigurieren, einbinden und mit Spiel-Aktionen verknüpfen.
Hier ist die Site dieses Projekts:
AGS - Adventure Game Studio, wo es auch Anleitungen und ein Forum gibt.
Wenn Du ein eigenes Spiel entwickeln willst, stellt sich also durchaus die Frage, ob Du halt nicht eben erst ein Tool entwickelst, das Dir dann die Entwicklung deines Spiels vereinfacht. Das mag erst zusätzlicher Aufwand bedeuten, aber zum einen bist Du so gezwungen, Dir von Anfang an ausführlich Gedanken zum Konzept Deines Spiels zu machen (was an sich schon eine gute Sache ist) und eine eigene Engine kannst Du eben zu 100% Deinen Bedürfnissen anpassen.