Bühne frei für die Cryengine | Retro-Artikel

Rückblick: In der DP 07 : 2103 war es so weit: Crytek veröffentlichte die neue Cryengine – und Modder kamen in den Genuss des neuen Cryengine SDKs. Die Vorteile: Lizenznehmer entwickelten auf höchstem Niveau, Modder konnten endlich auch offline arbeiten.

Dieser Artikel von Rainer Duda erschien ursprünglich in der DP 07 : 2013.

Am 21. August war es soweit. Crytek veröffentlichte die neue Cryengine und am 28. August kamen die Modder in den Genuss, das neue Cryengine SDK auszuprobieren. Für Lizenznehmer heißt das entwickeln auf höchstem Niveau – vor allem für die neue Konsolengeneration. Und für die Modder gilt: Neben zahlreichen visuellen Features, die hinzugekommen sind, dürfen sie sich darauf freuen, endlich offline arbeiten zu können.

Warum hat es so lange gedauert? Das war eine der ersten Fragen, nachdem die Meldung eines neuen Release die Runde gemacht hatte. Das letzte Release ist immerhin lange her; es wurde im Februar 2013 öffentlich gestellt. Bedenkt man, dass Konkurrenten, wie zum Beispiel das UDK von Epic-Games, jeden Monat ein Release veröffentlichen, ist die Frage durchaus berechtigt. Davon abgesehen wird von der Modder-Community ein entsprechend umfangreiches Update mit vielen Neuerungen erwartet.

Einige Trailer waren bereits auf YouTube zu sehen – und die darin gezeigten Features brachten sicherlich viele Augen zum Glänzen. Eine wichtige Frage für die Modder bleibt jedoch, ob es sich hierbei nur um schöne bunte Schachteln im Fenster handelt oder ob wirklich alles, was gezeigt wurde, bereits sofort verfügbar beziehungsweise implementiert ist.

Eine Frage der Zeit

Die lange Wartezeit wurde damit begründet, dass das Cryengine SDK vor dieser aktuellen Veröffentlichung einen eigenen Entwicklungszweig besaß und somit mit der Produktionsumgebung lizenzierter Spiele im Grunde nur entfernt etwas zu tun hatte. Mit dem neuen Cryengine SDK sollte sich das jedoch ändern. Die Monate zwischen Februar und August wurden dazu genutzt, um den Entwicklungszweig für das SDK zu erneuern, und zwar auf Basis des Crysis-3- Programmcodes. Bevor seitens Crytek und dem Crydev-Team ein Release des SDK gemacht werden konnte, wurden während der Integration unzählige Bugfixes durchgeführt.

Ziel dieser ganzen Aktion sollte es sein, der Modder-Community das Beste aus beiden Entwicklungszweigen zur Verfügung zu stellen. Man kann sich aber denken, dass es angesichts dieses Vorhabens noch einige Baustellen geben wird.

Das Crydev-Team ließ durch einen Admin in der Modder-Community mitteilen, dass in Zukunft stetig Updates zur Verfü- gung gestellt würden. Diese sollen dann als ZIP-Datei erhältlich sein und den Prozess der Aktualisierung an sich vereinfachen. So werden die Modder nicht, wie es beim UDK der Fall ist, dazu verdonnert, bei jeder Version eine Neuinstallation vorzunehmen.

Startup

Eine Neuerung – schlichtweg wohl die beste – ist das neue Anmeldesystem für das Cryengine SDK. Musste man doch bei der Version von Februar einen Internetzugang besitzen, um das SDK starten zu können. Das wurde zumindest den Leuten zum Verhängnis, die ein selbst entwickeltes Spiel, basierend auf dem SDK, vorführen wollten, denen aber kein Internet zur Verfügung stand. Keine Panik, wenn nach der Installation der neuen Version doch wieder ein Anmeldefenster erscheint: Momentan ist die Situation so, dass einmal die Crydev-Anmeldeinformationen abgefragt und lokal in der Windows-Registrierung abgelegt werden.

Was gibt’s Neues?

Der Cryengine-Demo-Trailer zeigte eine ganze Reihe an spannenden visuellen Features, angefangen bei einem physikalisch korrekten Haut- und Augen-Shader über die Darstellung von komplexen Simulationen bis hin zu einem verbesserten AnimationGraph, der sich ab sofort „CryMannequin“ nennt.

