Search icon
Subscription
0
Cart icon
Close icon
You have no products in your basket yet
Save more on your purchases!
Savings automatically calculated. No voucher code required
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletters
Free Learning
Arrow right icon
Learning Game AI Programming with Lua

You're reading from  Learning Game AI Programming with Lua

Product type Book
Published in Nov 2014
Publisher Packt
ISBN-13 9781783281336
Pages 352 pages
Edition 1st Edition
Languages
Author (1):
David Young David Young
Profile icon David Young

Table of Contents (16) Chapters

Learning Game AI Programming with Lua
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
1. Getting Started with AI Sandbox 2. Creating and Moving Agents 3. Character Animations 4. Mind Body Control 5. Navigation 6. Decision Making 7. Knowledge Representation 8. Perception 9. Tactics Index

Index

A

  • action latency / Action latency
  • actions
    • creating / Creating actions
    • idle action / The idle action
    • die action / The die action
    • reload action / The reload action
    • shoot action / The shoot action
    • random move action / The random move action
    • move action / The move action
    • flee action / The flee action
    • pursue action / The pursue action
  • actions, node type / Actions
  • agent-steering forces
    • about / Agent-steering forces
    • seeking steering forces / Seeking
    • applying, to agent / Applying steering forces to an agent
    • horizontal agent speed, clamping / Clamping the horizontal speed of an agent
    • seeking agent, creating / Creating a seeking agent
    • pursuing agent, creating / Pursuit
    • fleeing steering behavior, creating / Fleeing
    • evasion behavior / Evasion
    • wandering behavior / Wandering
    • target speed / The target speed
    • path, following / Path following
    • path following agent, creating / Creating a path following agent
  • agent actions
    • states / Agent actions
    • about / Agent actions
    • data members, adding / Adding data members
    • initializing / Initializing an action
    • updating / Updating an action
    • cleaning up / Action cleanup
    • member functions / Action member functions
  • agent auditory senses / Agent auditory senses
  • agent behaviors
    • updating / Updating agent behaviors
  • agent behaviors, updating
    • enemy selection / Enemy selection
    • retreat positions, selecting / Scoring dangerous positions
    • flee position, calculating / Calculating the best flee position
  • agent class / Agent
  • agent communications
    • handling / Handling agent communications
  • agent Lua script
    • creating / Creating an agent Lua script
    • visual representation, creating / Creating a visual representation
    • agent position, updating / Updating an agent position
    • agent orientation, updating / Updating an agent orientation
  • agent physics
    • about / Physics
    • mass / Mass
    • max force / The max force
    • max speed / The max speed
    • speed / Speed
    • velocity / Velocity
  • agent properties
    • about / Agent properties
    • orientation / Orientation
    • location / Location
    • size / Size
  • agents
    • avoiding / Avoiding blocks and agents
  • agent senses
    • creating / Creating agent senses
    • initializing / Initializing senses
    • updating / Updating senses
  • agent sighting events
    • about / Agent sighting events
    • new enemy sighted event / New enemy sighted event
    • new dead enemy body sighted event / New dead enemy body sighted event
    • new dead teammate body sighted event / New dead teammate body sighted event
  • agent sightings
    • handling / Handling new agent sightings
    • intermittent agent sightings / Intermittent agent sightings
    • visibility updates, throttling / Throttling agent visibility updates
    • event handlers, creating / Creating event handlers
    • event handlers, adding / Adding event handlers
  • agents’ movement
    • mass / Mass
    • speed / Speed
    • velocity / Velocity
    • acceleration / Acceleration
    • force / Force
  • agent teams
    • assigning / Assigning agent teams
  • agent visibility
    • about / Agent visibility
    • other agents, detecting / Detecting other visible agents
  • AI sandbox
    • about / Introduction to AI sandbox
    • overview / Understanding the sandbox
    • project layout / The project layout
    • Premake build / The Premake build
    • compiling, with Visual Studio / Compiling the sandbox with Visual Studio 2008/2010/2012/2013
    • open source libraries / Open source libraries
    • open source tools / Open source tools
    • Decoda / Lua IDE – Decoda
    • running, inside Decoda / Running AI sandbox inside Decoda
    • Decoda project, setting up / Setting up a new Decoda project
    • Lua scripts, debugging / Debugging Lua scripts
    • Decoda Watch window / Decoda Watch window
    • Decoda Call Stack window / Decoda Call Stack window
    • Decoda Virtual Machines window / The Decoda Virtual Machines window
    • Lua and C++, simultaneous debugging / Simultaneous Lua and C++ debugging
    • Visual Studio, Attach to Process option / Visual Studio – Attach to Process
    • Decoda, Attach to Process option / Decoda – Attach to Process
    • Decoda, Attach System Debugger / Decoda – Attach System Debugger
    • Lua scripts, associating from code with Decoda / Associating Lua scripts from code with Decoda
    • Lua virtual machine / The Lua virtual machine
    • Lua stack / The Lua stack
    • Lua primitives / Lua primitives
    • metatables / Metatables
    • metamethods / Metamethods
    • userdata / Userdata
    • C++, calling Lua functions / C/C++ calling Lua functions
    • C, calling Lua functions / C/C++ calling Lua functions
    • Lua, calling C++ functions / Lua calling C/C++ functions
    • Lua, calling C functions / Lua calling C/C++ functions
    • custom userdata, userdata / Creating custom userdata
    • demo framework / The demo framework
  • animated mesh
    • loading / Loading an animated mesh
  • animation
    • blending / Animation blending
  • animation blending
    • about / Animation blending
    • animation weights / Animation weights
    • blend window / Blend window
    • blend curves / Blend curves
    • linear blend / Linear blending
    • blend weights, playing with / Playing with blend weights
  • animation clips, skeleton
    • about / Animation clips
    • playing, on soldier / Playing an animation on our soldier
    • soldier animations / Soldier animations
  • animation controller
    • creating / The animation controller
    • commands / Commands
  • animation length / The animation length
  • animation rate / The animation rate
  • animations
    • manipulating / Manipulating animations
    • enabling / Enabling and disabling animations
    • disabling / Enabling and disabling animations
    • looping / Looping animations
    • length / The animation length
    • time / The animation time
    • normalized time / Normalized time
    • restarting / Restarting an animation
    • non-looping animation, playing / Playing a non-looping animation
    • rate / The animation rate
  • animation states
    • playing with / Playing with states
  • animation time / The animation time
  • application programming interface (API) / Lua binding
  • ASM
    • about / Animation state machine (ASM), Creating animation state machines
    • animal states / States
    • transitions / Transitions
    • helper functions, creating / Creating helper functions
    • states, adding / Adding states
    • transitions, adding / Adding transitions
    • external helper functions, adding / Adding external helper functions
    • states, setting by force / Forcefully setting states
    • states, requesting / Requesting states
    • updating / Updating the animation state machine, Updating animation state machines
    • state transitions, handling / Handling state transitions and state requests
    • state requests, handling / Handling state transitions and state requests
    • running animations, updating / Updating running animations
    • functions, adding to / Adding functions to animation state machine instances
    • callbacks, adding to / Adding callbacks to the animation state machine, Adding callbacks to the ASM
    • updating, for callback call / Updating the ASM to call callbacks
  • auditory events
    • about / Auditory events
    • BulletShot event / The BulletShot event
    • BulletImpact event / The BulletImpact event
    • handling / Handling auditory events
    • decaying / Decaying auditory events
  • avoidance steering behavior
    • about / Avoidance
    • collision avoidance / Collision avoidance
    • obstacle avoidance / Obstacle avoidance
  • avoidance steering behavior / Avoidance

