Spiele-Engines: Was ist eine Engine?
Nicht zuletzt wegen der Unreal Engine konnte Epic zu einem riesigen Konzern auf dem Game-Markt wachsen. Eine Techdemo zur Ende des Jahres erwarteten Unreal Engine 5 sorgte nun für Aufsehen. Wir blicken auf die neue Engine und die Historie der Unreal Engine, erklären euch alles zu Spiele-Engines im Allgemeinen und was ihr sonst noch wissen müsst!
Was ist eine Engine überhaupt?
Engine bedeutet Motor oder Antrieb. Eine Spiele-Engine treibt also quasi das Spiel an. Technisch gesehen ist eine Spiele-Engine ein Programm innerhalb des Spiels, das die Spielegrafik darstellt und sich auch darum kümmert, den Sound korrekt mit einzubinden und dabei Reflexionen von Schallwellen oder die Raumgröße zu beachten. Die Engine besteht dabei unter anderem aus einer Sammlung von Befehlen und Algorithmen, die von Programmierern genutzt werden können, damit die Engine am Ende die Grafik berechnet.
In diesem Artikel
- Seite 1 Spiele-Engines: 3D-Grafik und Engines
- Seite 2 Spiele-Engines: Was ist eine Engine?
- Seite 3 Spiele-Engines: Raytracing, CryEngine, Frostbite und Unity
- Seite 4 Spiele-Engines: Unreal und die Unreal Engine 5
- Seite 5 Bildergalerie zu "Unreal Engine 5: Was kann die Next-Gen-Engine und was sind Engines überhaupt"
Dazu gehören auch Effekte zur Darstellung von Explosionen oder Wasser und ähnlichem, aber auch das möglichst korrekte Darstellen von Schatten und Licht in Abhängigkeit vom Material, das ein 3D-Objekt haben soll. Oftmals sind auch vorgefertigte 3D-Objekte, ein Editor und Texturen Bestandteil der Engine.
Quelle: Nvidia Eine Textur ist quasi eine Art Tapete: die Mauer eines Gebäudes im Hintergrund scheint aus einzelnen Ziegelsteinen zu bestehen. In Wahrheit ist sie aber absolut eben und hat nur eine Textur mit einem Ziegelsteinmuster aufgepappt bekommen. Durch so genannte Bumpmaps kann man der Wand nun noch eine Art Schatten-Profil vergeben. Die Bumpmap gibt an, wo das Objekt, genauer gesagt die Textur - also in unserem Beispiel das Ziegelstein-Tapete - Erhebungen hat beziehungsweise simulieren soll. Dadurch können Licht und Schatten berechnet werden, ohne dass das 3D-Objekt, welches die Wand darstellt, wirklich hervorstehende Teile hat. Auch links im Bild wird zusätzlich zur Textur eine Bump-Map genutzt, damit beispielsweise die Nieten, die in Wahrheit einfach nur ein Bestandteil des Textur sind (die Oberfläche ist in Wahrheit flach), je nach Lichteinfall plastisch wirken. Echt modellierte Nieten oder auch Furchen zwischen Ziegelsteinen einer Wand würden deutlich mehr Rechenpower benötigen, denn jede neue Kante oder Rundung bedeutet: es gibt weitere Polygon, die den PC bei seiner Rechenarbeit belasten. Ein Polygon ist eine Mehreckige 2D-Fläche - 3D-Objekte bestehen aus solchen Polygonen, die zusammengesetzt einen plastischen Körper ergeben. Bei 3D-Grafik sind die Polygone so gut wie immer Dreiecke. Ein Würfel mit sechs Flächen besteht also aus 12 Polygonen.
Quelle: Farcrygame Auch die Darstellung von physikalisch korrektem Verhalten von bestimmten Objekten gehört bei einer modernen Spiele-Engine dazu. Ein bekannter Sektor ist dabei die Ragdoll-Physik, welche Körper von Menschen oder auch Tieren möglichst realistisch bewegen soll, wenn diese physikalischen Kräften ausgesetzt werden. Dieses Verfahren ersetzte Ende der 90er Jahre das damals noch übliche Abspielen einer vorher festgelegten Animation. Den Namen Ragdoll (Lumpenpuppe) verdankt diese Sparte der Tatsache, dass die Körper sich zunächst eher wie Lumpenpuppen verhielten. Die Arme und Beine schlackerten, als wären keine Muskeln und Knochen im Körper. Im Laufe der Zeit wurden die Engines aber immer besser, so dass mittlerweile je nach dem, wie viel Wert darauf gelegt wird, sogar Knochenbrüche auf eine anatomisch korrekte Art und Weise mit einbezogen werden können. Die Programmierer können dabei die Ragdoll-Physik auch in einem gewissen Rahmen anpassen, zum Beispiel bei Treffern mit einer Schrotflinte den Gegner deutlich härter wegstoßen als es in der Realität der Fall wäre, um mehr Action zu bieten. Da die Ragdoll-Physik selbst einige Jahre nach der Jahrtausendwende ein recht neuer Bestandteil von Games war, wirkte die Ragdoll-Physik zuerst sehr makaber, vor allem wenn man eine virtuelle Leiche nachträglich noch weiter durch Schüsse, Schläge oder eine Explosion traktierte. In Far Cry aus dem Jahr 2004 wurde die Version, in der das Ragdoll-System komplett aktiviert war, in Deutschland sogar indiziert.
Quelle: Videogameszone.de Eine Spiele-Engine kann von einem Programmierer-Team speziell für ein bestimmtes Spiel selbst entwickelt werden - üblicherweise greifen aber die Teams auf Engines zurück, die von größeren Firmen entwickelt wurden und durch den Erfolg stetig verbessert werden. Teils waren diese großen Firmen früher selbst noch ein eher kleines Programmiererteam, wie die schon genannten Crytek, die für Far Cry die damals brandneue Cry-Engine kreierten. Um eine Engine nutzen zu dürfen, wird in der Regel eine Lizenzgebühr fällig. Dies kann eine Umsatzbeteiligung am Spiel sein, aber auch ein Pauschalbetrag. Ebenso möglich: eine zum Teil kostenlose Nutzung. Epic gewährt für die Unreal Engine eine kostenlose Nutzung, solange der Umsatz 3000 Dollar nicht übersteigt. Somit können kleine Studios ohne großes Risiko die Engine verwenden - und gleichzeitig verdient der Konzern durch die Popularität und Qualität der Engine kräftig mit.
Ich glaube das gilt aber nur für static meshes, also Models die sich nicht bewegen.
Aber was ich noch besser finde ist die neue "Lumen Lighting Engine", so schickes Lighting war in UE4 nur mit vorberechneten lightmaps möglich.