Hinter diesem neuen Haut- und AugenShader verbirgt sich ein ausgefeiltes Subsurface Scattering inklusive Lichtdurchlässigkeit und Transparenz für die Augen. Das Verhalten der implementierten Funktion von Subsurface Scattering ist schnell erklärt: Wenn man an einem sonnigen Tag die Hand der Sonne entgegenstreckt, sorgt der Lichteinfall auf die Hand dafür, dass sich die Lichtfarbe innerhalb der Hand verändert, sie wird pink. Das liegt daran, dass Photonen in die Hand eintreten, dort umherspringen und sich unter der Haut zerstreuen. Einige von ihnen treten wieder aus der Hand aus, andere werden absorbiert.

Ein weiteres Feature ist das Realistic Deep Face Skinning. Kurz gesagt geht es dabei um eine realistische Bewegung der Gesichtszüge; Muskeln sowie Haut sollen eine natürliche Form annehmen. Klingt an sich trivial, wie einige andere Features auch, jedoch sollte man den nötigen Programmieraufwand nicht unterschätzen.

In Sachen Realismus für Charaktere wurde ordentlich etwas getan. Nicht zuletzt durch die Kombination von Spielelementen, CryMannequin – der sehr viel schneller arbeiten soll als der Animation-Graph – und dem Trackview-Editor scheint eine enge Verbindung zur Filmindustrie zu entstehen. Es dürfte die Modder freuen, dass sie nun all diese Elemente gezielt einsetzen können, um damit kinofilmähnliche Sequenzen à la Crysis 3 zu erzeugen.

Performance & Realismus

Interessant sind zudem die neuen Funktionen, die automatisch beziehungsweise adjustiert vom Nutzer LODs von Geometrie sowie Texturen erzeugen. Wem Level of Detail, kurz LOD, nur indirekt etwas sagt: Darunter versteht man weniger hoch aufgelöste Objekte des gleichen Typs, die gerne als Fallback für die Wahl der Grafikqualität im Menü genutzt werden oder allgemein zur Optimierung im Spiel beitragen (siehe dazu den SpeedtreeArtikel, DP 06:12). Sprich: Nach einer Distanz X werden weniger hoch aufgelöste Objekte dargestellt, da der Spieler seinen Fokus ohnehin auf etwas anderes richtet.

Ein weiteres Highlight ist das sogenannte Procedural GPGPU Weather. Der Name lässt es bereits erahnen, und die Bilder im Trailer sprechen Bände. Also, was ist es genau? Der Begriff „prozedural“ ist an sich selbsterklä- rend. Hierbei handelt es sich nicht um einen durch Scripts erzeugten Ablauf bestimmter Events. Das Verhalten der einzelnen Elemente wird zur Laufzeit des Spiels erzeugt und ausgeführt.

GPGPU dürfte einigen Programmierern und ambitionierten Moddern ein Begriff sein. Das Kürzel steht für „General Purpose Graphics Processing Unit“, kurz die GPU. Damit das zur Laufzeit erzeugte Wetter in dieser hochaufgelösten Form entstehen kann, werden die hierfür notwendigen Berechnungen auf der GPU statt der CPU ausgeführt.

I-Tüpfelchen

Das nächste Highlight, das im Trailer gezeigt wurde, ist das Physically Based Rendering (PBR). Wo liegt der Unterschied zur vorigen SDK-Version?, dürften sich Newcomer fragen. Im Gegensatz zum fotorealistischen Rendering steht beim PBR nicht die künstlerische Note im Vordergrund. Beim fotorealistischen Rendering ist sozusagen fast alles erlaubt. Hauptsache, das Ergebnis sieht schön aus und der Benutzer ist zufrieden. Es gibt keine physikalisch korrekten Werte für Lichtquellen und Reflexionen. Kurz gesagt: Objekte haben oftmals physikalisch unmögliche Charaktereigenschaften.

Beim PBR hingegen basiert das Verhalten des Lichts so exakt wie möglich auf den realen physikalischen Eigenschaften, um das Ergebnis, wie eine Fläche auszusehen hat, vorauszuberechnen. Man kann sagen, es handelt sich um eine numerische Simulation statt einer künstlerischen Komposition. Im Prinzip erhält man eine physikalisch korrekte Darstellung der Umgebung, was das Licht angeht. Um dieses Phänomen im Trailer zu erkennen, sollte man im Hinterkopf behalten, wie PBR funktioniert. So sieht man in der Sequenz Bögen aus Stein, an denen eine Art Fackel befestigt ist. Die Oberfläche des Steinbogens reagiert physikalisch korrekt auf den Lichteinfall der Fackel und die Lichtsprünge vom bronzenen Kelch.

Weitere Updates

