You are previewing CryENGINE 3 Game Development Beginner's Guide.
O'Reilly logo
CryENGINE 3 Game Development Beginner's Guide

Book Description

Discover how to use the CryENGINE 3 free SDK, the next-generation real-time game development tool.

  • 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.

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.

Table of Contents

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