B

  • behaving actions
    • updating / Updating behavior actions
  • behaving actions, updating
    • die action / The die action
    • flee action / The flee action
    • idle action / The idle action
    • move action / The move action
    • pursue action / The pursue action
    • reload action / The reload action
    • shoot action / The shoot action
  • behavior tree
    • about / Behavior trees
    • nodes / The behavior tree node
    • helper functions / Helper functions, Behavior tree helper functions
    • creating / Creating a behavior tree object
    • selector evaluation / Selector evaluation
    • sequence evaluation / Sequence evaluation
    • node evaluation / Node evaluation
    • continue evaluation / Continue behavior tree evaluation
    • update loop / The behavior tree update loop
    • updating / Updating the behavior tree
    • building / Building a behavior tree
    • die behavior / The death behavior
    • flee behavior / The flee behavior
    • combat behaviors / Combat behaviors
    • reload behavior / The reload behavior
    • shoot behavior / The shoot behavior
    • pursue behavior / The pursue behavior
    • move behavior / The move behavior
    • random move behavior / The random move behavior
    • idle behavior / The idle behavior
    • creating, for agent / Creating a behavior tree agent
  • behavior tree, creating for an agent
    • about / Creating a behavior tree agent
    • strengths / Strengths of behavior trees
    • pitfalls / Pitfalls of behavior trees
  • behavior tree node
    • about / The behavior tree node
    • updating / Updating the behavior tree node
  • behavior tree update loop / The behavior tree update loop
  • blackboard
    • about / Blackboards
    • creating / Creating a blackboard
    • knowledge sources, adding / Adding and removing knowledge sources
    • knowledge sources, removing / Adding and removing knowledge sources
    • knowledge sources, evaluating / Evaluating knowledge sources
    • attributes, setting / Setting and retrieving blackboard attributes
    • attributes, retrieving / Setting and retrieving blackboard attributes
    • member functions / Blackboard member functions
  • blackboard attributes
    • retrieving / Setting and retrieving blackboard attributes
    • setting / Setting and retrieving blackboard attributes
    • alive / Constructing a soldier blackboard
    • ammo / Constructing a soldier blackboard
    • maxAmmo / Constructing a soldier blackboard
    • maxHealth / Constructing a soldier blackboard
    • enemy / Constructing a soldier blackboard
    • bestFleePosition / Constructing a soldier blackboard
  • blackboard events
    • decaying / Decaying blackboard events
  • blend curve, animation / Blend curves
  • blend weights
    • playing with / Playing with blend weights
  • blend window, animation / Blend window
  • blocks
    • shooting / Shooting blocks
    • avoiding / Avoiding blocks and agents
  • body
    • creating / Creating a body
    • soldier, creating / Creating a soldier
    • animated mesh, attaching to agent / Attaching an animated mesh to an agent
    • obstacle course, creating / Creating an obstacle course
  • brain
    • creating / Creating a brain
    • mind body control, approaches / Approaches for mind body control
  • branches, decision trees
    • about / Branches
    • evaluating / Branch evaluation
    • creating / Creating branches
  • BulletImpact event / The BulletImpact event
  • BulletShot event / The BulletShot event