Neben diesen doch sehr großen Updates gibt es für die Modder noch einige weitere Features, die ebenfalls aus Crysis 3 bekannt sind. Wer sich speziell für die Arbeit mit Benutzerschnittstellen von Scaleform interessiert, wird sich freuen zu hören, dass Scale form immerhin von Version 3.3.94 auf Version 3.5 upgedated wurde. Für manche mag das ein Schritt zurück sein, da Scaleform 4 mit Actionscript 3 arbeitet. Nichtsdestotrotz kann man sagen, dass bisher gute Dienste geleistet werden. Des Weiteren wurden die Charakterbewegungen von Crysis 3 übernommen.

Im Detail heißt das flüssigere und authentischere Bewegungen. Zusätzlich wurden Übergänge innerhalb des Wassers verbessert, unabhängig vom verfügbaren Ozean. Ebenso wurden Lens-Flare-Effekte hinzugefügt, für einen Tick mehr Realismus.

Spielgenuss durch VR

Wer bei der Entwicklung und beim Spielen auf sogenannte HMDs (Head Mounted Devices) zurückgreifen möchte, wird ebenfalls belohnt. Im neuen Cryengine SDK Release wurde das Oculus SDK 0.1.5 implementiert und erlaubt den Einsatz von Oculus Rift. Wem Oculus Rift nicht geläufig ist: Hierbei handelt es sich um ein VR-Headset, entwickelt von dem Unternehmen Oculus VR, das als Kickstarter-Kampagne gestartet und von Palmer Luckey gegründet worden ist. Daneben gibt es auch Unterstützung für die Cinemizer OLED VR-Brille von Carl Zeiss (siehe DP 01:13).

Dass ein derart großes Update auch einige Baustellen beinhaltet, liegt in der Natur der Sache, und man sollte sich dadurch nicht abschrecken lassen. Die Entwicklung eines eigenen Spiels oder eines Mods hat eben einen gewissen Grad an Komplexität, mit dem man sich anfreunden muss. Ebenso muss man verinnerlichen, dass bei einem Projekt wie Crysis 3 eine Menge an Code vorhanden ist, der angepasst werden muss.

Ernüchterung

Nach dem Download und der relativ einfachen Installation, wie man es vom Cryengine SDK gewohnt ist, kommt das erste mulmige Gefühl auf. Es ist kein Changelog vorhanden, wie es sonst bei Software-Updates üblich ist; also ein Textdokument, das dazu dient, um über die Neuerungen beziehungsweise Änderungen zu informieren.

Das Crydev-Team ließ durch einen Admin in der Community mitteilen, dass die Änderungen derart immens seien, es würde einfach zu lange dauern, alles aufzuzählen. Das ist zurückzuführen auf den neuen Entwicklungszweig.

Im Grunde ist alles neu aufgesetzt, aber auf speziellen Wunsch würden bestimmte Logs aufgezeigt. Leider kann man in diesem Fall die Situation auch nicht umgehen, indem man sich zum Beispiel durch eine OnlineDokumentation arbeitet. Zukünftig soll es eine solche geben, doch derzeit wird man noch vertröstet, bis alles in der Entwicklung unter Dach und Fach ist. In der Community werden die Modder daher auf einen bestimmten Thread verwiesen, in dem sie Fragen und Probleme ansprechen können. Man könnte fast meinen, das Crydev-Team nutze die Modder als eine Art Qualitätssicherung, wie man es von anderen Studios kennt.

Kaltstart

Die fehlende Dokumentation ist an sich nicht dramatisch. Darüber könnte man getrost hinwegsehen. Modder, die bereits eine Weile mit dem Cryengine SDK arbeiten, testen schon einzelne Features wie auch Funktionen und berichten über Fehler, die behoben werden müssen. Neuankömmlinge werden auf die eine oder andere Hürde stoßen, doch Übung macht ja bekanntlich den Meister.

Es sind aber nicht nur Features hinzugekommen, sondern Funktionalität musste auch gehen. Man könnte sagen, Qualität hat ihren Preis. DirectX 9 wird nun nicht mehr unterstützt, sondern nur noch die Versionen DirectX 10 und 11. Leider gibt es tätsächlich etwas zu bemängeln: Bei bestimmten Betriebssystemen ist der Wurm drin. Ung l ü c k l i c h e r w e i – se funktioniert die 64-Bit-Version des Editors auf Windows- 8-Betriebssystemen nicht, aber Crydev scheint bereits an einem Bugfix zu arbeiten. Derzeit kann man unter Windows 8 nur auf die 32-BitVersion zurückgreifen und dort Versuche starten. Bis dato scheint es darü- ber hinaus Probleme mit den sogenannten Pickables zu geben. Gegenstände, die man normaler weise per Tas tendr uck aufnehmen kann, können nicht aufgenommen werden, und der dedizierte Server scheint nach einer bestimmten Zeit den Geist aufzugeben.

