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

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

Credits

About the Authors

About the Reviewers

www.PacktPub.com

Preface

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

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

Creating and Utilizing Custom Entities

Introducing the entity system

Creating a custom entity

Entity flownodes

Game objects

Summary

Game Rules

Introduction to game rules

Implementing the game rules interface

Scripting

Creating a basic game mode in C#

Summary

Creating Custom Actors

Introducing the actor system

Creating custom actors

Camera handling

Player inputs

Animated characters

The Mannequin animation system

Summary

Artificial Intelligence

The Artificial Intelligence (AI) system

Creating custom AI

AI base definition breakdown

Summary

The User Interface

Flash movie clips and UI graphs

Creating a main menu

Engine ActionScript callbacks

Creating UI game event systems

Summary

Multiplayer and Networking

The networking system

Setting up a multiplayer game

Networking using game object extensions

Exposing Lua entities to the network

Summary

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

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

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

Debugging and Profiling

Debugging the game logic

Profiling

The console

Summary

Index