C

  • 50/50 chance evaluator / 50/50 chance evaluator
  • C++, calling Lua functions / C/C++ calling Lua functions
  • C, calling Lua functions / C/C++ calling Lua functions
  • callbacks
    • adding, to ASM / Adding callbacks to the animation state machine, Adding callbacks to the ASM
    • handling / Handling callbacks
    • calling, via ASM update / Updating the ASM to call callbacks
  • can shoot enemy evaluator / Can shoot enemy evaluator
  • cell height, influence map / The cell height
  • cell width, influence map / The cell width
  • change stance command / The change stance command
  • combat behaviors / Combat behaviors
  • command queue / The command queue
  • conditions / Conditions
  • constant evaluators / Constant evaluators
  • crouching animations / Crouching animations
  • custom userdata
    • creating / Creating custom userdata
    • vector data type / Looking at the vector data type

D

  • dangerous positions
    • scoring / Scoring dangerous positions
    • scoring, from bullet impacts / Score danger from bullet impacts
    • scoring, from bullet shots / Score danger from bullet shots
    • scoring, from enemies / Score danger from enemies
    • scoring, from dead bodies / Score danger from dead bodies
  • death state / The death state
  • decision evaluators
    • updating / Updating decision evaluators
  • decision structures / Decision structures
  • decision tree
    • about / Decision trees
    • branches / Branches
    • decision leaves / Decision leaves
    • branch evaluation / Branch evaluation
    • building / Building a decision tree
    • branches, creating / Creating branches
    • creating, for an agent / Creating a decision tree agent
  • decision tree, creating for an agent
    • about / Creating a decision tree agent
    • strengths / Strengths of decision trees
    • pitfalls / Pitfalls of decision trees
  • Decoda
    • about / Lua IDE – Decoda
    • AI sandbox, running inside / Running AI sandbox inside Decoda
    • project, setting up / Setting up a new Decoda project
    • Attach to Process option / Decoda – Attach to Process
    • Attach System Debugger option / Decoda – Attach System Debugger
    • Lua scripts from code, associating with / Associating Lua scripts from code with Decoda
    • run executable, configuring / Configuring Decoda's run executable
  • Decoda Call Stack window / Decoda Call Stack window
  • Decoda project
    • setting up / Setting up a new Decoda project
    • creating / Creating a new Decoda project
  • Decoda Virtual Machines window / The Decoda Virtual Machines window
  • Decoda Watch window / Decoda Watch window
  • Decoda’s run executable
    • configuring / Configuring Decoda's run executable
  • demo framework
    • about / The demo framework
    • Ogre 3D / Ogre
    • Object-Oriented Input System (OIS) library / Object-Oriented Input System
    • SandboxApplication / SandboxApplication
    • sandbox class / Sandbox
    • agent class / Agent
    • utility classes / Utility classes
    • Lua binding / Lua binding
  • dependencies, Ogre3D / Open source libraries
  • die action / The die action
    • updating / The die action
  • die behavior / The death behavior
  • die command / The die command
  • die state / The die state
  • direct animation control
    • about / Direct animation control
    • death state / The death state
    • idle state / The idle state
    • falling state / The falling state
    • moving state / The moving state
    • shooting state / The shooting state
  • direct control agent
    • creating / Creating a direct control agent