Bunte Schachteln

Also doch noch viele bunte Schachteln im Fenster? Okay, die Dokumentationen fehlen, jedoch wurde gesagt, dass diese schnellstmöglich den Weg zu den Moddern finden sollen. So weit, so gut. Aber was ist mit der Integration des neuen Entwicklungszweigs in den bisherigen? Betrachtet man die CodeSeite des SDK, so scheint auch hier noch einiges zu fehlen.

Es fehlt im Grunde der Ordner, der den C++-Programmcode für die Game.dll enthält. Die Programmierer in der Crydev-Community müssen sich hier noch gedulden und auf Skriptsprachen ausweichen, um eigene Features – je nach Möglichkeit – zu testen. Wer die Cryengine kennt, der weiß, dass CryMono genutzt werden kann, selbstverständlich C# unterstützt wird und LUA weiterhin vorhanden ist. Ebenso muss ein Auge zugedrückt werden beim Start des Launchers beziehungsweise des „GameSDK“, wie es nun heißt.

Nach dem Doppelklick muss man einen 15-sekündigen Timer in Kauf nehmen. Auch hier scheint es Hoffnung zu geben, laut Crydev soll das nur ein Platzhalter-Setup sein, gleichzeitig wird auf zukünftige Informationen verwiesen.

PBR Sneak Peak

Fehlt da nicht etwas? Das steht außer Frage, aber gezielt ist hier das PBR gemeint, von dem im Trailer einige Szenen zu sehen waren. Dass es zukünftig Updates geben wird, steht jedenfalls fest. Das hat Crydev bereits mitgeteilt. Wann sie kommen und in welcher Reihenfolge, bleibt dahingestellt.

Das wohl wünschenswerteste Update ist ein funktionierendes Physically Based Rendering. Leider war diese Passage im Trailer nur ein Sneak Peak dessen, was zukünftig implementiert werden soll. Die Implementierung und Anpassung des PBR in den neuen Entwicklungszweig scheint wohl mehr Zeit in Anspruch zu nehmen als gedacht. Das zeugt von der Komplexität der einzelnen Features. Nicht immer ist alles so einfach, wie es den Anschein hat.

Abgesehen vom fehlenden Physically Based Rendering: Man sollte sich nicht irritieren lassen, wenn man ein Level öffnet und von Platzhaltern verschiedener Objekte überrascht wird.

Die Plätze der Assets samt Texturen wurden im Zuge des neuen Entwicklungszweigs neu strukturiert. Aber das ist mehr oder weniger ein kleineres Übel. Zur Behebung dieses kleinen Problems genügt der Einsatz des Missing Asset Resolver Tools. Dieses Tool übernimmt nach einer Suche die neuen Pfade und stellt einen Link zu den bereits gesetzten Assets her.

Kein Grund zur Panik

Auch wenn es einige Bugs gibt, so ist die neue Cryengine eine Bereicherung. Für die wichtigen Dinge sind bereits Workarounds vorhanden und Updates online gestellt. Die restlichen Features und Bugfixes werden nachgereicht. Von daher gibt es keinen Grund zur Panik. Wer sich wundert, warum nichts kompiliert wird, sollte sich von Crydev die aktuelle Version der CryCompressorRC.dll herunterladen und die bestehende dadurch ersetzen.

Was viele Artists unter den Moddern freuen dürfte, ist, dass neue Exporter vorhanden sind. Zwar nicht für jede 3D-Software, die derzeit verfügbar ist, aber für die gängigsten. Im Detail sieht es so aus, dass 3ds Max von Version 2011 bis 2014 sowie Maya von Version 2009 bis hin zu Version 2014 unterstützt werden, also jede Version in diesem Rahmen einen eigenen Exporter besitzt. Zu finden sind die Exporter im „Tools“-Ordner.

Fazit

Wer bereits mit dem SDK von Februar gearbeitet und dort einige Level erstellt hat, darf gut und gerne auf weitere Updates warten, bevor er sich an die neue Cryengine wagt. Wer allerdings einen frischen Start machen möchte, der darf sich die neue Version laden und damit experimentieren.

Es sind an sich keine wirklich neuen Features, mehr oder weniger ist es eine Sammlung aus den Features von Crysis 3 und Ryse. Nichtsdestotrotz besitzt die neue Cryengine großes Potenzial und ist eine Bereicherung für die Modder-Community

Kommentar schreiben

Please enter your comment!
Please enter your name here

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.