Free Sample
+ Collection

CryENGINE Game Programming with C++, C#, and Lua

Progressing
Filip Lundgren, Ruan Pearce-Authers

For developers wanting to create 3D games, CryENGINE offers the intuitive route to success and this book is the complete guide to using it. Learn to use sophisticated tools and build super-real, super-addictive games.
$26.99
$44.99
RRP $26.99
RRP $44.99
eBook
Print + eBook

Want this title & more?

$12.99 p/month

Subscribe to PacktLib

Enjoy full and instant access to over 2000 books and videos – you’ll find everything you need to stay ahead of the curve and make sure you can always get the job done.

Book Details

ISBN 139781849695909
Paperback276 pages

About This Book

  • Dive into the various CryENGINE subsystems to quickly learn how to master the engine
  • Create your very own game using C++, C#, or Lua in CryENGINE
  • Understand the structure and design of the engine

Who This Book Is For

This book is intended for developers looking to harness the power of CryENGINE, providing a good grounding in how to use the engine to its full potential. The book assumes basic knowledge of the engine and its editor in non-programming areas.

Table of Contents

Chapter 1: Introduction and Setup
Installing Visual Studio Express 2012
Choosing your CryENGINE installation type
Downloading the book's CryENGINE sample installation
Using a custom or newer CryENGINE installation
Registering your CryDev account
Running the sample application
Compiling the CryGame project (C++)
The CryENGINE folder structure
Summary
Chapter 2: Visual Scripting with Flowgraph
Concept of flowgraphs
Opening the Flowgraph Editor
A tour of the Flowgraph Editor
Creating a flowgraph
The stock flownode overview
Flowgraph modules
Custom flownodes
Creating a custom node in C++
Creating a custom node in C#
Summary
Chapter 3: Creating and Utilizing Custom Entities
Introducing the entity system
Creating a custom entity
Entity flownodes
Game objects
Summary
Chapter 4: Game Rules
Introduction to game rules
Implementing the game rules interface
Scripting
Creating a basic game mode in C#
Summary
Chapter 5: Creating Custom Actors
Introducing the actor system
Creating custom actors
Camera handling
Player inputs
Animated characters
The Mannequin animation system
Summary
Chapter 6: Artificial Intelligence
The Artificial Intelligence (AI) system
Creating custom AI
AI base definition breakdown
Summary
Chapter 7: The User Interface
Flash movie clips and UI graphs
Creating a main menu
Engine ActionScript callbacks
Creating UI game event systems
Summary
Chapter 8: Multiplayer and Networking
The networking system
Setting up a multiplayer game
Networking using game object extensions
Exposing Lua entities to the network
Summary
Chapter 9: Physics Programming
CryPhysics
Physical entity actions, parameters, and status
Physicalized entity type details
Static
Rigid
Wheeled vehicle
Living
Particle
Articulated
Rope
Soft
Ray world intersections
Creating a physicalized entity
Simulating explosions
Summary
Chapter 10: Rendering Programming
The renderer details
Render nodes
Rendering breakdown
Rendering new viewports using render contexts
Shaders
Manipulating static objects at runtime
Modifying materials at runtime
Summary
Chapter 11: Effects and Sound
Introducing effects
Creating and triggering material effects
Animation-based events and effects
Spawning particle emitters
Exporting sounds by using FMod
Playing sounds
Summary
Chapter 12: Debugging and Profiling
Debugging the game logic
Profiling
The console
Summary

What You Will Learn

  • Make and modify Flowgraph nodes to give your visual scripting a clear advantage
  • Utilize custom entities, from simple physicalized objects to complex weather simulation managers
  • Control the flow of the game in real-time by creating game rules and modes
  • Create custom actors, in order to create unique elements controllable by human players
  • Use the Artificial Intelligence system to your advantage with custom AI units
  • Design custom User Interfaces to give your player a way to navigate the game’s menus and HUDs
  • Implement multiplayer and networking elements for your game, allowing several players to share the experience with each other
  • Master game physics and how to create your own physicalized objects that can interact with the game world
  • Understand the process of using and manipulating the CryENGINE renderer to your advantage, including custom shader authoring
  • Bring your game to life by introducing effects such as particles and sound
  • Debug and profile your game code to get the most out of the computers running your game
  • Implement stock GameDll systems such as vehicles and weapons

In Detail

CryENGINE is a complete 3D game development solution that can run on multiple platforms. It is orientated around giving intuitive tools to the developer. A variety of interactive video games can be created using CryENGINE. CryENGINE is one of the most beginner-friendly engines out there to learn. If you are interested in diving into the various systems and understanding their workings in a way that is easily understood, then this book is for you.

This book provides you with the knowledge to tame the powerful but hard-to-master CryENGINE. CryENGINE Game Programming with C++, C#, and Lua dives into the various systems and explains their workings in a way that can be easily understood by developers of all levels. It provides knowledge on the engine along with step-by-step exercises and detailed information on the backend implementation of the subsystems, giving you an excellent foundation to build upon when developing your own CryENGINE games.

Written by developers with years of CryENGINE experience, this book breaks down the common confusion that encompasses the CryENGINE engine code, guiding you through a series of chapters aimed towards giving you the ability to create your own games in a rapid yet productive fashion. You will learn everything you need to know in order to create your own CryENGINE-powered games as well as detailed information on how to use the engine to your advantage. By teaching systems such as audio, particle effects, rendering, AI, networking, and more, we’ll be exposing the most inner parts of CryENGINE that commonly confuse programmers. If you want to quickly gain the knowledge required to create your own CryENGINE game title, then this book is for you.

Authors

Read More