E-book details

Unreal Development Kit Game Programming with UnrealScript: Beginner's Guide. Create games beyond your imagination with the Unreal Development Kit

Unreal Development Kit Game Programming with UnrealScript: Beginner's Guide. Create games beyond your imagination with the Unreal Development Kit

Rachel Cordone

Ebook
Unreal Development Kit is the free edition of Unreal Engine—the largest game engine in existence with hundreds of shipped commercial titles. The Unreal Engine is a very powerful tool for game development but with something so complex it's hard to know where to start.This book will teach you how to use the UnrealScript language to create your own games with the Unreal Development Kit by using an example game that you can create and play for yourself. It breaks down the UnrealScript language into easy to follow chapters that will quickly bring you up to speed with UnrealScript game programming.Unreal Development Kit Game Programming with UnrealScript takes you through the UnrealScript language for the Unreal Development Kit. It starts by walking through a project setup and setting up programs to write and browse code. It then takes you through using variables, functions, and custom classes to alter the game's behavior and create our own functionality. The use and creation of Kismet is also covered. Later, using replication to create and test multiplayer games is discussed. The book closes with code optimization and error handling as well as a few of the less common but useful features of UnrealScript.
  • Unreal Development Kit Game Programming with UnrealScript
    • Table of Contents
    • Unreal Development Kit Game Programming with UnrealScript
    • Credits
    • About the Author
    • About the Reviewers
    • www.PacktPub.com
      • Support files, eBooks, discount offers, and more
        • Why Subscribe?
        • Free Access for Packt account holders
    • Preface
      • What this book covers
      • What you need for this book
      • Who this book is for
      • Conventions
      • Time for action heading
        • What just happened?
        • Pop quiz heading
        • Have a go hero heading
      • Reader feedback
      • Customer support
        • Downloading the example code
        • Errata
        • Piracy
        • Questions
    • 1. Project Setup and Test Environments
      • System requirements
        • Minimum requirements:
      • Time for action Installing the UDK
        • What just happened?
      • Directory overview
        • Binaries
        • Development
        • Engine
        • UDKGame
      • Using external programs to code
        • ConTEXT
      • Time for action Installing ConTEXT
        • What just happened?
      • Time for action Configuring ConTEXT
        • What just happened?
        • UnCodeX
      • Time for action Installing UnCo
        • What just happened?
      • Time for action Configuring UnCodeX
        • What just happened?
        • nFringe
        • WOTgreal
      • Setting up a project
      • Time for action Setting up AwesomeGame
        • What just happened?
        • Have a go hero More editing of ini files
      • Compiling and testing
      • Time for action Compiling and testing AwesomeActor
        • A quick note about comments
        • Pop quiz Files and directories
      • Summary
    • 2. Storing and Manipulating Data
      • Variables and arrays
        • Booleans
      • Time for action Using booleans
        • What just happened?
        • Integers and floats
      • Time for action Using integers
        • What just happened?
      • Time for action Using floats
        • What just happened?
        • Strings
      • Time for action Using strings
        • What just happened?
        • Enums
      • Time for action Using enums
        • What just happened?
        • Arrays
      • Time for action Using arrays
        • What just happened?
        • Dynamic arrays
      • Time for action Using dynamic arrays
        • What just happened?
        • Have a go hero Copy an array
        • Structs
      • Time for action Using structs
        • What just happened?
        • Vectors
      • Time for action Using vectors
        • What just happened?
        • Rotators
      • Time for action Using rotators
        • What just happened?
      • Variable properties
        • Default properties
      • Time for action Using the default properties block
        • What just happened?
        • Editable variables
      • Time for action Editable variables
        • What just happened?
        • Config variables
      • Time for action Creating config variables
        • Have a go hero Editable configurable variable?
        • What just happened?
      • Common operators
        • Standard arithmetic
      • Time for action Math!
        • What just happened?
        • Modulo
      • Time for action Using modulo
        • What just happened?
        • Comparisons
      • Time for action Comparisons
        • What just happened?
        • Logical operators
      • Time for action Using logical operators
        • What just happened?
        • Have a go hero Writing logical statements
        • Concatenation
      • Time for action Concatenation
        • What just happened?
        • Variable functions
          • Ints
          • Floats
          • Strings
          • Vectors
          • Rotators
      • Flow control
        • If else
      • Time for action Using if/else
        • What just happened?
        • For
      • Time for action Using the for statement
        • What just happened?
        • While
      • Time for action Something
        • What just happened?
        • Do until
        • Switch
      • Time for action Using switches
        • What just happened?
        • Return
        • Goto
        • Pop quiz Variable madness!
      • Summary
    • 3. Understanding the Class Tree
      • What is a class?
      • Time for action All classes are created equally
        • What just happened?
      • Inheritance
      • Time for action Examining inheritance
        • What just happened?
      • Time for action Making a custom weapon
        • What just happened?
      • Time for action Experiments with inheritance
        • What just happened?
      • Function overriding
      • Time for action Creating a custom GameInfo and PlayerController
        • What just happened?
      • Time for action Experiments with function overriding
        • What just happened?
      • Actors as variables
      • Time for action Experiments with Actors as variables
        • What just happened?
        • Have a go hero Keeping references to spawned actors
      • Casting
      • Time for action Casting Actor variables
        • What just happened?
      • Time for action A practical example of casting for our game
        • What just happened?
        • Pop quiz Chopping down the class tree
      • Summary
    • 4. Making Custom Classes
      • Creating a class
        • Awesome Game quicky design document
        • Class breakdown
      • Time for action Creating the weapon branch
        • What just happened?
      • Class modifiers
        • Placeable
        • Notplaceable
        • Abstract
      • Time for action Using abstract
        • What just happened?
        • Native
        • Config
        • Hidecategories
      • Time for action Hidecategories
        • What just happened?
        • Hidedropdown
      • Actors versus objects
      • Common UnrealScript classes
        • The GameInfo
      • Time for action Expanding AwesomeGame
        • What just happened?
      • Time for action SHOOT NOW!
        • What just happened?
      • Time for action Customizing the Pawn class
        • What just happened?
        • Have a go hero A different end condition
        • The Controller
      • Time for action Expanding the Controller
        • What just happened?
      • Time for action No, my left!
        • What just happened?
        • The Pawn
      • Time for action Detecting collisions to give our Pawn damage
        • What just happened?
      • Time for action Making the TestEnemies move
        • What just happened?
        • The HUD
      • Time for action Using the HUD
        • What just happened?
        • Have a go hero Kills on the HUD
        • Pop quiz Figuring out Functions
      • Summary
    • 5. Using Functions
      • Whats your function?
      • Creating and calling functions
      • Time for action Writing a function
        • What just happened?
      • Time for action Calling custom functions
        • What just happened?
      • Time for action What's your malfunction?
        • What just happened?
      • Local versus instance variables
        • Local Variables
      • Time for action Using local variables
        • What just happened?
        • Actors as local variables
      • Time for action Using Actors as local variables
        • What just happened?
      • Time for action Modifying the projectile
        • What just happened?
      • Function parameters and modifiers
        • Function parameters
      • Time for action Using function parameters
        • What just happened?
      • Time for action Out parameters
        • What just happened?
        • Return values
      • Time for action I'd like to return this please
        • What just happened?
        • Function modifiers
          • Native
          • Const, NoExport, latent, and iterator
          • Event
          • Simulated, server, client, reliable, and unreliable
          • Singular
          • Exec
      • Time for action Filthy cheater
        • What just happened?
          • Static
      • Time for action Using static functions
        • What just happened?
      • The super
      • Using timers
      • Time for action Just five more minutes mom
        • What just happened?
      • Putting it all together
      • Time for action Expanding Awesome Game
        • What just happened?
        • Have a go hero Displaying a timer
        • Pop quiz All about functions
      • Summary
    • 6. Using States to Control Behavior
      • It's a state of mind
        • Creating a state
      • Time for action Writing a state
        • What just happened?
        • Switching between states
      • Time for action Switching states
        • What just happened?
      • Function overriding in states
        • Red state, blue state, no state, new state?
      • Time for action Multiple personalities
        • What just happened?
        • Non-state functions
      • Time for action Calling non-state functions
        • What just happened?
      • Time for action Non-state functions from inside a state
        • What just happened?
      • State changes and detection
        • BeginState
      • Time for action BeginState
        • What just happened?
        • EndState
      • Time for action EndState
        • What just happened?
        • State detection
      • Time for action Using state detection functions
        • What just happened?
        • Have a go hero Rewriting the SetMaterial calls
      • Subclassing states
      • Time for action Subclassing the Seeking state
        • What just happened?
      • Keywords, labels, and latent functions
        • Keywords
      • Time for action Using ignores
        • What just happened?
        • Labels and latent functions
      • Time for action Do we really need to give labels to everything?
        • What just happened?
      • Like a boss
        • The cleanup job
      • Time for action Reverting our code
        • What just happened?
        • Attack of Schellenberg
      • Time for action Creating the abstract base class
        • What just happened?
      • Time for action Creating and spawning the boss
        • What just happened?
      • Time for action I like you, I kill you last
        • What just happened?
      • Time for action Rage mode activate
        • What just happened?
        • Have a go hero Subclassing
        • Pop quiz Using states
      • Summary
    • 7. Working with Kismet
      • Overview of Kismet
        • A simple introduction
      • Time for action Using Kismet
        • What just happened?
        • Building complexity
      • Time for action A more complex Kismet sequence
        • What just happened?
      • Time for action Bug fixing time!
        • What just happened?
      • Kismet actions
        • Creating Kismet actions
      • Time for action Creating Kismet actions
        • What just happened?
        • Using variables in Kismet actions
      • Time for action Using variables in Kismet
        • What just happened?
        • Kismet handler functions
      • Time for action Using handler functions
        • What just happened?
      • Time for action Differentiating Kismet inputs
        • What just happened?
        • Have a go hero The toggle input
      • Kismet conditions
      • Time for action What condition my condition was in
        • What just happened?
      • Kismet events
      • Time for action The cleanup job
        • What just happened?
        • Creating and triggering a Kismet event
      • Time for action Our first Kismet event
        • What just happened?
        • Giving the event some meaning
      • Time for action Moving functionality into Kismet
        • What just happened?
        • Further expanding our Kismet
      • Time for action Setting the wave size
        • What just happened?
        • Have a go hero Expanding the Kismet
        • Supported events
      • Time for action Using SupportedEvents
        • What just happened?
      • Time for action Creating a custom SupportedEvent
        • What just happened?
      • Latent actions
      • Time for action Creating a latent action
        • What just happened?
        • Pop quiz Kismet craziness!
      • Summary
    • 8. Creating Multiplayer Games
      • The server-client relationship
        • One state to bind us all
      • Testing network code
        • Setting up the server
      • Time for action The server batch file
        • What just happened?
        • Setting up the client
      • Time for action The client batch file
        • What just happened?
        • Fixing Awesome Game
      • Time for action Unbreaking the player
        • What just happened?
      • Time for action Unbreaking the game
        • What just happened?
        • The GameReplicationInfo class
      • Time for action Making the GameReplicationInfo
        • What just happened?
        • Fixing enemy fleeing
      • Time for action RUN AWAY!
        • What just happened?
      • Time for action Bossing around
        • What just happened?
      • Replicating function calls
        • Replication function modifiers
          • Reliable versus Unreliable
          • Client functions
      • Time for action Setting up for the client function
        • What just happened?
      • Time for action Using the client function
        • What just happened?
          • Server functions
      • Time for action Using a server function
        • What just happened?
          • Simulated functions
      • Time for action Setting up the map
        • What just happened?
      • Time for action Using simulated functions
        • What just happened?
      • Time for action COMBO BREAKER!
        • What just happened?
      • Role and authority
        • Role and RemoteRole
      • Time for action Examining Role and RemoteRole
        • What just happened?
      • Time for action Respect my authority!
        • What just happened?
        • NetMode
      • Time for action Checking the level's NetMode.
        • What just happened?
      • Replicating variables
        • The replication block
      • Time for action Replicating a variable
        • What just happened?
        • Replication variables
        • ReplicatedEvent
      • Time for action Using ReplicatedEvent
        • What just happened?
        • Have a go hero The Replication, The!
        • Pop quiz Replication
      • Summary
    • 9. Debugging and Optimization
      • Compiler errors
      • Time for action Preparing for brokenness
        • What just happened?
      • Time for action A new script package
        • What just happened?
      • Time for action Breaking the class itself
        • What just happened?
      • Time for action Breaking some more code
        • What just happened?
      • Time for action Misleading errors
        • What just happened?
      • Time for action Captain obvious to the rescue!
        • What just happened?
      • Time for action Setting up a twofer
        • What just happened?
      • Time for action Mal-function
        • What just happened?
      • Time for action Taking care of other function errors.
        • What just happened?
      • Time for action Actor variable errors
        • What just happened?
      • Time for action Other variable errors
        • What just happened?
      • Debugging
        • Accessed none
      • Time for action Dealing with Accessed None
        • What just happened?
      • Time for action Fixing an Accessed None
        • What just happened?
      • Time for action Accessed None in function parameters
        • What just happened?
        • Using the log
      • Time for action Setting up a scenario
        • What just happened?
      • Time for action Debugging using the log
        • What just happened?
      • Optimization
        • The profiler
      • Time for action Using the profiler
        • What just happened?
        • Clock / UnClock
      • Time for action Using Clock and UnClock
        • What just happened?
        • Best practices
        • Pop quiz Errors and conditions
      • Summary
    • 10. Odds and Ends
      • Using Components
      • Time for action Adding a Component to an Actor
        • What just happened?
      • Time for action Component compiler error
        • What just happened?
        • Interacting with Components
      • Time for action Components as variables
        • What just happened?
        • Have a go hero Using SetStaticMesh
        • A practical example
      • Time for action Creating a toggleable flashlight
        • What just happened?
      • DLLBind
      • Time for action Using DLLBind
        • What just happened?
      • Final Thoughts
        • Other Resources
        • Pop quiz Components and DLLBind
      • Summary
    • A. Pop Quiz Answers
      • Chapter 1, Project Setup and Test Environments
      • Chapter 2, Storing and Manipulating Data
      • Chapter 3, Understanding the Class Tree
      • Chapter 4, Making Custom Classes
      • Chapter 5, Using Functions
      • Chapter 6, Using States to Control Behavior
      • Chapter 7, Working with Kismet
      • Chapter 8, Creating Multiplayer Games
      • Chapter 9, Debugging and Optimization
      • Chapter 10, Odds and Ends
    • Index
  • Title: Unreal Development Kit Game Programming with UnrealScript: Beginner's Guide. Create games beyond your imagination with the Unreal Development Kit
  • Author: Rachel Cordone
  • Original title: Unreal Development Kit Game Programming with UnrealScript: Beginner's Guide. Create games beyond your imagination with the Unreal Development Kit
  • ISBN: 9781849691932, 9781849691932
  • Date of issue: 2011-12-15
  • Format: Ebook
  • Item ID: e_3d09
  • Publisher: Packt Publishing