CryENGINE 3 Game Development: Beginner's Guide


CryENGINE 3 Game Development: Beginner's Guide
eBook: $29.99
Formats: PDF, PacktLib, ePub and Mobi formats
$25.50
save 15%!
Print + free eBook + free PacktLib access to the book: $79.98    Print cover: $49.99
$75.49
save 6%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Overview
Table of Contents
Author
Support
Sample Chapters
  • Begin developing your own games of any scale by learning to harness the power of the Award Winning CryENGINE® 3 game engine
  • Build your game worlds in real-time with CryENGINE® 3 Sandbox as we share insights into some of the tools and features useable right out of the box.
  • Harness your imagination by learning how to create customized content for use within your own custom games through the detailed asset creation examples within the book.
  • Contains C++ programming examples designed to expose powerful game customization opportunities available to game programmers.
  • Translate your game design into a functioning game by following the easy step by step examples exploring level building, visual scripting, and many of the other tools within CryENGINE® 3.

Book Details

Language : English
Paperback : 354 pages [ 235mm x 191mm ]
Release Date : September 2012
ISBN : 1849692009
ISBN 13 : 9781849692007
Author(s) : Sean Tracy, Paul Reindell
Topics and Technologies : All Books, Game Development, Beginner's Guides, Games

Table of Contents

