“On March 2004, Jack Carver got stranded, survived and encountered many mysteries in the Crytek’s Far Cry, which boast of its beautiful environments, dazzling beaches, extraordinary AI and physics to create unbelievable natural effect proving itself to be a visual treat for the hardcore enthusiasts. Originally developed by Yerli brothers, this game engine - The CryENGINE® gives a new overall look and feel in the gaming domain. Ever since then the CryENGINE® has gone through three iterations and has been used to produce some awesome games like Crysis, Crysis warhead & recently the Crysis 2. Today, it is globally recognized as the most advanced and powerful real-time development platform. CryENGINE® offers the game developers a middleware and a complete game development solution allowing them to create environments and deploy them on various gaming consoles transparently. In 2011, Crytek released a Mod version along with the original version of CryENGINE®3 SDK (including the Sandbox Editor and engine source code) to the Crydev.net community (previously Crymod.com), which is available as a free download for non-commercial usage. The statistics reveal over 100,000 downloads in merely five days with the initial launch. For the first-time Crytek’s lead developers, Dan Tracy and Sean Tracy jointly co-authored a cookbook with over 90-recipes to assist casual and professional artists, designers, animators and programmers to achieve their vision for the next-generation AAA quality games.”
|Author||Dan Tracy, Sean Tracy|
|Publisher||Packt Publishing Ltd.|
|About the Book||“Over 90 recipes written by Crytek developers for creating third-generation real-time games”|
Introduction and Pre-requisites
‘CryENGINE®3 Cookbook’ was published in June 2011 by Packt Publishers under the ISBN 978-1-849691-06-2. The book covers topics on level creation & designing, Environment creation, Basic AI, Animation & Asset Creation, Game Logic, Physics and optimization in twelve comprehensive chapters that are specific to CryENGINE®3. Sean Tracy (Crytek’s Senior Field Application Engineer) and Dan Tracy (Crytek’s Technical Level Designer) both made a debut with this book and are famous for co-founding the concept behind the ‘Mechwarrior: Living Legends’ (Image of the Book Cover) . In addition to this they have an extensive modding experience with multiple engines such as Aurora, Frostbite, Doom and Quake.
The book’s preface is very concise, with information about the engine, chapter names, and the conventions used. Neither there’s a mention of the ‘Required Specification’ of CryENGINE®3 nor of the software version. Since this book was released before the actual engine got publicized, it has been assumed that the reader must be aware of the Educational Edition of CryENGINE®3. From the official Crydev.net community, readers can now avail two editions CryENGINE®3 SDK MOD 1.1 and CryENGINE®3 SDK 1.0. This engine is supported by Windows platform such as XP, Vista/7 (32-bit and 64-bit). If the reader plans to use either of the SDK’s then please bear in mind that the basic features, and functionalities remain the same. Let us look at the advantages and disadvantages of the SDK 1.1 over 1.0.
- with the MOD 1.1 readers will now have the capability of Modding the Crysis 2 levels,
- Inclusion of DirectX 11 to power Tessellation.
- Integrated FMOD for sound effects.
- Login credentials are not required to use the editor.
- Features a full Texture pack with audio.
- 64-bit Operating System required.
- Version 1.0 is more stabler than MOD 1.1.
- Licensed version of the game is required to run the editor and for DX11 upgrade and installation of texture packs.
Apart from the technical pre-requisites, readers are expected to have some knowledge of any DCC tools such as Photoshop, 3D Studio Max, etc. The readers are also expected to have experience on any level editing tool which is not a mandatory requirement.
The Packt Publishers maintain the web-page of the book where visitors can find table of contents, free chapters, any errata and source files such as assets (For premium members only). The book is available in both PDF and paper back forms.
This book begins with the configuration of the Sandbox editing environment. It assumes that the reader has the correct SDK version downloaded and installed. The first chapter has been explained very well and is important since it introduces the complete UI of the Engine. The engine UI is divided into sections which interact with the user for easy development. There are recipes that show the readers to how to dynamically customize CryENGINE®3 UI elements. Novice readers might get puzzled in certain CryENGINE®3 UI features. For instance, the CryENGINE®3 supports Ribbon UI. As far as the free SDK 1.0 is concerned Crytek had disabled the Ribbon UI due to stability issues but the same is present in MOD 1.1 (Use of Ribbon UI is not recommended for users). If anything goes wrong, there is a recipe “Chapter 1: Restoring the CryENGINE®3 default settings” which comes for the rescue.
In the next two chapters, the authors narrate exciting items related to terrain creation, adjusting & sculpting, and placing objects such as solids, Geom, prefabs. The recipes are designed to introduce the whole process of generating terrain, applying textures, creating roads, merging solids, creating prefab groups, vegetation, stepping into the terrain (Switching to Game Mode) and finally exporting to the engine for production in a procedural manner. Recipes are fairly easy to follow and recollect especially for novice users. Clarifications in the book are to the point. Recipes are self-governing which means that the book allows the reader to follow any recipe at any time. Readers who have had hands-on with CryENGINE®2 may skip these chapters, if they wish too. Readers working with SDK 1.0 may find certain assets and textures referred in these chapters to be missing. Crytek has assured to fix these in future updates.
In the third chapter: Environment Creation, authors have addressed the environmental effects that make the gaming experience quite immersive. In this chapter, the authors require the readers to open a pre-installed level named ‘forest.cry’. This level is automatically installed with 1.0 only. Users of the Mod version are required to install this level separately in order to explore the environmental effects. The level Forest.cry is a highly detailed level which showcases the capabilities of CryENGINE®3 . The readers are on a virtual tour on this level and can adjust the environmental effects such as time of day, terrain lights, HDR, SSAO and GI (Global Illumination), photo-realistic oceans, Volumetric fogs & clouds and rain effects. At the end of each recipe, the redaer is given a chance to explore the chained effect. For example, readers can attach lightnings to the cloud, adjust the light effect and can assign thunder sounds, optionally. The readers are guaranteed to have ultimate satisfaction after reading this chapter.
“Realistically rendered and animated characters require state of the art AI systems to intelligently respond to the game environment and maintain the illusion of realism.” These are the first two lines of the chapter: Basic Artificial Intelligence. This chapter brings together the CryENGINE®3’s advanced AI through a flow graph visual scripting system and cvars. The authors guide the readers to generate AI navigation and triangulations seamlessly. These are recipes that will enable the readers to generate simple AI features such as forbidden boundaries, forbidden areas, interior navigation, re-spawning, debugging and tweaking AI FOV’s. However there is a small introduction about debugging on AI triangulations through CryENGINE®3 cvars, also known as the console variables.
The next three chapters present recipes to create and animate assets for the engine using DCC tools. Both 3DSMax and Maya are supported by CryENGINE® 3. For this cookbook, authors have chosen 3DSMax 2010 for creating assets. The recipes are straight forward, start with installing plug-ins (CryTools) for the 3DSMax, creation of materials, and converting them to CryENGINE®3 optimized formats. In addition to this, readers can also open the existing assets that are shipped with the SDK for explore them inside 3DS Max environment. The recipes include creating skinned characters, assigning realistic ragdoll effects, creating & editing locomotion and animating destruction of an object using TCB (Tension Controller and Bias). There is a very interesting chapter on “Creating Vehicles”, where the readers can create a basic car mesh with wheels in 3DSMax and import the same inside CryENGINE®3 Sandbox. There is a good amount of explanation given to how to build or modify an entity (here vehicle) script by using an XML editor. In CryENGINE ®3, XML script has the power to configure the entity properties such as controlling speed of the vehicle, adjusting the mass of the vehicle, defining a sitting location, supporting multiple cameras for the vehicle, mounting guns, defining vehicle weak spot for damages, etc. These chapters are recommended mainly for artists and designers. Optinally, the vehicle mesh can be downloaded from the publishers site.
In CryENGINE®3, flow graphs play a major role in controlling the game entities. Being the most powerful tool of the CryENGINE®3, I feel the authors have presented very few recipes that can be explored. Though the recipes cover essential gaming elements such as teleporting using trigger areas, moving an AI to a location when the player enters proximity trigger, debugging the flow graphs, inventory updates on completion of a goal; displaying health and kill counter on HUD, toggling player camera and creating a countdown timer.
The last three chapters project the creation of Cut-Scene, which is almost similar to the cut-scene of CryENGINE®2 with minor improvements. Unlike CryENGINE®2, CryENGINE®3 has its own high performance physics engine known as CryPhysics, which is capable of manipulating gravity, animating rope physics, wrecking a ball, creating tornados, etc. In addition to content creation and level designing, authors have uniquely designed the last chapter for production driven projects. There are in-depth techniques to optimize the performance of the game in CryENGINE®3 by profiling every single object within the scene. This can be done using the inbuilt tools, such as profilers, debug draw mode to address any possible asset problems, state of the art VisAreas and portals to optimize scene rendering from both outside and inside of the VisArea, light boxes and light areas for properly lighting-up the interiors and to stream in and out using a special flow graph node.
To summarize in a nutshell, I have formulated my likes and dislikes after reviewing and using the guidelines as given in the book.
- Each recipe is accompanied with adequate screen-shots to assist in quick understanding and implementation.
- The flow of the book is gradual, authors have maintained the flow and not hopped on different topics.
- Explanation of each step is given in a separate section that summarizes the whole process flawlessly.
- Each recipe ends with a “There’s more…” section, which attracts the readers to explore the in-depth functionality presented there-in.
- There is no information on the installation and the version release.
- Authors have missed to include pieces of information on game sound mixing & profiling through Data-driven sound system, river tools, Particle Motion blur & Shadows, Facial animation editing and Stereoscopic 3D.
Tone of the book
The authors have maintained high professionalism with verbose content clarity and ethical writing for appropriate use of the tool.
CryENGINE®3 Cookbook is the first edition on Crytek’s Game Engine Technology. The topics are well – versed & descriptive, suitable for both beginners and professional users. Dan Tracy and Sean Tracy have both made their excellent debut by displaying their efforts in a cookbook style for creating and organizing the contents of this book.
I feel that the book lacks lucidity on topics viz. Flow graphs and advanced parameters such as SSAO, GI and cvars as these have not been explained in-depth. On the positive side, the reader is excited to explore these effects by trial and error methods. If you want to fully utilize the capabilities of CryENGINE®3 for your project, I would recommend you to refer online documentation too.
Finally, this book proves itself to be a head starter for beginners. If you have already had hands-on with CryENGINE®2, this book will surely leverage your experience to a higher level.
So if you want to keep pace with this technology, I recommend you to get this toolset from Crydev.net as soon as you can.