Eine Game-Engine bezieht sich auf Software-Entwicklungsumgebungen, die speziell für die Generierung von Videospielen entwickelt wurden. Es enthält die Kernbibliothek der in einem Spiel verwendeten Funktionen, existiert jedoch unabhängig vom Inhalt eines bestimmten Spiels. Inhalte, die das Spiel einzigartig machen, wie Themen und Charaktere, bilden den Inhalt. Die Spiel-Engine wird verwendet, um zu steuern, wie Assets interagieren, um das Spiel zum Leben zu erwecken. Dies wird durch eine Reihe von wiederverwendbaren Komponenten erreicht, die als Engine für Spiele verschiedener Genres und Stile dienen können.
Die Rolle einer Spiel-Engine besteht darin, hinter den Kulissen all die schweren Arbeiten zu erledigen, die jedes Videospiel spielbar machen. 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, das Elemente wie Blickwinkel, Beleuchtung und Textur definiert. Physik-Engines nähern sich den Bewegungen der realen Welt auf eine Weise an, die dem Spieler vertraut ist, aber auch im Kontext des Spiels sinnvoll ist. Kollisionserkennung beinhaltet, wie das Spiel den Schnittpunkt von zwei oder mehr gerenderten Objekten erkennt, anzeigt und darauf reagiert.
Auch andere Ressourcen wie Netzwerkfähigkeit, künstliche Intelligenz und Sound-Erstellung sind oft Bestandteile einer Game-Engine. In der Regel stehen dem Entwickler Komponenten über eine visuell integrierte Entwicklungsumgebung (IDE) zur Verfügung, die die Spieleentwicklung vereinfacht. Szenendateien können mit der Rendering-Engine prototypisiert und getestet werden, ohne beispielsweise die IDE zu verlassen. Ein solcher Ansatz fördert auch die Wiederverwendung von Komponenten, was den Erstellungsprozess einfacher und effizienter macht.
Die meisten frühen Spiel-Engines waren proprietäre Designs, die für die Erstellung eines einzelnen Spiels entwickelt wurden. Gelobt wurde die Flexibilität durch die Auswahl bevorzugter Komponenten und den Aufbau einer spezialisierten Schnittstelle. Ein solcher Ansatz gab Entwicklern viel Kontrolle über das Erscheinungsbild von Spielen, verlängerte jedoch den Entwicklungszyklus erheblich. Kostenbeschränkungen verbieten in der Regel die Verwendung einer proprietären Spiel-Engine in den meisten Projekten.
Es stehen komplette, gebrauchsfertige Spieleentwicklungs-Suiten zur Verfügung, die alle Funktionen 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 bevorzugte Programmierstile oder -tools zu berücksichtigen. Ein Spielehersteller hat vielleicht nicht die Flexibilität einer proprietären Engine, aber die Zeit- und Geldersparnis bei der Entwicklung überwiegen in der Regel den Verlust an stilistischer Freiheit bei weitem.