E

  • EnemySelection event / The EnemySelection event
  • evaluators
    • about / Evaluators
    • creating / Creating evaluators
    • constant evaluators / Constant evaluators
    • has ammo / Has ammo evaluator
    • has critical health / Has critical health evaluator
    • has enemy / Has enemy evaluator
    • has move position / Has move position evaluator
    • is alive / Is alive evaluator
    • can shoot enemy / Can shoot enemy evaluator
    • 50/50 chance / 50/50 chance evaluator
  • evasion steering behavior / Evasion
  • event attribute, types
    • boolean / Attributes
    • number / Attributes
    • object / Attributes
    • string / Attributes
    • vector / Attributes
  • event handlers
    • creating / Creating event handlers
    • adding / Adding event handlers
  • events
    • about / Events
    • attributes / Attributes
    • sending / Sending events
    • receiving / Receiving events
    • managing / Managing events
    • agent teams, assigning / Assigning agent teams
    • agent communications, handling / Handling agent communications
    • types, adding / Event types
  • external helper functions
    • adding / Adding external helper functions

F

  • fall command / The fall command
  • falling state / The falling state
  • file structure
    • setting up / Setting up the file structure
  • finite-state machine (FSM) / Animation state machine (ASM)
  • finite state machine
    • about / A simple, finite state machine
    • agent, initializing / Initializing the agent
    • agent state, handling / Agent FSM state handling
  • First In First Out (FIFO) / The command queue
  • First In First Out (FILO) / The Lua stack
  • flee action / The flee action
    • updating / The flee action
  • flee behavior / The flee behavior
  • fleeing steering behavior
    • creating / Fleeing
  • flee position
    • calculating / Calculating the best flee position
  • flee state / The flee state
  • folder, sandbox project
    • bin folder / The project layout
    • build folder / The project layout
    • decoda folder / The project layout
    • lib folder / The project layout
    • media folder / The project layout
    • premake folder / The project layout
    • src folder / The project layout
    • tools folder / The project layout
  • ForceToTargetSpeed function / The target speed
  • FSM
    • about / Finite state machines, Finite state machine structure
    • states / States
    • transitions / Transitions
    • helper functions / Helper functions
    • states, adding / Adding states and transitions
    • transitions, adding / Adding states and transitions
    • updating / Updating the finite state machine
    • instance functions, adding / Adding instance functions
    • building / Building a finite state machine
    • idle state / The idle state
    • movement state / The movement state
    • random movement state / The random movement state
    • shoot state / The shoot state
    • flee state / The flee state
    • die state / The die state
    • pursue state / The pursue state
    • reload state / The reload state
    • agent, creating / Creating a finite state machine agent
    • strengths / Strengths of finite state machines
    • pitfalls / Pitfalls of finite state machines
  • functions
    • adding, to ASM instance / Adding functions to animation state machine instances

