Deze serie gaat uit van enige kennis over de werking van game-engines. Lees zeker even ons introductieartikel.
PC-gamen is groot in Duitsland. De strenge regelgevingen rondom geweld in games doet veel Duitse gamers het open PC platform verkiezen boven de in de rest van de wereld dominantere consoles. Het is niet gek dat we bij onze Oosterburen een ontwikkelaar vinden die bekendstaat om het benutten van de modernste PC-hardware. Sinds de release van FarCry is Crytek synoniem geworden voor visuele pracht, met aan de basis de in populariteit toenemende CryEngine.
Tropische eilanden
Het is bijna onmogelijk om de CryEngine niet te associëren met tropische eilanden. Sinds de tech-demo die CryTek voor Nvidia ontwikkelde (X-Isle: Dinosaur Island) spelen zonnige stranden en dichtbeboste oerwouden een grote rol in de games en engines van de Duitse ontwikkelaar. Rond de verschijning van FarCry waren sandbox-games een ware hype (GTA: San Andreas verscheen datzelfde jaar) en de belofte van weidse open omgevingen met veel vegetatie was aantrekkelijk. De net verschenen Unreal Engine 3 richtte zich voornamelijk op iets kleinere gebieden en de nieuwe motor van idTech was vooralsnog nergens te bekennen. Een markt lag voor het grijpen.
Toch bleef de eerste versie van de CryEngine vooral het paradepaardje van Ubisoft. MMORPG Aion maakte weliswaar gebruik van de engine, maar verder verschenen enkel de console-remakes van FarCry. CryTek had ondertussen Ubisoft verlaten en was begonnen aan een nieuwe versie van de engine, CryEngine 2, die in 2007 met het verschijnen van Crysis het levenslicht zag. Met die engine (Crysis en Crysis: Warhead) en opvolger CryEngine 3 (Crysis 2, Crysis 3 en Sniper: Ghost Warrior) heeft CryTek zich definitief gepositioneerd als engine-maker.
Realistische Innovaties
Aanvankelijk richtte CryTek zich voornamelijk op de PC, waardoor de engines van het bedrijf gemakkelijk konden inspelen op de nieuwste technologische ontwikkelingen. Dat resulteerde niet alleen in games die “je PC doen smelten”, maar ook in innovaties in het engine-landschap. Zo was de CryEngine een van de eerste engines die High Dynamic Range Rendering toepaste, waardoor kleuren beter tot hun recht komen.
Een belangrijke innovatie van de CryEngine 2 is deScreen Space Ambient Occlusion (SSAO). Deze belichtingstechniek rekent real-time uit hoe gemakkelijk omgevingslicht een punt kan bereiken op basis van het diepteverschil met de rest van de omgeving. Hierdoor zijn bijvoorbeeld de hoeken van kamers donkerder dan vrijstaande muren. Deze belichtingstechniek is een belangrijke standaard in de moderne belichting geworden en is tegenwoordig niet meer weg te denken uit moderne games.
De CryEngine 3 was op zijn beurt een van de eerste engines die ondersteuning bood voor tessellatie, waarmee dynamisch meer vertices aan een 3D-model worden toegevoegd. Sinds Crysis 3 ondersteunt de engine ook Pixel Accurate Displacement Mapping, waarbij het toevoegen van detail door een shader wordt uitgevoerd in plaats van door de grafische kaart.
De CryEngine maakt ook hevig gebruik van andere moderne rendertechnieken, zoals motion blur, self-shadowing en schaduwwerpende deeltjes. De CryEngine probeert, misschien meer dan zijn concurrentie, correct gebruik te maken van natuurkundige verschijnselen. Waar de Unreal Engine altijd een plasticachtig effect lijkt te hebben, daar wordt de CryEngine steevast geroemd om zijn haast fotorealistische weergaves.
Exclusief
Dat de CryEngines bekendstaan om hun realistische weergave van imposante buitenomgevingen is overigens niet voor niets. Want hoewel de engines zich prima lenen voor games die zich binnen afspelen, zijn een hoop van de imposantere optimalisaties afhankelijk van natuurlijk zonlicht. Het meest imposante voorbeeld hiervan is wel de dynamische Global Illumination die CryEngine 3 biedt. Echt licht reflecteert meerdere keren, wat voor belichtingsmodellen zeer lastig te berekenen is.
De CryEngine is op dit moment de enige engine in de wereld die deze belichting dynamisch kan berekenen, zij het met maar een enkele reflectie en alleen voor zonlicht. Gezien de volgende Unreal Engine geen ondersteuning zal bieden voor dynamische globale verlichting, heeft de CryEngine daarmee een flink voordeel ten opzichte van de concurrentie.
Hoewel graphics als het visitekaartje van de CryEngine dienen, bepalen zij niet als enige de waarde van een engine. Uiteindelijk zijn het de ontwikkeltools die een engine aantrekkelijk maken voor een gameontwikkelaar. En dus biedt de CryEngine, naast belichtingsmodellen en realistische animaties voor water en planten, ook een hoop ontwikkeltools. Zo is de engine de eerste die het mogelijk maakt om direct vanuit de ontwikkelomgeving in de game te springen, waardoor het testen van een game een stuk makkelijker gemaakt wordt.
Qua opbouw verschilt de CryEngine overigens flink van zijn grootste concurrent, de Unreal Engine. Waar de engine van Epic levels opbouwt door stukken te verwijderen zoals in een beeldhouwwerk, daar is de CryEngine gebaseerd op het toevoegen van elementen. Deze opzet zorgt niet alleen voor een andere werkaanpak, maar resulteert er ook in dat de engine zich beter leent voor een sandbox-modellering. Zo worden kilometersgrote omgevingen makkelijk opgebouwd, waardoor de CryEngine zich uitstekend leent voor weidse landschappen.
Op weg naar de top
De CryEngine timmert stevig aan de weg om een dominante positie in de engine-markt te veroveren. Hoewel de huidige CryEngine-games die in ontwikkeling zijn nauwelijks in het oog springen, zal de komst van de volgende generatie consoles mogelijk een nieuwe impuls geven. Vooralsnog vertoont de engine zijn grootste kunsten exclusief op de PC , maar daar zal een nieuwe generatie consoles welicht een einde an maken. Aangezien de engine op sommige vlakken voorloopt op de nog te verschijnen Unreal Engine 4, zou de CryEnDgine wel eens een rooskleurige toekomst tegemoet kunnen gaan.
En hoewel de engine het vooral van haar grafische prestaties moet hebben, schuwt CryTek het niet om, in concurrentie met de onder indie-ontwikkelaars populaire Unity-engine en Unreal Development Kit, een goedkopere licentie aan te bieden voor onafhankelijke ontwikkelaars. Daarmee is de engine van al zijn concurrenten misschien wel het best voorbereid op de steeds dichterbij kruipende nieuwe generatie.
Reacties op: Onder de Motorkap: CryEngine
Wuppie
Ik snap alleen het verschil niet tussen de Unreal Engine en de CryEngine, maar dat zal wel aan mij liggen
Lindox
DarkSlide.nl
jason28
Daeda
Daeda
MegaR
D4rKy28
Archer
deboon
deboon
"Een belangrijke innovatie van de CryEngine 2 is deScreen Space Ambient Occlusion (SSAO). Deze belichtingstechniek rekent real-time uit hoe gemakkelijk omgevingslicht een punt kan bereiken op basis van het diepteverschil met de rest van de omgeving. Hierdoor zijn bijvoorbeeld de hoeken van kamers donkerder dan vrijstaande muren. Deze belichtingstechniek is een belangrijke standaard in de moderne belichting geworden en is tegenwoordig niet meer weg te denken uit moderne games"
Mijn inziens wordt het in elke game te zwaar wordt ingesteld waardoor het te veel opvalt en alleen maar afbreuk doet aan de graphics :'( Het is een mooi post-effect, maar niemand die het subtiel kan houden.
SuperDre
Enuh, FYI, een shader is een onderdeel van de grafische kaart, dus het is nog steeds de gpu die de berekeningen uiteindelijk uitvoert.
Ben benieuwd hoeveel games er op dit moment werkelijk in productie zijn met de ce3 in vergelijking met ue3/ue4.. Het zijn op zich alkemaal goede engines, ze hebben allemaal hun pluspunten en minpunten, uiteindelijk is het aan de contentmakers om er het beste uit te halen..
Maki
95% van alle console games zijn sub 30 fps omdat daar allemaal op gecapped worden. 100% als we simpele indy games niet meetellen. Mass effect 3 op de PS3 met de UE3 15-20-25fps b.v (iets beter op de 360 25-30fps) en zo zijn ze allemaal op een console 20-30fps.
ik heb een intel 3.4ghz OC'ed @4.5ghz en 560ti <$150 (gemiddelde/inmiddels low range videokaart) die draait alles met gemak op 50/60 fps met de setttings op ultra (ja ook bf3) het ziet er ook 20x beter dan op mijn consoles dus stop maar met die leugenachtige fanboy preek van je, je weet seriues niet waar je over praat, komt allemaal uit de dikke duim bij jouw xD
Aquemini
Cobalt 60
Reigner Mortem
Deze zin zou ik aanbevelen om anders te verwoorden. Een shader is, even kort door de bocht, een programma uitgevoerd op je grafische kaart. Ergo, het is nog steeds de grafische kaart die het detail toevoegt. Echter op basis van texture-maps ipv. vertices.
Afgezien van een presentatie kon ik zo geen diepgaande informatie vinden betreffende de PADM techniek. Maar het lijkt sterk op silhouette clipping.
Bron:
Engine presentatie
http://www.youtube.com/watch?v=JmCvHel7PL8
Per pixel displacement (achtergrond info)
http://http.developer.nvidia.com/GPUGems2/gpugems2_chapter08.html
Silhouette clipping
http://http.developer.nvidia.com/GPUGems3/gpugems3_ch04.html
Daeda
retiredkamikazepilot
SuperDre
Enuh, waar ik over praat is juist mijn eigen ervaring. Ik heb met de UnrealEngine(99),UE2(.5) en UE3 gewerkt, bezig geweest met CryEngine 1 (deze moet ik bekennen alleen maar een beetje mee gespeeld), CryEngine 2 (maar we zijn daarna weer terug gegaan naar UE3 omdat die makkelijker en beter werkte). CryEngine 3 heb ik de SDK van draaien, maar die draait dus echt niet lekker vloeiend op mn 'oud' systeempje, terwijl de UDK nog redelijk vloeiend draait hierop (ja, ik weet dat het een oud systeem is, en daar hou ik dus ook rekening mee met mijn antwoorden)..
Nee, ik ben geen console fanboy, ik praat gewoon over de ervaring die IK heb als DEVELOPER met de betreffende engines..
Enuh, jouw PC is niet te vergelijken met consoles die al bijna 7 jaar oud zijn, ik vindt het dan nog best knap wat ze uit die oude consoles kunnen krijgen met dat beperkt geheugen..
fre0n