For your convenience Apress has placed some of the front
matter material after the index. Please use the Bookmarks
and Contents at a Glance links to access them.
Download from Wow! eBook <www.wowebook.com>
iii
Contents at a Glance
Contents ............................................................................................................. iv
About the Author ................................................................................................ ix
About the Technical Reviewers .......................................................................... x
Acknowledgments ............................................................................................. xi
Introduction ...................................................................................................... xii
■Chapter 1: UDK Overview ................................................................................. 1
■Chapter 2: UnrealScript Overview ................................................................. 29
■Chapter 3: Player Controllers, Pawns, and Weapons .................................... 53
■Chapter 4: UDK Collisions .............................................................................. 83
■Chapter 5: UDK Bots .................................................................................... 137
■Chapter 6: Environment: Sounds, Kismet, and HUD .................................... 175
■Chapter 7: Sample Game and GamePlay ..................................................... 205
■Chapter 8: 3D Math Review ......................................................................... 227
■Chapter 9: Physics Game Framework ......................................................... 261
■Chapter 10: First-Person Shooter Game Framework .................................. 283
■Chapter 11: Third-Person Shooter/Adventure Game Framework ................ 319
■Chapter 12: Top-Down Shooter/RPG Game Framework .............................. 351
Index ............................................................................................................... 373
xii
Introduction
The release of the Unreal Development Kit is really the first time a powerful 3D commercial game
engine has been available to the masses of ordinary people for free. The underlying technology
has been used for numerous high-quality commercial triple-A games that you see in the retail
stores in the United States and around the world. The UDK contains the Unreal Engine 3 3D
graphics engine and related tools that would normally cost hundreds of thousands of dollars. The
only limitation is that the C/C++ source code used to create the UDK is only available to those
who pay the full license fee. Thus, you can not modify the UDK engine itself.
This book provides an introduction to using this technology, including the UnrealScript
language, for creating 3D iOS games. I have used the technology extensively and used it to create
a full commercial physics puzzle type game for iOS similar to the iOS game Angry Birds. It is a
powerful tool that is excellent for iOS development. My intention here is to give others a
quickstart guide for creating their own iOS games and share game frameworks I’ve developed
that readers can use as the basis for their own work.
Who This Book Is For
This book is for people that want to use the Unreal Development Kit (UDK) to create 3D games
for Apple’s iOS platform. This includes devices such as the iPhone, iPad, and iPod Touch. This
book also is useful for people that want to develop games on the PC platform with the UDK since
much of what is covered in this book would apply to creating a game for the PC as well.
This book assumes the reader has some experience with an object-oriented programming
language like C++ or at least some programming experience in general. However, several basic
game frameworks are presented in this book as a means to help those who are not professional
programmers build their own game using the frameworks as a starting point.
It is also assumed that the reader has some basic knowledge of how to use an iOS device
since the final game created using the UDK will be played on the actual iOS device.
General Layout of the Book
Before we cover the general layout of this book there are some key points that the reader should
note. First, this book is not designed to cover every feature of the UDK since that would
realistically involve a set of books, not just one. This book concentrates on the programming side
of game development using the default set of assets that come with the UDK. Also, in terms of
programming, this book is not meant to provide a full reference to the UnrealScript programming
language. This book also isn’t intended as a general introduction to iOS development. We have
mentioned links to web sites that provide additional useful information throughout this book.
Some of the more important ones are listed in the “Other Resources” section at the end of this
introduction.
■ INTRODUCTION
xiii
The general format of this book is to discuss UDK topics and then demonstrate these topics
in the form of a “Hands-On Example” in which we show you how to develop an UnrealScript
program along with the creation of any levels that are needed. We take you, step by step, through
these examples along with showing you how to set up any configuration files that are required.
We start with overviews of the UDK and UnrealScript, including a practical coding example.
Then we work through key topics with hands on examples and culminating with a complete
sample game. Some of these topics rely on 3D math concepts that are reviewed and
demonstrated in a separate chapter. Then, in the latter part of the book we present game
frameworks which are actually small working games that you can modify and use to build your
own custom games. Game frameworks include a physics game, a first-person shooter game, a
third-person shooter/adventure game, and a top-down shooter/role playing game.
Other Resources
Epic Games provides a wealth of resources you can use to supplement what you learn in this
book:
■ Epic’s UDK Mobile home page:
http://udn.epicgames.com/Three/MobileHome.html
■ Getting Started: Developing Mobile Projects:
http://udn.epicgames.com/Three/GettingStartediOSDevelopment.html
■ iOS Provisioning Overview:
http://udn.epicgames.com/Three/AppleiOSProvisioning.html
■ Distributing iOS Applications:
http://udn.epicgames.com/Three/DistributionAppleiOS.html
■ UnrealScript Language Reference:
http://udn.epicgames.com/Three/UnrealScriptReference.html