Anfang 2004 landete das damals noch ziemlich unbekannte Coburger Studio Crytek mit dem Shooter Far Cry einen Treffer, der besonders den Branchen-Schwergewichten id Software und Valve sauer aufstieß. Denn Far Cry hatte als erstes der damals sogenannten Next-Gen-Spiele einen Vorsprung von acht beziehungsweise fünf Monaten auf die lang erwarteten Fortsetzungen von Half-Life und einem Ego-Shooter der Firma id-Software. Wir zeichnen den Weg und die Besonderheiten der Cryengine von ihren Anfängen als Techdemo bis hin zur Entwicklung der Cryengine 3 nach und erklären, wieso sie trotz vergleichsweise geringer Verbreitung so wichtig für den PC ist.
Cryengine aus Coburg - Cryengine als Techdemo Die älteren unter unseren Lesern erinnern sich vielleicht: Kurz nach der Jahrtausendwende brachte Nvidia die zweite Generation der Geforce-Reihe heraus. Mangels passender Spiele versuchte man, dem Publikum die Geforce-2-Vorzüge (hardwaregestützte Dreiecks-Transformation und -Beleuchtung, HTnL) in Gestalt von Techdemos nahezubringen. Eines dieser Vorzeigeprogramme wurde von den Crytek-Studios entwickelt und hört auf den Namen X-Isle. Bereits diese frühe Version verfügte über alle namhaften 3D-Techniken von damals. Neben dem erwähnten Hardware-TnL waren dies vor allem:
• allgegenwärtige gekrümmte Oberflächen (Curved Surfaces)
• hierarchische, skelettbasierte Animation mit progressiven Drahtgittern für ein dynamisches LOD-System (Level-of-Detail)
• Dot3-Bump-Mapping (Environment-Mapped-Bump-Mapping kam erst später)
• Reflexionen und Lichtbrechung
• Partikelsysteme
Die X-Isle-Demo zeigte den Flug über eine mit Dschungel bewachsene und von Dinosauriern bevölkerte Insel - und damit auch eines der Markenzeichen der späteren Cryengine: die potenziell enorme Weitläufigkeit der Spielwelt. Ein Jahr später nutzte Crytek bereits die teilweise programmierbaren Shader-Einheiten der Geforce 3, um beispielsweise das Wasser lebensechter zu animieren. Auch war jetzt (die Geforce 3 beherrschte es nach Radeon und Kyro auch endlich) Environment-Mapped-Bump-Mapping für die Sonnenreflexionen mit an Bord sowie ein T-Rex-Modell mit 25.000 Polygonen, dem über den Vertex-Shader der Grafikkarte die Haut angezogen wurde (Vertex-Skinning). Die inzwischen in "X-Isle: Dinosaurs Island" umbenannte Demo sollte später als Edutainment-Titel gleichen Namens auf den Markt kommen und außerdem in "X-Isle: The Action Game" (Arbeitstitel) das Licht der Welt erblicken. 2004 war es dann nach ein paar Startschwierigkeiten so weit.
Bild per Mausklick auswählen
Bild per Mausklick auswählen
Cryengine aus Coburg - Das erste Spiel: Far Cry Bereits nach der ersten Verwendung als Techdemo hatte man bei Crytek und Nvidia erkannt, dass die Engine viel Potenzial hatte, zumal sie technisch gesehen in der ersten Reihe stand. Und so erschien Anfang 2004, nach ein paar Monaten Verspätung aufgrund des Multiplayer-Teils (s. PCGH-Printausgabe 01/2004, S. 90 ff.) das fertige Far Cry im Handel. Der Shooter beeindruckte die Fachwelt nicht nur wegen seiner verhältnismäßig freien Spielwelt und guten Gegnerintelligenz, sondern auch wegen des enormen Abwechslungsreichtums der einzelnen Spielabschnitte. Von tropischen Sandstränden und dichtem Urwald über verrottende Ruinen aus dem Zweiten Weltkrieg, unterirdische Tempelruinen antiker Kulturen bis hin zur modernen Laboranlage gegen Ende des Spiels war alles dabei und nicht zuletzt der zugrunde liegenden Technik zu verdanken.
Crytek nutzte als eine der ersten Firmen die noch relativ frische Direct-X-9-Schnittstelle, was Far Cry in Verbindung mit den oben genannten Vorzügen in Sachen Handlungsfreiheit, Gegner-KI und freie Spielwelt schnell den Ruf als Next-Gen-Spiel einbrachte, obwohl zuvor bereits andere Titel wie Tomb Raider: Angel of Darkness vereinzelt auf Direct-X-9-Effekte gesetzt hatten.
Wie es sich für einen Shooter, dessen Handlung auf einer tropischen Insel angesiedelt ist, gehört, lagen Wasser- und Vegetationsgrafik bei Far Cry besonders im kritischen Blickpunkt des Publikums. Gerade die großflächige und dank simulierten Wellenganges geradezu sensationell animierte Darstellung des kühlen Nasses zog die Blicke auf sich. Umso mehr erstaunt es Sie vielleicht, dass Crytek für das Wasser gar keine 2.0-Pixelshader nutzte, sondern auf konventionelle Shader-Programme nach Direct X 8 zurückgriff. Unten finden Sie einige On-Klick-Vergleiche aus Far Cry, die eine nach Shader-Typ eingefärbte Version zeigen.
Direct-X-9-Shader kamen hauptsächlich in nicht ganz so performancekritischen Innenabschnitten zum Einsatz - dort wurden viele Details, unter anderem der Beleuchtung und im Bereich des Normal-Mappings, per DX9-Shader dargestellt, um geometrische Details über Texturoperationen zu simulieren. Hierfür nutzte Crytek die eigens entwickelte Poly-Bump-Technik (ein anderer Name für Normal-Mapping), die später in ähnlicher Form auch in anderen Engines zum Standard werden sollte. Aus den extrem detaillierten Modellen in den Animationsprogrammen der Entwickler, welche über bis zu 250.000 Polygone verfügten, wurden nicht nur die Geometriemodelle für die Verwendung im Spiel erstellt, sondern auch die sogenannten Normal-Maps. Dabei handelt es sich um Texturen, deren Werte anstelle des niedrig auflösenden Polygongitters genutzt werden, um die Beleuchtungsberechnungen durchzuführen. So entsteht bei geeignetem Betrachtungswinkel der Oberflächeneindruck eines deutlich detaillierteren Modells.
Bild per Mausklick auswählen
Die Shader-Versionen sind farblich markiert: Blau sind 1.x-Shader, Rot bedeutet 2.x-Shader (DirectX 9)
Bild per Mausklick auswählen
Die Shader-Versionen sind farblich markiert: Blau sind 1.x-Shader, Rot bedeutet 2.x-Shader (DirectX 9) Auch die Gegner-KI erntete viel Lob von Kritikern und Spielern, wie auch die Einbindung von spielrelevanter Physik auf Basis der Cryengine. So konnten Sie zum Beispiel einem anstürmenden Gegner ein Fass entgegenrollen lassen und ihn so ausschalten, falls die Munition einmal knapp sein sollte, oder Türen mit im Level herumliegenden Objekten am Zufallen hindern. Auch rudimentäre Fahrzeugunterstützung war in Far Cry bereits vorhanden, von der im Einzelspieler-Modus jedoch nur Motorboote und ein Drachengleiter zum Einsatz kamen.
Der für die Verspätung verantwortliche Mehrspieler-Modus inklusive des Assault-Modus fand hingegen keine große Gegenliebe bei den Fans und musste sich gegenüber Genre-Größen wie Unreal Tournament 2003/4 geschlagen geben.
Das MMO Aion ist das einzige Spiel außerhalb des Far-Cry-Universums, welches die Cryengine 1 nutzt. [Quelle: siehe Bildergalerie]
Cryengine aus Coburg - Cryengine bis 1.4: Viele Updates Bereits die erste Cryengine wurde von Crytek in schneller Folge mit zusätzlichen Fähigkeiten ausgestattet: Neben einem exklusiven Patch für die Athlon-64-Prozessoren auf - Sie erraten es - 64-Bit-Tauglichkeit der Engine unter dem damals nur schlecht unterstützten Windows XP in der 64-Bit-Edition gab es weitere Anpassungen an die Fähigkeiten und Leistung der Grafikkarten. Damals stellte die Grafikleistung das begrenzende Element der Far Cry-Performance dar. So wurde das Shader-Modell 3 unterstützt, das dem Entwickler weniger Beschränkungen bei der Shader-Programmierung auferlegte. Durch die erhöhte Anzahl erlaubter Instruktionen pro Shader-Programm konnte die Berechnung für mehrere Lichtquellen zusammengefasst und so ein wenig Performance gewonnen werden. Version 1.3 fügte überdies die Fähigkeit zu High-Dynamic-Range-Rendering hinzu, welches die Beleuchtung in vielen Situationen stark verbesserte und realistischer gestaltete.
Bild per Mausklick auswählen
Die Shader-Versionen sind farblich markiert: Blau sind 1.x-Shader, Rot bedeutet 2.x-Shader (DirectX 9)
Bild per Mausklick auswählen
Die Shader-Versionen sind farblich markiert: Blau sind 1.x-Shader, Rot bedeutet 2.x-Shader (DirectX 9)
Bild per Mausklick auswählen
Die Shader-Versionen sind farblich markiert: Blau sind 1.x-Shader, Rot bedeutet 2.x-Shader (DirectX 9)
Bild per Mausklick auswählen
Die Shader-Versionen sind farblich markiert: Blau sind 1.x-Shader, Rot bedeutet 2.x-Shader (DirectX 9) Der 64-Bit-Content-Patch, der wie erwähnt nur auf Athlon-64-Prozessoren ohne Tricks lauffähig war, brachte einige hübsche Optik-Zusätze, die jedoch nicht auf das Konto der 64-Bit-Fähigkeit, sondern die bis dato brachliegenden Möglichkeiten der Cryengine gingen. Unter anderem wurden ein paar Strandabschnitte per Bump-Mapping mit Struktur versehen und aufgehübscht, detailliertere Texturen taten ihr Übriges, um die Optik als 64-Bit-Merkmal verkaufen zu können. Ein Hack aus der Fangemeinde ermöglichte all dies auch auf 32-Bit-Systemen.
Cryengine aus Coburg - Zwischenspiele: Techdemo und Konsolenportierungen Nach dem Nvidia-lastigen Patch 1.3 für Shader-Modell 3 und HDR-Rendering schob man bei Crytek eine Techdemo für Radeon-Karten mit dem Titel "The Project" nach. Diese konnte mit FP10-Rendering
[Korrektur: INT10 im RGBA1010102-Format] der FP16-HDR-Rendering-Optik des gepatchten Originalspiels Konkurrenz machen, wartete dazu aber noch mit gleichzeitigem Anti-Aliasing und cineastisch eingesetzten Tiefenschärfe-Effekten in der selbstablaufenden Demo auf.
Der integrierte Benchmark sah die zeitgenössischen Radeon-Karten weit vor ihren Geforce-Konkurrenten. Die Konsolen-Fraktion wurde derweil mit einem abgespeckten Far Cry-Remake oder -Klon mit dem Namenszusatz "Instincts" bedient. Hierin konnten Xbox-Spieler eine in Sachen Grafikpracht und frei begehbarer Spielwelt reduzierte Far Cry-Version mit neuen Mehrspieler-Modi erleben.
Cryengine 2: Faces [Quelle: siehe Bildergalerie]
Sandbox-Editor 1 [Quelle: siehe Bildergalerie]
Sandbox-Editor 2 [Quelle: siehe Bildergalerie]
Cryengine aus Coburg - Cryengine 2: Direct X 10 als Zugpferd für Crysis Nach Streitigkeiten mit Publisher Ubisoft, der letzten Endes die Rechte am Namen Far Cry und an der verwendeten Version der Engine erhielt, entwickelte Crytek die Cryengine 2. Dies geschah zwar bereits mit der neuen Grafikschnittstelle Direct X 10 im Hinterkopf, aber dem bewährten Direct X 9 als Basis. Das Primärziel der Cryengine 2 war weiterhin der PC mit seinen besonders in Sachen Speicherplatz (flüchtig und nichtflüchtig) den Konsolen weit überlegenen Möglichkeiten. Trotzdem musste man bei Crytek darauf achten, auch 32-Bit-Systeme, die lediglich vier GiByte Arbeitsspeicher adressieren, aber nur einen Teil davon jeder Anwendung zur Verfügung stellen können, nicht zu überlasten.
Das Zauberwort für die extrem detaillierten Levels in Crysis hieß "Data-Streaming". Gerade für die größeren Spielabschnitte sind enorme Datenmengen nötig. Sollen diese ohne Ladepunkte und merkliche Verzögerungen zur Verarbeitung vorliegen, ist ein effizientes System zur entfernungsabhängigen Detailreduktion (LOD, Level-of-Detail) nötig, das die Cryengine sowohl in Form eines klassischen Objekt-LOD als auch in Form von Geomipmapping beziehungsweise Clipmapping bietet. Dabei werden die um den Spieler herumliegenden Geländeteile nach einem bestimmten Muster im Voraus geladen, welches unter anderem anhand der Bewegungsrichtung bestimmt werden kann. Feinere Geländedetails wie herumliegende Steine und dergleichen werden sanft eingeblendet, anstatt plötzlich aufzutauchen. Trotzdem ist im Spiel des Öfteren der Wechsel der Detailstufen wahrzunehmen - aus gutem Grund: Verändert man die Konfigurationsdetails, um dies zu vermeiden, geraten der Geländeaufbau und die Bildrate schnell ins Stocken.
Um die Stärken weiter auszubauen, wurde nicht nur die Engine, sondern auch der zugehörige Level-Editor namens Sandbox verbessert. Darin ist es möglich, einen Level in Echtzeit ohne vorherige Kompilierung zu nutzen sowie Objekte, Personen, Landschaft und Vegetation, KI-Markierungen und Physik-Eigenschaften hinzuzufügen und deren Auswirkungen direkt zu beobachten.
Cryengine aus Coburg - Nächste Seite Nachdem wir den Weg von einer Techdemo zu einer der fortschrittlichsten PC-Spiele-Engines aufgezeigt haben, gehen wir auf der nächsten Seite auf die Besonderheiten der Cryengine 2, den Weg zur Cryengine 3 und die Bedeutung der bisherigen Engine-Versionen für den PC-Spielemarkt ein.
Komplett-PC-Käufer
29.01.2010 11:24
Da ist meiner Meinung nach für einen Shooter von damals, schon weit mehr als nur rudimentär.
sig.sysprofile.de/quicksy...
Der Gabelstapler ist sogar sehr wichtig: Man kann mit ihm das Hallentor blockieren und die Fettsäcke und die Söldner vonaußen abknallen.
Sysprofile-User
29.01.2010 10:43
Das klingt für mich so, als hätte es in dem Spiel keine Fahrzeuge gegeben. Aber in der Version, die ich gespielt hab, ist man sogar ziemlich oft mit dem Geländewagen durch die Gegend geheizt.
Ja nicht nur, sondern auch den Military Humvee, den Military Buggy, das Schlauchboot, das Kanonenboot, den Military Big Truck, den Paragleiter und sogar die Gabelstapler die man manchmal findet sind fahrtüchtig! Habs selbst getestet und kam aus dem Lachen nicht mehr raus
Das ist meiner Meinung nach für einen Shooter von damals, schon weit mehr als nur rudimentär.
[URL="http://www.sysprofile.de/id76014"]
[/URL]
Komplett-PC-Käufer
29.01.2010 10:34
Gab es nicht gar eine Mod, wo man Rennen gegeneinander fuhr?