Friday, October 18, 2013

CryEngine 3...






Taking names

The Crysis series has always been one known for setting industry standards in graphical prowess and optimization. Ever since the Far Cry and the original Crysis, Crytek's repertoire has been held in the highest regard by players and industry professionals alike. From CryENGINE 1, the company has been kicking butt and taking names and now with latest release of Crysis 3 made using CryENGINE 3, Crytek is once more the talk of the town. 

Today we will talk about some of the neat features of CryENGINE 3 and what makes Crysis 3 such a great-looking game. We will talk about the graphics and power of the new engine. The blog itself won't be long and drawn out, but short and interesting. The information on today's blog is taken from Sean Tracy's Presentation on CryENGINE 3 at Crytek's Community Day. The presentation can be found here.






Let the games begin...

The video displays the same level (Canyon) that Crytek decided to put on display at E3 prior to the initial release of the game. The engine features a new particle system which features new particle shading and new particle lighting. Tracy made it clear throughout the demo that what the audience was seeing is what they would be playing, and boy is it all mighty impressive. 

One of the newest things about CryENGINE 3 is the way in which they handle their cloth simulation. It's not so different on the asset level compared to Crysis 2 but in the performance level, it's a whole different ballgame altogether. It's faster and added in a lot more places within the game. It also includes realistic depiction of interaction with wind and forces such as explosions. Particle shadows are one of the cooler new features present in CryENGINE 3. All though they came out a little later on in the development of Crysis 2, they work the best in Crysis 3. Other effects that work well with particle shadows include volumetric fog and smoke amongst many other particle effects. 

Another neat new addition to the engine this time around is the shader which performs Pixel-Accurate Displacement Mapping (PADM). This technique doesn't use tessellation and is particularly effective in high detail/high density portions of models such as the trunk of a tree. Traditionally, tessellation was a common technique used before PADM came along and replaced changed the way such models were rendered. This allows modelers to produce models with much lower poly counts. Even silhouettes can be created without geometry, but with pixel displacement. Not to mention, it allows for really really fast rendering. When your vertex-bound high poly count scene is rendering with no hesitation, you can truly see PADM shine. It uses the pixel shader instead of the vertex shader which is what attributes to its speed. In addition to all this goodness, the manner in which it reacts with light is great as you can see effects like self-shadowing portraying the differences between the 2D plane used for sprites and the pixel accurate 3D model of tree trunk. 







The 3D composite lens flare is improved in CryENGINE 3 with the introduction of a new flare editor. The editor includes a library of different flares for various levels and allows the developer to turn different types of flares on and off. Even smaller portions of the lens flare may be toggled such as the glow, glow streak, chroma rings, orbs, etc. All parameters within the editor are exposed immediately and each lens effect has a ton of them. The editor even allows the developers to include dynamics so that certain environmental activities such as a bird flying by will cause the lens flare to bend around the bird and react appropriately. The developers may even assign various textures to the flare and increase or decrease the number of orbs. 

Another new change is the ability to apply properties directly on to lights in contrast to the former procedural method of doing things. This works for any of the lights within a given level. With CryENGINE 3, Crytek decided to go the stylistic route of putting a film camera on the player's head instead of employing a photorealistic one as people can get more immersed within a filmy looking game. A great addition to the new engine is the change in point light attributes. Typically, you're used to seeing a point light with a point highlight on the ground in the shape of a circle. To hide this, the engine performs texture projection on the point light to give it a particular shape in order to avoid the lack of realism that comes with point highlights. Furthermore, you can place an area light in front of the point light to produce a different effect than the point highlight. One of the key difference in this lighting system is that the light doesn't cast behind itself avoiding having to clip the back or project a texture behind the light. 

The area light always maintains a Field of View (FOV) of 180 degrees or less. A new feature introduced with area lights is softening the shadows they cast and placing them in a more physically accurate location. This was previously only done with sun shadows. Thanks go to the more physically-based renderer which promotes the idea of getting a much more realistic feel for lighting across any given level. When area lights are on, they use variable penumbra soft shadows allowing their edges to increase in size the further away they are from the area light. With the ability to place the specular multiplier into a shape why not place it within a texture. When put into practice, this process yields very realistic looking textures. In a huge warehouse where there might be several light above the player, the developer will fill the area with hundreds of lights and place one area light behind them. They will then create a texture of both the diffuse and specular light cast down from the many lights above. The texture is then used in combination with the area light for lighting the entire interior of the warehouse. 






Within Crysis 3, the water simulation is done really well. When you look at the water form far away, what you're seeing is a cube map or an environment probe. Basically, just a texture that's telling the water how to reflect certain things. This level of detail is perfectly acceptable since the player can't really tell what is and isn't being reflected from high up. However, on approaching the water or standing in it, the engine keeps track of the player's incident angle and then blends the real-time reflection into the cube map as he looks up or down. The water also feature dynamic caustics which are generated by waves in order to simulate realistic ripples propagating. Furthermore, the engine has control of not only the color, but what the caustics project on, how far they project out, etc. 

The Crysis series has always had volumetric fog but they have never been able to hold shadows, this has been changed within CryENGINE 3. Shadows of enormous buildings can be projected through fog so the player can see the ray of the shadow dampened by the volumetric fog. 

One of the most frustrating things with working on vegetation in Crysis 2 was that it didn't grow on brushes. Essentially, you could create terrain and then paint vegetation around it as you liked but would never be able to tell the tool to paint onto brushes. CryENGINE 3 allows for painting anywhere the artist or level designer pleases. In the original Crysis there was a lot of different vegetation that would bend and react to the player navigating through but this effect took artists to create joints within the vegetation which resulted in a significant waste of time and resources. In Crysis 3, however, this has been optimized and can be done a lot faster as all vegetation comes with pre-defined joints allowing the artist to just paint it down. Now the vegetation moves with real wind simulation and reacts to dynamic objects and players on a huge scale. The best part of all, the vegetation also reacts to grenades and large explosions. This effect also works on consoles, which is fantastic. Wind areas within the game are defined as bounding boxes with a certain amount of wind (size) and speed. Essentially, the engine produces several directions which are used to simulate the realistic force of wind. 







In Conclusion

Well, it's clear that Crytek has done it again with a phenomenal game backed by an exemplary engine. The capabilities of CryENGINE 3 are made clear in the fantastic visuals and terrific realism present throughout the Crysis 3's campaign and multiplayer. The most amazing feat in all of this is Crytek's ability to optimize their engine and have it running smoothly as a result. There's a lot to learn and even more to explore within the game itself. I've barely touched the surface, a world of beauty awaits you within Crysis 3. 









No comments:

Post a Comment