GameEngine
Die Software, die für das Verwalten der Spiel-Daten, die Darstellung der Grafik und die Auswertung von Spielereingaben zuständig ist, wird als GameEngine bezeichnet.
Fast alle Spiele haben große Gemeinsamkeiten was die technischen Anforderungen angeht. Dazu gehören die Umwandlung von Szenenbeschreibungen in grafische Bilder (Rendern), die Anbindung von Eingabegeräten (Hardware wie Controller, Maus, Tastatur, Touchscreen, usw.), die Wiedergabe von Sound- und Videodateien, das Aufrufen von Scripten, die die Spiellogik formulieren und das Austauschen von Daten über Netzwerkverbindungen. Viele dieser Aufgaben sind komplex umzusetzen, vor allem wenn eine Vielzahl von Hardware und Plattformen (PC, Konsolen, Mobil, …) unterstützt werden sollen. Es macht daher wenig Sinn, für jedes Spiel alle Aufgaben neu selbst zu programmieren. Statt dessen stellen GameEngines Softwarepakete bereit, die alle diese Aufgaben bereits erfüllen. Da sich Engines oft über viele Jahre entwickeln und Gruppen von Spezialisten ihr Wissen darin vereinen, ist der Einsatz einer guten GameEngine von unschätzbarem Wert. Dem Spiele-Entwickler erspart der Einsatz solcher Bibliotheken enorm viel Arbeit an grundsätzlichem, so dass Arbeitszeit und Kreativität direkt in die Entwicklung der Spielinhalte fließen können.
Eine GameEngine ist im Kern ein unsichtbarer Software-Teil, der quasi als Abspielgerät für das Medium Spiel fungiert. Allerdings liefern heutzutage immer mehr Hersteller auch grafische Entwicklungsumgebungen mit ihren Engines aus, die die Entwicklungsgeschwindigkeit meist deutlich erhöhen und den Einstieg in die Technik erleichtern. In diesen Fällen, etwa bei Unity, verschwimmen die Grenzen zwischen Engine und Autorensystem, so dass oft zusammengefasst von einer GameEngine gesprochen wird, obwohl der Editor genau genommen kein echter Bestandteil der GameEngine ist.