G

  • graphics processing unit (GPU) / The demo framework
  • group of followers
    • creating / Creating a group of followers
  • group steering
    • about / Group steering
    • agent alignment / Alignment
    • ForceToCombine function, using / Cohesion
    • ForceToSeparate function, using / Separation

H

  • has ammo evaluator / Has ammo evaluator
  • has critical health evaluator / Has critical health evaluator
  • has enemy evaluator / Has enemy evaluator
  • has move position evaluator / Has move position evaluator
  • helper functions
    • creating / Creating helper functions
  • helper functions, behavior tree / Helper functions, Behavior tree helper functions

I

  • idle action / The idle action
    • updating / The idle action
  • idle behavior / The idle behavior
  • idle command / The idle command
  • idle state / The idle state, The idle state
  • indirect animation control
    • about / Indirect animation control
    • animation controller / The animation controller
    • commands / Commands
    • command queue / The command queue
    • commands, manipulating / Manipulating commands
    • change stance command / The change stance command
    • die command / The die command
    • fall command / The fall command
    • idle command / The idle command
    • move command / The move command
    • shoot command / The shoot command
    • member functions, assigning / Assigning member functions
    • animation controller, initializing / Initializing the controller
    • handlers for commands, adding / Adding handlers for commands
    • soldier controller, updating / Updating the controller
  • indirect control agent
    • creating / Creating an indirect control agent
    • initialization / Indirect control agent initialization
    • updating / Indirect control agent update
    • control / Indirect control agent control
    • spawning / Spawning an indirect control agent
  • influence map
    • about / Influence maps
    • cell height / The cell height
    • cell width / The cell width
    • constructing / Constructing an influence map
    • configuring / Configuration
    • navigation mesh voxelization / Voxelizing a navigation mesh
    • creating / Voxelizing a navigation mesh
    • drawing / Drawing influence maps
    • layers / Influence map layers
    • updating / Updating the influence map
  • influences
    • accessing / Accessing influences
    • setting / Setting influences
    • obtaining / Getting influences
    • clearing / Clearing influences
    • spreading / Spreading influences
  • influences, spreading
    • cell inertia / Cell inertia
    • cell falloff / Cell falloff
  • is alive evaluator / Is alive evaluator

J

  • Just-In-Time (JIT) debugger / Decoda – Attach System Debugger

K

  • knowledge
    • about / Knowledge
    • target / Target
    • target radius / Target radius
    • path / Path
  • knowledge sources
    • userData structure / Knowledge sources
    • logic evaluators / Knowledge sources, Creating a knowledge source
    • about / Knowledge sources
    • creating / Creating a knowledge source
    • evaluating / Knowledge source evaluation
    • adding, to blackboard / Adding and removing knowledge sources
    • removing, from blackboard / Adding and removing knowledge sources
    • evaluating, in blackboard / Evaluating knowledge sources

L

  • layers, influence map / Influence map layers
  • linear blend, animation / Linear blending
  • location, agent
    • about / Location
    • position / Position
  • looping animations / Looping animations
  • Lua
    • function, binding / Function binding
  • Lua, calling C++ functions / Lua calling C/C++ functions, Function binding
  • Lua, calling C functions / Function binding
  • Lua integrated development environment (IDE) / Lua IDE – Decoda
  • Lua primitives
    • nil / Lua primitives
    • boolean / Lua primitives
    • number / Lua primitives
    • string / Lua primitives
    • function / Lua primitives
    • userdata / Lua primitives
    • thread / Lua primitives
    • table / Lua primitives
  • Lua scripts
    • debugging / Debugging Lua scripts
  • Lua stack / The Lua stack
  • Lua virtual machine / The Lua virtual machine

M

  • member functions
    • assigning / Assigning member functions
  • member functions, blackboard / Blackboard member functions
  • meshes
    • adding, to sandbox / Adding meshes to the sandbox
    • about / Skeletons and meshes
    • animated mesh, loading / Loading an animated mesh
    • attaching, to bones / Attaching meshes to bones
    • weapons, attaching to soldier / Attaching a weapon to our soldier
  • mesh skeletons / Mesh skeletons
  • metamethods / Metamethods
  • metatables / Metatables
  • mind body control, approaches
    • direct animation control / Direct animation control
  • move action / The move action
    • updating / The move action
  • move behavior / The move behavior
  • move command / The move command
  • movement state / The movement state
  • moving state / The moving state