Preface
Chapter 1: Introducing the CryENGINE 3 Free SDK
Chapter 2: Breaking Ground with Sandbox
Chapter 3: Playable Levels in No Time
Chapter 4: I'm a Scripter, Not a Coder
Chapter 5: C++ and Compiling Your Own Game Code
Chapter 6: User Interface and HUD Creation with Flash
Chapter 7: Creating Assets for the CryENGINE 3
Chapter 8: Creating Real-time Cutscenes and Cinematic Events
Chapter 9: Immersion through Audio Design
Chapter 10: Preparing to Share Your Content
Appendix : Pop Quiz Answers
Index
  • Chapter 1: Introducing the CryENGINE 3 Free SDK
    • What is the CryENGINE?
    • Applying your vision
      • Far Cry by Crytek – first-person shooter
      • Aion by NCsoft – massively online role-playing game
      • Crysis by Crytek – first-person shooter
      • Crysis Warhead by Crytek – first-person shooter
      • Crysis 2 by Crytek – first-person shooter
    • CryENGINE 3 Free SDK
      • What's in it for me?
      • Do I need a full team to develop with the CryENGINE?
    • Learning by example
    • Time for action – installing the CryENGINE 3 Free SDK
      • Come in...stay awhile
    • Time for action – load the sample map in the launcher
    • Visual Studio Express and C++ game code
    • Acquiring the sample source assets
    • Time for action – installation of the 3ds Max exporter Plugin
    • Time for action – downloading and opening the sample assets
    • Time for action – installing the Adobe Photoshop plugin-CryTif
    • CryENGINE 3 Sandbox
    • Time for action – starting Sandbox and WYSIWYP
    • Getting around in the Sandbox Editor
    • Time for action – manipulating the perspective camera
    • Handling level objects
    • Time for action – selecting and browsing objects
    • Time for action – saving our work
    • Summary
    • Chapter 2: Breaking Ground with Sandbox
      • What makes a game?
        • Reducing, reusing, recycling
      • Developing out of the box
      • Time for action - creating a new level
        • Using the right Heightmap Resolution
        • Scaling your level with Meters Per Unit
        • Calculating the real-world size of the terrain
        • Using or not using terrain
      • Time for action - creating your own heightmap
      • Using alternative ways for creating terrain
        • Generating procedural terrain
          • Importing a pre-made heightmap
        • Creating terrain textures
      • Time for action - creating some basic terrain texture layers
        • Adding altitude and slope
        • Adjusting the tile resolution
        • Creating vegetation
      • Time for action - creating some flora for your level
      • Time for action - setting up time of day and its basic parameters
        • Adding Atmosphere
      • Summary
      • Chapter 3: Playable Levels in No Time
        • Building levels with entities and objects
        • Starting a level
          • Creating a spawn point
        • Time for action - creating a spawn point
        • Landmarks to guide the player
          • Using roads in levels
        • Time for action - creating a road object
          • Utilizing layers to organize level objects
        • Time for action - creating and managing layers
          • Adding objects using the asset browser
        • Time for action - adding brushes to the level
        • White boxing
          • White boxing using Constructive Solid Geometry (CSG)
        • Time for action - creating constructive solid geometry
          • Adding characters with Artificial Intelligence (AI)
        • Time for action - place a basic AI entity
          • Create an archetype entity
        • Time for action - creating your own archetype
          • Exporting to engine
        • Time for action - exporting your level to engine
        • Summary
        • Chapter 4: I'm a Scripter, Not a Coder
          • Scripting and the CryENGINE 3
          • Lua usage in the CryENGINE 3
          • Visual scripting with Flow Graph
          • Scripted events
          • Time for action - making a Flow Graph to spawn the player at a specific location
            • Component and entity nodes
            • Composition of flow nodes
          • Using trigger entities with Flow Graph
          • Time for action - adding a trigger to Flow Graph and outputting its status
          • AI scripting with Flow Graph
          • Time for action - creating a patrolling AI
          • Debugging Flow Graphs using the visual debugger
          • Time for action - debugging the patrol Flow Graph
            • Using breakpoints with the visual debugger
          • Time for action - adding and removing breakpoints
          • Summary
          • Chapter 5: C++ and Compiling Your Own Game Code
            • Installing Visual C++ 2010 Express Edition
            • Time for action - downloading and installing Visual C++ 2010 Express
            • Starting CryENGINE 3 with Visual Studio
            • Time for action - starting CryENGINE with the debugger attached
            • Breakpoints, watches, and co
            • Time for action - setting up your first breakpoint
            • Create a new Lua entity and call C++ code to interact with it
            • Time for action - creating a new entity
            • Time for action - placing your entity into your level
              • How to interact with entities via Lua script
            • Time for action - making the teleporter usable
              • Time for some real code
            • Time for action - writing a new scriptbind function in C++
              • Call the new C++ function from your Lua script
            • Time for action - changing the teleporter entity to execute the C++ code
            • CryENGINE specific data types
            • Summary
            • Chapter 6: User Interface and HUD Creation with Flash
              • Adobe Flash as a very powerful UI design tool
              • Time for action – creating a new Flash asset with Adobe Flash
              • Bringing your Flash asset into CryENGINE 3
              • Time for action – bringing your Flash asset into CryENGINE 3
              • Time for action – making functions, variables, and movieclips accessible in CryENGINE 3
              • Different alignment modes for UI elements
                • Dynamic alignment
                • Fixed and fullscreen alignment
              • Using the UI Emulator to display and test your asset
              • Time for action – starting Sandbox and testing your UIElement
              • Creating a new UI Action for the new HUD
              • Time for action – making the HUD work
              • Basic event handling from Flash to CryENGINE 3
              • Time for action – creating a simple interactive menu
              • UI Emulator, UI Actions, and FreeSDK example menus
                • UI Actions – Flow Graphs to control the UI
                  • UI Action is a standalone, level-independent Flow Graph
                  • UI Action can have start and end nodes
                  • UI Action can be in a disabled state
                  • UI Actions support multitriggering
                • UIEventSystems and UI Emulator to test your UI
              • Time for action – using the UI Emulator to test the FreeSDK demo menus
              • Summary
              • Chapter 7: Creating Assets for the CryENGINE 3
                • What are assets?
                • Understanding the CryENGINE 3 asset pipeline
                • Exploring the CryENGINE 3 asset file types
                • Following a workflow for artists
                  • Working with units and scale in CryENGINE 3
                • Time for action - setting up 3ds Max units to match CryENGINE scale
                  • Matching grid and snap settings between 3ds Max and Sandbox
                  • Using real-world measurement reference
                  • Creating textures for the CryENGINE
                • Time for action - creating your own texture
                  • Working with the CryTIF (.TIF) format
                  • Creating and exporting custom assets
                • Time for action - creating and exporting your first model
                  • Using a physics proxy instead of the render geometry for collision
                  • Adjusting physical dynamics with user-defined properties
                  • Creating destructible objects
                • Time for action - making your object destructible
                  • Specifying physics and render dynamics with user defined properties
                  • Breaking two-dimensional assets
                  • Designing breakables with constraints
                • Using character assets
                  • Following the character creation pipeline
                  • Creating your own characters
                • Time for action - creating your own skinned character
                  • Creating a character LOD (Level of Detail)
                  • Bone attachments
                  • Creating animations for your character
                • Time for action - creating animation for a skinned character
                  • .chrparams wildcard mapping
                • Creating animation for rigid body assets
                • Time for action - creating animation using rigid body data
                • Summary
                • Chapter 8: Creating Real-time Cutscenes and Cinematic Events
                  • Discovering the Track View editor
                    • Creating a new Track View sequence
                  • Time for action – creating a new sequence
                    • Adding tracks to the director node
                    • Adjusting Sequence Properties
                  • Animating a camera in Track View
                  • Time for action – animating a camera
                    • FOV
                    • Playback speed
                    • Curve Editor
                  • Triggering a sequence using Flow Graph
                  • Time for action – triggering a sequence
                    • Using the Input:Key node to trigger a sequence
                    • StartTime property
                    • BreakOnStop property
                  • Animating entities in Track View
                  • Time for action – animating an entity in Track View
                    • Entity Visibility track
                    • Animating scale
                    • Entities and their tracks
                  • Playing animations on entities in Track View
                  • Time for action – playing an animation on an entity in Track View
                  • Using Console Variables in Track View
                  • Time for action – adding a Console Variable to a sequence
                    • The t_scale CVAR in Track View
                  • Using Track Events
                  • Time for action – creating some Track Events for a sequence
                  • Capturing video from CryENGINE 3
                  • Time for action – capturing frames from CryENGINE
                    • Useful CVARs for high resolution capturing
                  • Summary
                  • Chapter 9: Immersion through Audio Design
                    • Introducing sound design
                    • Understanding the CryENGINE sound event system
                    • Setting up a project structure
                      • Event grouping
                      • Using categories
                      • Adding events
                    • Reviewing sound event system file formats
                      • Using wavebanks
                    • Getting your first sound into the CryENGINE
                    • Time for action - creating an ambient sound event
                    • Leveraging advanced parameters of ambient sounds
                    • Time for action - nesting ambient sounds and using other parameters for sound events
                    • Randomizing sounds
                    • Time for action - creating random sounds
                    • Reverb volumes
                    • Time for action - create your own reverb preset
                    • Adding sounds to particle effects
                    • Time for action - add a sound to a particle effect
                      • Using the three different sound control overtime functions
                    • Sound events and weapons
                    • Time for action - add sound to a weapon
                      • Weapon sound workflow tips
                    • Summary
                    • Chapter 10: Preparing to Share Your Content
                      • Profiling performance in Sandbox
                        • Profiling with display info
                      • Time for action – enabling and reading display info
                        • Understanding draw calls
                        • Visualizing triangle count
                        • Setting budgets
                      • Saving a level's statistics
                      • Time for action – Save Level Statistics
                        • Viewing textures and render targets in the Textures tab
                        • Viewing physical triangle count and physics memory footprints
                        • Reading the Detailed Dependencies tab
                      • Enabling Debug Draw modes
                      • Time for action – enabling Debug Draw modes
                      • Profiles
                      • Time for action – using profiles to break down frame-time performance
                      • Optimizing levels with VisAreas and Portals
                      • Time for action – set up a VisArea
                        • Ambient color of VisAreas and Portals
                        • Blind spots
                        • Using VisAreas and Portals vertically
                      • Light clipping boxes and areas
                      • Time for action – create a light clipping box
                        • Using a concave light shape
                        • Linking to multiple light shapes
                      • Activating and deactivating layers
                      • Time for action – use layer switching logic
                        • Limitations of layer switching
                        • Cinematics
                      • Packaging your content to share
                        • CryDev project database
                      • Time for action – create a team, project, and share an upload
                      • Summary

                      Sean Tracy

                      Sean Tracy is Crytek’s Senior Field Application Engineer for the award-wining CryENGINE. He is responsible for adapting the engine and its features to individual licensees, as well as developing full technical and ‘vertical slice’ demos for prospective and existing clients. Describing himself as a ‘generalizing specialist’, he also gives support directly to CryENGINE licensees, while designing and maintaining their workflows, pipelines and development techniques. Sean was recruited by Crytek in 2008 after working as an electronics technician for the Canadian Military. He was recruited due to his role in founding and leading development on the award winning total conversion project ‘MechWarrior:Living Legends’. Since then, he has been featured in numerous gaming magazines and has been invited to speak at many game related trade shows, conferences and seminars. He is an avid gamer with extensive modding experience on titles including Never Winter Nights, Battlefield, Doom and Quake.

                      Paul Reindell

                      Paul Reindell has been an Engine Programmer in the SDK Team since June 2010. He is responsible for UI programming, next generation features and development of new tools for the CryENGINE 3 Sandbox, as well as forum support for CryENGINE licensees. He also worked on projects for licensees or evaluators. During his diploma theses Paul started as an Intern at Crytek in March 2010. He finished his diploma thesis successfully in June and started directly as a Junior Programmer in the SDK team. During his academic studies he created a mod prototype with CryENGINE 2 (GarbageWarz) and during his diploma thesis he was able to connect CryENGINE 3 successfully with a Headtracking API. Before working at Crytek he worked for three years as a programmer at DENSO, in Germany, beside his studies.
                      Sorry, we don't have any reviews for this title yet.

                      Code Downloads

                      Download the code and support files for this book.


                      Submit Errata

                      Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.


                      Errata

                      - 1 submitted: last submission 31 Jan 2014

                      Errata type: Code

                      The Code bundle has been updated with the missing folder "terrain_materials" in Chapter 2 zip folder.

                      Sample chapters

                      You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

                      Frequently bought together

                      CryENGINE 3 Game Development: Beginner's Guide +    PhoneGap 3.x Mobile Application Development Hotshot =
                      50% Off
                      the second eBook
                      Price for both: $43.05

                      Buy both these recommended eBooks together and get 50% off the cheapest eBook.

                      What you will learn from this book

                      • Learn to navigate within the CryENGINE® 3 Sandbox.
                      • Learn to create your own worlds by following straightforward examples to sculpt and mould the terrain and place vegetation.
                      • Learn to model with the integrated tools available to designers and artist in the CryENGINE3 Sandbox.
                      • Learn methods of visual scripting used to create amazingly complex scripted events
                      • Learn how to start creating and compile C++ game code to create your own custom game.
                      • Learn to use Autodesk Scaleform to create high fidelity 3d heads up displays and menus for the player.
                      • Learn how to create your own custom characters and objects for use within the examples.
                      • Learn to create your own cut scenes, animations and videos using the power of the CryENGINE3 engine to maximize the output.
                      • Learn to use FMOD designer along with the CryENGINE 3 to add sound and music to your game.
                      • Explore some of the key performance and optimization strategies for levels and learn to share your content with others.

                      In Detail

                      CryENGINE is a complete game development environment used by AAA game development studio Crytek to produce blockbuster games such as Crysis 1, 2 and 3. This complete Beginner's Guide takes the would be game developer through the steps required to create a game world complete with event scripting, user interface and 3D environment in the free CryENGINE SDK.

                      Learn to create game worlds with the CryENGINE 3 Sandbox, the tool used to create AAA games like the soon to be released Crysis 3. Follow straightforward examples to sculpt the terrain, place vegetation, set up lighting, create game sounds, script with Lua and code with C++.

                      Learn to navigate the interface within the CryENGINE 3 Sandbox, the tool used to create AAA games like Crysis 1 and 2, as well as the soon to be released Crysis 3. Learn to create your own worlds by following straight forward examples to sculpt the terrain, place vegetation, set up lighting, create game sounds, and script with the Lua language. The book covers all beginner aspects of game development including an introduction to C++ for non- coders.

                      Approach

                      A step by step beginner's tutorial to creating AAA style games with the complete game creation tool, CryENGINE 3.

                      Who this book is for

                      This book is written with the beginner and casual developer in mind. The freely available version of the CryENGINE® 3 is used for all examples in this book.

                      Code Download and Errata
                      Packt Anytime, Anywhere
                      Register Books
                      Print Upgrades
                      eBook Downloads
                      Video Support
                      Contact Us
                      Awards Voting Nominations Previous Winners
                      Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
                      Resources
                      Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software