A Game AI Case Study Greg Alt Surreal Software

Slides:



Advertisements
Similar presentations
Chris Hecker spyparty.com …plus some ranting. SpyParty A Game About AI…
Advertisements

Motion and Force A. Motion 1. Motion is a change in position
Artificial Intelligence in Game Design
Every edge is in a red ellipse (the bags). The bags are connected in a tree. The bags an original vertex is part of are connected.
Navigation Set Hierarchy Tom Gianos Chapter 2.2. Mike Dickheiser Works (worked?) for Red Storm Entertainment Works (worked?) for Red Storm Entertainment.
LOCOMOTION IN INTERACTIVE ENVIRONMENTS Navjot Garg.
1 videos for before swarm.flv (art. intelligence swarmites 1:20) endorphin2.5.flv (2:38) antfarmsimulator.flv (3:30) for very early – swarmflocking.mp4.
A Survey on Tracking Methods for a Wireless Sensor Network Taylor Flagg, Beau Hollis & Francisco J. Garcia-Ascanio.
Pathfinding Basic Methods.
Carlos Barboza Kenny Barron Kevin Cherry Tung Le Daniel Lorio.
CSE 380 – Computer Game Programming Pathfinding AI
Artificial Intelligence CGDD Artificial Intelligence Human-level intelligence - an unsolved problem AI “describes the intelligence embodied in any.
Motion Planning CS 6160, Spring 2010 By Gene Peterson 5/4/2010.
University of Texas at Austin CS 378 – Game Technology Don Fussell CS 378: Computer Game Technology Dynamic Path Planning, Flocking Spring 2012.
Artificial Intelligence in Game Design Intelligent Decision Making and Decision Trees.
Dave Lattanzi’s RRT Algorithm. General Concept Use dictionaries for trees Create a randomized stack of nodes Iterate through stack “Extend” each tree.
Artificial Intelligence in Game Design Hierarchical Finite State Machines.
Soul Envoy Final Year Project 22nd April 2006 By Zhu Jinhao.
 Background  Problem Statement  Solution  Mechanical › Azimuth › Elevation › Static and Dynamics of System  Software › SatPC32 › Interpolation ›