N

  • navigation mesh
    • creating / Creating a navigation mesh, Creating additional navigation meshes
    • configuring / Configuring navigation meshes
    • walkable height / The walkable height
    • walkable radius / The walkable radius
    • walkable climb height / The walkable climb height
    • walkable slope angle / The walkable slope angle
    • minimum region area / The minimum region area
    • building / Building the navigation mesh
    • drawing / Drawing the navigation mesh
    • pathfinding / Pathfinding on a navigation mesh
  • new dead enemy body sighted event / New dead enemy body sighted event
  • new dead teammate body sighted event / New dead teammate body sighted event
  • new enemy sighted event / New enemy sighted event
  • non-looping animation
    • about / Looping animations
    • playing / Playing a non-looping animation
  • normalized time, animation / Normalized time

O

  • Object-Oriented Input System (OIS) library / Object-Oriented Input System
  • obstacle course
    • creating / Creating an obstacle course
    • physics world, displaying / Displaying the physics world
    • running / Running the obstacle course
    • direct control agent, creating / Creating a direct control agent
    • indirect control agent, creating / Creating an indirect control agent
    • indirect control agent initialization / Indirect control agent initialization
    • indirect control agent update / Indirect control agent update
    • indirect control agent control / Indirect control agent control
    • indirect control agents, spawning / Spawning an indirect control agent
  • Ogre 3D / Ogre
  • open source libraries
    • about / Open source libraries
    • Ogre3D Procedural 0.2 / Open source libraries
    • OIS 1.3 / Open source libraries
    • Bullet Physics 2.81-rev2613 / Open source libraries
    • OpenSteer revision 190 / Open source libraries
    • Recast 1.4 / Open source libraries
    • Detour 1.4 / Open source libraries
  • open source tools / Open source tools
  • orientation, agent
    • forward axis / The forward axis
    • left axis / The left axis
    • up axis / The up axis

P

  • particle effects
    • creating / Creating particle effects
  • pathfinding, Lua / Pathfinding
  • pathfinding, navigation mesh
    • about / Pathfinding on a navigation mesh
    • path query, performing / Path query
    • query results / Query results
    • random point, selecting / Random navigation points
  • path following agent
    • creating / Creating a path following agent
  • path information
    • retrieving / The path information
  • physics world
    • displaying / Displaying the physics world
  • PositionUpdate event / The PositionUpdate event
  • Premake build / The Premake build
  • project layout / The project layout
  • pursue action / The pursue action
    • updating / The pursue action
  • pursue behavior / The pursue behavior
  • pursue state / The pursue state
  • pursuing agent
    • creating / Pursuit

R

  • random move action / The random move action
  • random move behavior / The random move behavior
  • random movement state / The random movement state
  • random pathfinding
    • adding, to soldier / Adding random pathfinding to our soldier
  • random pathfinding, adding to soldier
    • about / Adding random pathfinding to our soldier
    • agent paths, updating / Updating agent paths
    • paths, drawing / Drawing paths
    • navigation mesh, initializing / Initializing the navmesh
    • agents, running / Randomly running agents
  • reload action / The reload action
    • updating / The reload action
  • reload behavior / The reload behavior
  • reload state / The reload state
  • RetreatPosition event / The RetreatPosition event
  • running animations
    • updating / Updating running animations

