Was ist eine Game Engine?
Eine Game Engine bezieht sich auf Software-Entwicklungsumgebungen, die speziell für die Erzeugung von Videospielen entwickelt wurden. Es enthält die Kernbibliothek der in einem Spiel verwendeten Funktionen, ist jedoch unabhängig vom Inhalt eines bestimmten Spiels. Assets, die das Spiel einzigartig machen, wie Themen und Charaktere, bilden den Inhalt. Mit der Game Engine wird gesteuert, wie Assets interagieren, um das Spiel zum Leben zu erwecken. Dies wird durch eine Reihe wiederverwendbarer Komponenten erreicht, die als Motor für Spiele verschiedener Genres und Stile dienen können.
Die Rolle einer Game-Engine besteht darin, hinter den Kulissen alles zu tun, was ein Videospiel spielbar macht. Zu den zentralen Komponenten gehören eine Grafik-Rendering-Engine, eine Physik-Engine und eine Kollisionserkennung. Die Rendering-Engine generiert aus einer Szenendatei ein zwei- oder dreidimensionales Bild, in dem Elemente wie Ansichtspunkt, Beleuchtung und Textur definiert sind. Physik-Engines nähern sich Bewegungen der realen Welt auf eine Weise an, die dem Spieler vertraut, aber auch im Kontext des Spiels von Bedeutung ist. Bei der Kollisionserkennung wird festgelegt, wie das Spiel zwei oder mehr gerenderte Objekte erkennt, anzeigt und auf diese reagiert.
Andere Ressourcen wie Netzwerkfähigkeit, künstliche Intelligenz und Klangerzeugung sind häufig auch Bestandteile einer Game-Engine. In der Regel stehen dem Entwickler Komponenten über eine visuell integrierte Entwicklungsumgebung (IDE) zur Verfügung, die das Erstellen von Spielen vereinfacht. Szenendateien können beispielsweise mit der Rendering-Engine prototypisiert und getestet werden, ohne die IDE zu verlassen. Ein solcher Ansatz fördert auch die Wiederverwendung von Komponenten, wodurch der Erstellungsprozess einfacher und effizienter wird.
Die meisten frühen Spiele-Engines waren proprietäre Designs, die für die Erstellung eines einzelnen Spiels entwickelt wurden. Die Flexibilität, die durch die Auswahl bevorzugter Komponenten und die Erstellung einer speziellen Schnittstelle geboten wird, wurde gewürdigt. Ein solcher Ansatz gab den Entwicklern viel Kontrolle über das Erscheinungsbild von Spielen, verlängerte aber den Entwicklungszyklus erheblich. Kostenbeschränkungen verbieten normalerweise die Verwendung einer proprietären Game-Engine in den meisten Projekten.
Es stehen vollständige, einsatzbereite Spieleentwicklungssuiten zur Verfügung, die die gesamte Funktionalität proprietärer Designs bieten. Viele sind kommerzielle Produkte, aber eine Open-Source-Spiele-Engine von vergleichbarer Qualität ist nicht schwer zu finden. Diese sind offen für Code-Optimierungen, um den bevorzugten Programmierstilen oder -werkzeugen Rechnung zu tragen. Ein Spielehersteller verfügt möglicherweise nicht über die Flexibilität einer proprietären Engine, aber die Zeit- und Geldersparnis bei der Entwicklung überwiegt in der Regel bei weitem den Verlust an Gestaltungsfreiheit.