Motion Tracking. Image Processing and Computer Vision: 82 Introduction Finding how objects have moved in an image sequence Movement in space Movement.
Preorder Traversal with a Stack Push the root onto the stack. While the stack is not empty n pop the stack and visit it.
Chapter 5.4 Artificial Intelligence: Pathfinding.
Toward Real-Time Planning in Games Jeff Orkin Monolith Productions.
Yingcai Xiao Artificial Intelligence in Game Development Yingcai Xiao.
Artificial Intelligence in Game Design
1 CO Games Development 1 Week 6 Introduction To Pathfinding + Crash and Turn + Breadth-first Search Gareth Bellaby.
Game Engine Programming. Game Engine Game Engine Rendering Engine (OGRE) Rendering Engine (OGRE) Physics Engine (Bullet) Physics Engine (Bullet) Input/Output.
Artificial Intelligence in Game Design Behavior Trees.
AI in FPS. Contents FPS AI Architecture –Animation –Movement –Combat –Behavior Positioning strategy –Waypoint –Pinch Point.
Path Planning Part I: Search Space Representation Part II: Table Lookup Path Finder Path III: Convincing Hunting Ref: AIWisdom 2.
Software Breakdown. Monday, October 26, 2009 CS410 Green Team Fall High Level Architecture.
August 31, 2005 Game Developer Conference Europe Killzone’s AI: Dynamic Procedural Tactics Guerrilla Games - 1 Killzone’s AI: Dynamic Procedural Tactics.
Review IMGD Engine Architecture Types Broadly, what are the two architecture types discussed for game engines? What are the differences?
Math / Physics 101 GAM 376 Robin Burke Fall 2006.
1 CO Games Development 1 Week 11 Search Methods Gareth Bellaby.
Jonathan Ziegler AI Game Programming 3/20/08.  Different NPCs and games require different sorts of behaviors  General methodology of game AI design.
Artificial Intelligence in Game Design Dynamic Path Planning Algorithms.
COMP261 Lecture 6 Dijkstra’s Algorithm. Connectedness Is this graph connected or not? A Z FF C M N B Y BB S P DDGG AA R F G J L EE CC Q O V D T H W E.
Artificial Intelligence in Game Design Complex Steering Behaviors and Combining Behaviors.
WORLD NAVIGATION Don’t Fall Asleep Through These Topics  Tile Graphs  Points of Visibility  NavMesh  Path Smoothing  Hierarchical Pathfinding.
On the data side of the application… In the beginning, we needed to translate the ideas for the game’s dialogue progression and how the player would interact.
Pad++: A Zoomable Graphical User Interface. Motivations View information at multiple scales –Semantic zooming Tap into natural spatial ways of thinking.
Laboratory of mechatronics and robotics Institute of solid mechanics, mechatronics and biomechanics, BUT & Institute of Thermomechanics, CAS Mechatronics,
Artificial Intelligence in Game Design Influence Maps and Decision Making.
Artificial Intelligence in Game Design Lecture 8: Complex Steering Behaviors and Combining Behaviors.
Graph Search II GAM 376 Robin Burke. Outline Homework #3 Graph search review DFS, BFS A* search Iterative beam search IA* search Search in turn-based.
CSCE 552 Spring 2010 AI (III) By Jijun Tang. A* Pathfinding Directed search algorithm used for finding an optimal path through the game world Used knowledge.
Source: CSE 214 – Computer Science II Graphs.
Dijkstra animation. Dijksta’s Algorithm (Shortest Path Between 2 Nodes) 2 Phases:initialization;iteration Initialization: 1. Included:(Boolean) 2. Distance:(Weight)
Demonstration of Simple Movement using Python AI for Gaming 2013, SCU.
Qualitative Spatial Analysis Part 2 Chris Mansley.
Imran N. Junejo, Omar Javed and Mubarak Shah University of Central Florida, Proceedings of the 17th International Conference on Pattern Recognition, pp ,
1. For minimum vertex cover problem in the following graph give
Computer Graphics I, Fall 2008 Hierarchical Modeling I.
In the quadratic function x 2 – 2x + c = 0, c represents an unknown constant. If x = -6 is one of the solutions, what is the other solution?
CSCE 552 Fall 2012 AI By Jijun Tang. Homework 3 List of AI techniques in games you have played; Select one game and discuss how AI enhances its game play.
Power Functions…. Definition: Some common power functions…
11/13/03CS679 - Fall Copyright Univ. of Wisconsin Last Time A* Improvements Hierarchical planning Pre-Planning.
Review IMGD Engine Architecture Types Broadly, what are the two architecture types discussed for game engines? What are the differences?
Chapter 5.4 Artificial Intelligence: Pathfinding
Velocity and Acceleration
Enemy and Friendly AIs Richard Gesick.
Usability & Human Factors
Comp 245 Data Structures Graphs.
Choosing the Appropriate Method
Motion and Force A. Motion 1. Motion is a change in position
Graphing Motion Walk Around
CSCE 552 Spring 2009 AI (III) By Jijun Tang.
Create graphs to match these prompts
Resources and interactions
Presentation transcript:

A Game AI Case Study Greg Alt Surreal Software

The Suffering: Prison is Hell Surreal Software, 2004 Hierarchical Behavior System Movement Graph and Pathfinding Movement and Animation Demo

Hostility KillEnemies KillObject KillMelee MeleeCombatReposition MoveTo FollowPath SimpleMoveTo MovementAnim ArriveSteer FlankingSteer Hierarchical Behavior System Each NPC has a tree of current behaviors Each behavior is a C++ class Behaviors share common interface

Behavior Variation Designer-specified constants Alternate behaviors for different NPC-types BehaviorChangers to change root behavior dynamically Mixture of scripted and autonomous behavior

It’s All Fine Until You Get Shot External interruptions complicate things Hit-Reaction must restore high-level state Solution: push whole tree onto stack Push member function handles invalidated behaviors

Movement Graph and Pathfinding Nodes – 3D squares with scale and rotation Edge Regions – convex hull of 2 nodes Pathfinding – A* between 2 edge regions

Paths Aren’t Just for Moving From A to B Fast pathfinding allowed multiple uses: Accurate distance check Evasion paths Burrower flyby behavior NPCs leading player X X X

Movement and Animation “Intelligent Movement Animation for NPCs” in AI Game Programming Wisdom 2 Steering behaviors are children of SimpleMoveTo behavior Weighted average of steering accelerations Velocity determines translation and animation

Conclusion Hierarchical Behavior System Movement Graph and Pathfinding Movement and Animation

The Suffering: a Game AI Case Study Greg Alt Surreal Software