S

  • SandboxApplication / SandboxApplication
  • SandboxApplication class
    • extending / Extending the SandboxApplication class
  • sandbox class / Sandbox
  • sandbox Lua script
    • creating / Creating a sandbox Lua script
    • floor, creating / Creating a floor
    • light, adding / Adding a light
    • skybox, adding / Adding a skybox
    • meshes, adding / Adding meshes to the sandbox
    • objects, creating / Creating sandbox objects
  • sandbox objects
    • creating / Creating sandbox objects
  • sandbox project
    • creating / Creating a new sandbox project
  • SandboxUtilities_CreateLevel function / Creating an obstacle course
  • score team influences
    • about / Scoring team influences
    • initializing / Initializing team influences
    • updating / Updating team influences
    • configuring / Configuring team influences
  • scoring dangerous areas map
    • about / Scoring dangerous areas
    • tapping, into agent events / Tapping into agent events
    • event handlers, adding / Adding event handlers
    • initializing / Initializing dangerous influences
    • updating / Updating dangerous influences
    • configuring / Configuring team influences
  • seeking agent
    • creating / Creating a seeking agent
  • selectors / Selectors
  • sequences / Sequences
  • shoot action / The shoot action
    • updating / The shoot action
  • shoot behavior / The shoot behavior
  • shoot command / The shoot command
  • shooting state / The shooting state
  • shoot state / The shoot state
  • size, agent
    • about / Size
    • height / Height
    • radius / Radius
  • skeleton
    • about / Skeletons and meshes
    • mesh skeletons / Mesh skeletons
    • displaying / Showing a skeleton
    • animating / Animation clips
  • skybox
    • adding / Adding a skybox
  • soldier
    • weapon, attaching to / Attaching a weapon to our soldier
    • animation, playing on / Playing an animation on our soldier
    • creating / Creating a soldier
    • random pathfinding, adding / Adding random pathfinding to our soldier
  • soldier animations
    • about / Soldier animations
    • crouching animations / Crouching animations
    • standing animations / Standing animations
    • weapon animations / Weapon animations
  • soldier animation state machine
    • building / Building a soldier animation state machine
  • soldier blackboard
    • constructing / Constructing a soldier blackboard
  • soldier controller
    • initializing / Initializing the controller
    • updating / Updating the controller
  • soldier knowledge sources
    • creating / Creating soldier knowledge sources
    • enemy selection / Enemy selection
    • flee position selection / Flee position selection
  • soldier poses
    • about / Soldier poses
    • weapon poses / Weapon poses
  • soldier running
    • about / Getting our soldier to run
    • path setting, through obstacle course / Setting a path through the obstacle course
    • through obstacle course / Running the obstacle course
  • soldier shooting
    • about / Getting our soldier to shoot, Shooting
    • bone position / The bone position
    • bone rotation / The bone rotation
    • particle effects, creating / Creating particle effects
    • particle direction / The particle direction
    • object removal / Object removal
    • collision impact callback / The collision impact callback
    • projectile, shooting / Shooting a projectile
    • projectile collision impacts, handling / Handling projectile collision impacts
  • soldier tactics
    • about / Soldier tactics
    • initializing / Initializing and updating tactics
    • updating / Initializing and updating tactics
  • Soldier_AttachWeapon function / Creating a soldier
  • standing animations / Standing animations
  • states, ASM
    • adding / Adding states
    • requesting / Requesting states
  • states, FSM
    • about / States
    • adding / Adding states and transitions
  • steering forces
    • summing / Summing steering forces
  • steering forces, summing
    • about / Summing steering forces
    • weighted sums / Weighted sums
    • priority-based forces / Priority-based forces
  • submachine gun (SMG) / Weapon poses

T

  • team communication
    • about / Team communications
    • EnemySelection event / The EnemySelection event
    • PositionUpdate event / The PositionUpdate event
    • RetreatPosition event / The RetreatPosition event
  • transitions, ASM
    • adding / Adding transitions
  • transitions, FSM
    • about / Transitions
    • adding / Adding states and transitions

U

  • userdata / Userdata
    • creating / Creating userdata
  • utility classes / Utility classes

V

  • virtual machine (VM) / Creating an agent Lua script
  • visible agents
    • detecting / Detecting other visible agents
  • visual representation, agent Lua script
    • creating / Creating a visual representation
  • Visual Studio
    • used, for compiling AI sandbox / Compiling the sandbox with Visual Studio 2008/2010/2012/2013
    • Attach to Process option / Visual Studio – Attach to Process

W

  • walkable climb height, navigation meshes / The walkable climb height
  • walkable height, navigation meshes / The walkable height
  • walkable radius, navigation meshes / The walkable radius
  • walkable slope angle, navigation meshes / The walkable slope angle
  • wandering behavior / Wandering
  • weapon
    • attaching, to soldier / Attaching a weapon to our soldier
  • weapon animations / Weapon animations
  • weapon animation state machine
    • building / Building a weapon animation state machine
  • weapon poses, soldier
    • sniper gun pose / Weapon poses
    • submachine gun (SMG) pose / Weapon poses
    • about / Weapon poses
  • weighted sums approach / Weighted sums
lock icon The rest of the chapter is locked
arrow left Previous Chapter
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime}