CryENGINE SDK Game Programming Essentials

Elevate your game programming skills to the next level with CryENGINE
5.0 (2 ratings)
Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
71 students enrolled
Take This Course
  • Lectures 33
  • Length 2.5 hours
  • Skill Level All Levels
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


Learn and practice real-world skills and achieve your goals.

About This Course

Published 12/2014 English

Course Description

This video course provides you with hands-on exercises that walk you through programming with CRYENGINE using C++ and Lua. Everything is presented with visual learners in mind, so you not only see what is happening on screen but also participate in creating your own code through step-by-step instructions.

In this video course, we start out by getting ready for the CryENGINE code by setting up our Visual Studio. Next we learn the correlation between editor-spawned entities and those spawned through C++. We then set out to create our very own entity in C++, in particular, a Proximity Mine entity. Further on, we will add Lua functionality to our newly created entity.

Further into the course, we turn our attention to the Flowgraph editor where we create some advanced AI behaviors and then proceed to test them out. Lastly, we will create our very own “Mine Listener” Flowgraph node that will be used to listen for mines being placed by a target entity.

CRYENGINE Game Programming Essentials is an amazing and exciting video course that will capture the interest of all aspiring game programmers. The activities you perform in this course are fun, practical, and tackle real-word game programming problems with ease. This video course will help you greatly in your endeavors to become a game programmer.

About the Author

Richard is a hardworking, very intelligent software engineer with a passion to teach and help others. He has captured the attention of over 250,000 people through his YouTube channel in his efforts to educate beginners in the field of game development using CryENGINE technology. He also has an extensive IT background, working in the computer/software diagnosis/repair fields for the past 6 years. Lately, he has been heavily involved in C++ game and middle-ware development and has opened his own indie game studio “Hawk Eye Games” where he plans to create compelling 2D and 3D video games for all ages, in genres ranging from platform games all the way to RPGs.

What are the requirements?

  • A basic to intermediate understanding of C++, along with a very basic understanding of the CryENGINE editor is needed to best understand this course.
  • This video course provides a hands-on approach to learning game programming with step-by-step instructions using C++ and Lua with the latest CryENGINE technology.

What am I going to get from this course?

  • Use C++, Lua, and CryENGINE 's interfaces to create game logic
  • Create AI navigation areas so that AI can move around
  • Script AI behavior using CryENGINE 's visual scripting Language “Flowgraph”
  • Program your own custom game object and place it into the game world
  • Add Lua functionality to entities
  • Fix common coding mistakes by debugging CRYENGINE Code

Who is the target audience?

  • If you want to get into game development as a game programmer this is the course for you.

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.


Section 1: Setting Up Microsoft Visual Studio C++

Find how to set up Visual Studio in order to start with programming. Open up Configuration Manager and make sure to build only the CryGame project.


Find how to set up include, library, and debug folders. Open up the project’s properties and browse for correct settings.


Find how to compile CryENGINE C++ code into an executable .exe file. Right-click on the project and select the Build option.

Section 2: Overview of CryENGINE Entities

How to get entities into the game? Browse in the RollupBar and drag-and-drop your entity in the level.


Find how to change the entity behavior in the CryENGINE editor. Change the desired entity's property values in the RollupBar.


How to find where the entity properties come from in the code so that we can make changes. Look for the entity's corresponding source file.

Section 3: Entity System from a C++/Programming Perspective

How to use entities and the entity system. Closely inspect the IEntitySystem header file, as it is well commented.


Find how to add entities to the game world and to remove them when they get destroyed. Use the EntitySystem's SpawnEntity and RemovEentity functions.


Something happens to your entity. But all other entities don't know that something happened to you. Use EntityEvents to communicate with other entities or objects.

Section 4: Creating a Custom C++ Entity from Scratch – Part I

Find out how to create a custom entity. Create a new header and source file to hold your new class.


Find out how to use the IGameObject Extension's functions. Read the well-commented IGameObject header file and debug constantly.


Find out how to give your entity the needed behavior by default. Fill in the IGameObjectExtension's functions with the default logic.

Section 5: Creating a Custom C++ Entity from Scratch – Part II

Find out how to use our newly created entity. Register it with the IGameFramework system


Find out how to get visuals for your entity. Load a 3D model for your entity.


Find out how to get all the entities inside a radius. Use a proximity query.


Find out how to simulate a cheap explosion effect. Use physics impulses.


Find out how to kill or do damage to AI players. Use the ‘SetHealth’ member function of the entity's iActor

Section 6: Creating a Custom C++ Entity from Scratch – Part III

Find out how to spawn your entity through the code. Use the entity system's member function SpawnEntity.


Find out how to spawn your entity through the code. Use the entity system's member function SpawnEntity.


Find how to physicalize your entity. Use the entity's member function Physicalize.


Find out how to spawn your entity through the RollupBar. Use the same procedure as the default included entities.

Section 7: Creating a Custom Lua Script for Our Entity

Learn how to add entity properties for our entity so that they can be changed in the RollupBar. Create a Lua entity script and attach it to our C++ entity.


Find out how to access and change our Lua script variables and functions from C++. Use the IScriptTable C++ interface to open a two-way bridge to/from Lua/C++.


Find out how to access/change our new entity properties from the editor RollupBar. Go to the entity panel and go to the folder where your Lua script is located. Then drag-and-drop your entity into the level and proceed to change its new properties located in the RollupBar.

Section 8: Creating AI Behaviors in Flowgraph

Find out how to script game logic visually. Use flowgraph to create a node graph that will run game logic.


Add realism and life to our game by adding AI movement/navigation. We need to build AI triangulation for that.


Find out how to add realism to our game by adding AI behaviors. Script AI behaviors in Lua, C++, or flowgraph.

Section 9: Creating a Custom Flownode from Scratch

Make your code accessible to Game/Level designers. Create flownodes to expose your code to Game/Level designers.


Find out how to add custom game logic to your flownode. Think about what you want to achieve and then write the code.


Find out how to add custom game logic to your flownode. Think about what you want to achieve and then write the code.


Find out how to add custom game logic to your flownode. Think about what you want to achieve and then write the code.


Find out how to add custom game logic to your flownode. Think about what you want to achieve and then write the code.


Find out how to add your custom flownode to flowgraph. Right-click on and search for your node category and node.

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Packt Publishing, Tech Knowledge in Motion

Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.

With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.

From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.

Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.

Ready to start learning?
Take This Course