0%

Book Description

Perfect the art of creating CRYENGINE games through exciting, hands-on game development projects

About This Book

  • Create CRYENGINE games from scratch with CRYENGINE Blank Game Starter-kit
  • Discover good working practices and tips to quickly jump into making a new level in the game
  • Build practical game projects and discover advanced concepts of CRYENGINE game development using the examples in the book

Who This Book Is For

This book is intended for CRYENGINE game developers, wanting to develop their skills with the help of industry experts. A good knowledge level and understanding of CRYENGINE is assumed, to allow efficient programming of core elements and applications.

What You Will Learn

  • Create a CRYENGINE game from scratch with the Game Starter-kit
  • Add custom methods to allow the player/AI to use a weapon
  • Create complete “start” and “end” game menus using Scaleform and C++
  • Discover how to use highpoly modeling workflow and techniques within the pipeline for the SDK to use
  • Use the Crytiff exporter from Photoshop
  • Export the CHR—the format the engine needs to read the skeleton
  • Integrate the character in the engine using the character tool
  • Better understand the rules to create and author skeletons to rig characters designed for CRYENGINE
  • Debug common setup issues that might appear during production with useful tools

In Detail

CRYENGINE is a game engine developed by Crytek for PC, Playstation, Xbox, Android, and iOS. It can be used to create AAA games, movies, high-quality simulations, and interactive applications. It is most popularly used for game development.

In this book, you will start off by exploring the CRYENGINE “Blank” Game Starter-kit, creating a completely playable character from scratch and controlling its movement. You will learn how to implement a weapon and ammo class, and will create complete “start” and “end” game menus using Scaleform and C++.

Additionally, you will learn some key texturing techniques for PBR and how to create and bake maps to the lowpoly model. You will also explore how to get a static model from Maya and shaders setbup in the SDK to check the textures during creation, and create all the necessary engine files to export and see the game character's animations in your engine.

In the final third of the book, you will learn how to create objectives, set up saved games, layer on audio polish to help immerse the player in the experience, and debug game issues.

Style and approach

An easy-to-follow, practical guide covering three exciting projects. As you work through each project you will explore new topics including complex animation, advanced scripting, and complex character motion. All the code used in each project is explained in detail.

Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the files e-mailed directly to you.

