Table Of ContentMastering CryENGINE
Use CryENGINE at a professional level and master the
engine's advanced features to build AAA quality games
Sascha Gundlach
Michelle K. Martin
BIRMINGHAM - MUMBAI
Mastering CryENGINE
Copyright © 2014 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval
system, or transmitted in any form or by any means, without the prior written
permission of the publisher, except in the case of brief quotations embedded in
critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy
of the information presented. However, the information contained in this book is
sold without warranty, either express or implied. Neither the authors, nor Packt
Publishing, and its dealers and distributors will be held liable for any damages
caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the
companies and products mentioned in this book by the appropriate use of capitals.
However, Packt Publishing cannot guarantee the accuracy of this information.
First published: April 2014
Production Reference: 1040414
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham B3 2PB, UK.
ISBN 978-1-78355-025-8
www.packtpub.com
Cover Image by Berker Siino ([email protected])
Credits
Authors Project Coordinator
Sascha Gundlach Priyanka Goel
Michelle K. Martin
Proofreaders
Simran Bhogal
Reviewers
Hendrik Polczynski Maria Gould
Ross Rothenstine Ameesha Green
Sheetanshu Paul Hindle
Acquisition Editor Indexers
Owen Roberts Mariammal Chettiyar
Monica Ajmera Mehta
Content Development Editor
Neeshma Ramakrishnan
Graphics
Ronak Dhruv
Technical Editors
Disha Haria
Pragnesh Bilimoria
Yuvraj Mannari
Pooja Nair
Abhinash Sahu
Nikhil Potdukhe
Production Coordinator
Copy Editors
Adonia Jones
Alisha Aranha
Roshni Banerjee
Cover Work
Gladson Monteiro Adonia Jones
Adithi Shetty Shantanu Zagade
About the Authors
Sascha Gundlach has been working in the games industry for over a decade and
started his career as a script programmer in a small game studio in the early 2000s.
He worked for Crytek for eight years, working on games such as Crysis, Crysis:
Warhead, and Crysis 2.
He is a CryENGINE expert and has provided countless training sessions and
individual training to CryENGINE licensees in the past years.
In 2013, he founded his own game development company, MetalPop Games, together
with his partner and Crytek veteran Michelle K. Martin in Orlando, Florida.
He spends his days working on video game projects and provides consulting work
for other game projects.
Michelle K. Martin is a software engineer in the game industry, specializing in
animation systems. She started her career with the German developer, Crytek, working
on projects such as Crysis and Crysis 2. During her career, Michelle has helped develop
and improve CryENGINE's animation system with several features. Being an expert in
CryENGINE, she has provided a lot of support and training to CryENGINE licensees
over the years, helping their team to get the most out of the engine.
In 2013, she founded MetalPop Games together with her partner and Crytek veteran
Sascha Gundlach. It is an indie game development studio and they are currently
working on their first title.
When she's not in front of the computer programming, she is most likely to be in
front of the computer playing games.
More about Sascha and Michelle's company MetalPop Games can be found at
www.metalpopgames.com.
About the Reviewers
Hendrik Polczynski is a software developer from Germany. He has been working
on software development for over 10 years. He likes to take on a variety of fields,
from the automation industry to web, UI, and game development. You can find his
open source projects on github.com/hendrikp or on his YouTube channel. Hendrik
is currently maintaining a handful of open source projects around the CryDev
community using CryENGINE 3 FreeSDK. When he is not working, he is working
on his Bachelor thesis or helping out in the development of Miscreated by Entrada
Interactive, which is a post-apocalyptic, survival-based MMORPG; it is unlike
anything you've played before.
I would like to thank the following people who have helped me
review specific chapters of this book:
Victor Duarte, Simon Hambly, and Chris Ioakeimoglou
Ross Rothenstine has been interested in game development from the instant he
sat in front of a computer. Studying all engines, from self-made to commercial, he
loves to find ways to tinker with these massive systems and push them to their core,
thereafter presenting his findings to universities and teaching courses wherever he
may. Game development may be an intimidating task, but with books like these, he's
sure you can do it!
Sheetanshu is a professional developer who resides in the metro city of Gurgaon,
India. He is currently working to obtain an Engineering degree at the Guru Gobind
Singh Indraprastha University. He fell in love with programming during his
childhood and since then there was no turning back. From the beginning of his
bachelor's degree in engineering, he has been an active developer. He had already
contributed a lot to the web community when he further got involved in game
development at his brother's request. He has over a year's worth of experience
working with game engines such as Unity 3D, CryENGINE 3.5, and UDK. Presently,
as the final phase of his Engineering degree, he is working on his industrial
internship with 4play as the Chief Game Officer and is also working as a research
assistant with Dr. Aynur Unal from Stanford, Palo Alto.
www.PacktPub.com
Support files, eBooks, discount offers, and more
You might want to visit www.PacktPub.com for support files and downloads related
to your book.
Did you know that Packt offers eBook versions of every book published, with PDF
and ePub files available? You can upgrade to the eBook version at www.PacktPub.
com and as a print book customer, you are entitled to a discount on the eBook copy.
Get in touch with us at [email protected] for more details.
At www.PacktPub.com, you can also read a collection of free technical articles, sign
up for a range of free newsletters and receive exclusive discounts and offers on Packt
books and eBooks.
TM
http://PacktLib.PacktPub.com
Do you need instant solutions to your IT questions? PacktLib is Packt's online
digital book library. Here, you can access, read and search across Packt's entire
library of books.
Why Subscribe?
• Fully searchable across every book published by Packt
• Copy and paste, print and bookmark content
• On demand and accessible via web browser
Free Access for Packt account holders
If you have an account with Packt at www.PacktPub.com, you can use this to access
PacktLib today and view nine entirely free books. Simply use your login credentials
for immediate access.
Table of Contents
Preface 1
Chapter 1: Setting Up the Perfect Pipeline 7
What is a production pipeline? 7
Importance of a strong pipeline 8
Version control for CryENGINE projects 8
What version control does for you 9
Production without version control 9
Working from a shared folder 9
Selecting a VCS for CryENGINE projects 10
Setting up version control for CryENGINE 11
Sandbox 11
Identifying CryENGINE project files to be excluded from version control 16
Automated builds and build scripts 16
Creating nightly builds 17
Setting up a build server 17
Operating systems 18
What the build scripts should do 18
Creating your custom build script 19
Writing your own script 20
Wrapping it up 29
Scheduling automated builds 30
Automated performance tests 34
Using level statistics to profile the performance of a level 35
Build integration 36
Integrating a new version of CryENGINE 36
The engine depot 37
Project branch 37
Integration 37