Table of Contents

  1. CRYENGINE Game Development Blueprints
    1. Table of Contents
    2. CRYENGINE Game Development Blueprints
    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. Reader feedback
      6. Customer support
        1. Downloading the example code
        2. Downloading the color images of this book
        3. Errata
        4. Piracy
        5. Questions
    8. 1. Getting Started
      1. Downloading the starter-kit
      2. Installing the starter-kit
        1. Part 1
        2. Part 2
      3. Important classes within the starter-kit
      4. Compiling our game
      5. Summary
    9. 2. Creating a Playable Character
      1. Implementing player lives
        1. Part 1 – the player code
        2. Part 2 – the GameRules code
        3. The big picture
      2. Implementing player movement and rotation
        1. The big picture
      3. Making a camera follow the player
        1. The big picture
      4. Summary
    10. 3. Implementing Weapons and Ammo
      1. Creating a weapon class
        1. Creating the IWeapon interface
        2. Creating the AWeapon abstract base class
        3. Creating the CBlaster weapon class
      2. Creating an ammo class
        1. Creating the IAmmo class
        2. Creating the AAmmo abstract class
        3. Creating the CFireBallAmmo class
      3. Creating ammo events
      4. Summary
    11. 4. Creating an Enemy AI
      1. Registering a new AI class
      2. Detecting the player and preventing mobility
      3. Shooting the player
      4. Extending the AI
      5. Summary
    12. 5. Creating User Interfaces
      1. Creating the Flash UI content for our menus
        1. Creating the main menu
        2. Creating the end game menu
      2. Creating UI elements
      3. Implementing a game menu system in C++
      4. Summary
    13. 6. The Modeling Workflow for Game Characters and Tools
      1. Getting started
      2. Installing the CRYENGINE SDK
      3. Installing CryTools
      4. An overview of the modeling workflow
        1. Blockout
        2. Highpoly modeling
        3. Lowpoly modeling
        4. UV mapping
        5. Texturing and materials
      5. Summary
    14. 7. Highpoly Modeling
      1. Blockout
      2. Highpoly
      3. Using DynaMesh
      4. Highpoly sculpting techniques
      5. Sculpting out the forms
      6. Adding the forms
      7. Adding more details
      8. Adding fine details
      9. The hair system
      10. Exporting the highpoly mesh
      11. Summary
    15. 8. Lowpoly Modeling
      1. Creating the lowpoly model
      2. Tools
      3. Getting started
      4. Topology and edgeflow
        1. Good and bad topology
      5. Building the lowpoly
        1. Creating UVs
        2. Adding the eyes
      6. Naming and organizing a Maya scene
        1. Naming
        2. Layers
      7. LODs
        1. Creating LODs
      8. Summary
    16. 9. Texturing and Materials
      1. Baking
      2. Baking the fur and alphas
      3. Efficient psd setup
      4. Using masks
      5. Basics of PBR texturing
      6. Exporting maps
      7. Exporting a mesh and materials into CRYENGINE
      8. Importing the mesh by using CRYENGINE Material Editor
      9. File check and handover
      10. Summary
    17. 10. Building the Character Rig
      1. Getting started
      2. Scene settings in Maya
      3. Authoring the deformation skeleton in Maya
        1. The deformation skeleton rules
      4. Building the rig
        1. Setting up the hitboxes
          1. Creating the phys proxies for the character
            1. Applying the phys proxies material
        2. Building the character's animation rig
          1. Creating the animation skeleton
          2. Creating the controllers
          3. Rigging the arm
            1. The fingers
            2. The clavicle
            3. Cleaning up the arm controllers
          4. Rigging the spine
            1. The upper body controller
            2. The head
            3. Cleaning up the spine controllers
          5. Rigging the leg
            1. Cleaning up the leg controllers
          6. Rigging the tail
            1. Cleaning up the tail controllers
          7. Enhancing the deformations
            1. The forearm twist
            2. The upper arm twist
          8. Finalizing the rig
      5. Summary
    18. 11. Exporting the Character to CRYENGINE
      1. Getting started
      2. Art asset file types
        1. The Crytek Geometry Format
        2. The Character format
        3. The Skinned Render mesh
        4. The Crytek Geometry Animation
      3. Creating the export groups in Maya
        1. Exporting with y axis up
      4. The Character Editor
        1. Debugging in the Character Editor
        2. Creating the character definition file
      5. Exporting the animations to the engine
        1. The Character Parameters file
        2. The Skeleton List file
      6. The physicalized attachments
      7. Summary
    19. 12. Initial Level Blockout and Setup
      1. Action bubble level design
        1. References and 2D layout
        2. Design considerations
          1. Level content
        3. Setting up user preferences, hotkeys, and toolbox macros
          1. User preferences
            1. The Auto Backup action
            2. The Fill Selected Shapes action
            3. The Display Dimension Figures action
            4. The View Pane layout
          2. Hotkeys
            1. The Fast Rotate action
            2. The Convert action
            3. The Simulate Objects action
            4. The Switch Camera action
        4. The Toolbox Macros feature
      2. Adapting the premade SDK content
        1. Level duplication
        2. Exporting objects
        3. Exporting the world
          1. The heightmap
          2. Terrain layers
          3. Vegetation instances
          4. Time Of Day and Lighting
        4. Using and understanding source files
          1. Layers
          2. Mass editing content
          3. Stat tracking
          4. Fixing broken content
          5. The .cry and .pak files
      3. Summary
    20. 13. The Flow Graph Workflow
      1. Using Flow Graph containers
        1. Host entities
        2. Splitting logic over multiple Flow Graphs
      2. Using Game Tokens to create cleaner Flow Graphs
        1. Creating Game Tokens
        2. Using Game Tokens
        3. Graph Tokens
      3. Laying out Flow Graphs to aid readability
        1. Creating comment boxes
        2. Using comment boxes
      4. Thinking modularly to future-proof our work
        1. Basic events
        2. Test-friendly scripting
      5. Summary
    21. 14. Scripting Gameplay Content
      1. Scripting the main level flow and events
        1. Event examples
          1. Triggers
            1. AreaTrigger
            2. ProximityTrigger
          2. Setting up an event listener
        2. Working with events
      2. AI navigation and sequences
        1. Navigation mesh
        2. Cover surfaces
        3. AISequence
          1. Uninterruptible sequences
            1. Adding inventory
            2. Animation events
            3. Ending sequences
          2. Interruptible sequences
            1. Looping movement
            2. Bookmarking
      3. Using the Mannequin editor
        1. Getting familiar with the interface
          1. The preview workflow
          2. Working with fragments
        2. Adding effects to fragments
          1. Procedural layers
        3. Adding a new fragment
          1. The Character Editor window
          2. Creating fragment entries
        4. Adding the AnimLayer
      4. Adapting AI tasks based on player actions
        1. Game Token states
        2. State control
        3. Task scripting
        4. Advanced conditional logic
          1. Multiple area triggers
          2. AND gates
      5. Implementing objectives and checkpoints
        1. Defining the objective information
        2. Using the MissionObjective entities
        3. Activating the objective
        4. Organizing the objective logic
        5. Adding checkpoints
      6. Summary
    22. 15. Maintaining Our Work
      1. Skipping through the level flow
        1. Spawnpoint entities
        2. The tags system
      2. Advancing the state of other level elements
        1. Debug location triggers
      3. Advancing complex AI sequences
        1. Extending support to mid-playthrough updates
      4. Debugging setup issues
        1. Game Token debugging
        2. AI debugging
      5. Summary
    23. Index
3.144.86.121