Jumping, Climbing, and Tactical Reasoning Section 2.5 Tom Schaible CSE 497 – AI & Game Programming.

Slides:



Advertisements
Similar presentations
Artificial Intelligence in Game Design
Advertisements

Wall Building for RTS Games Patrick Schmid. Age of Empires.
Soar and StarCraft By Alex Turner. What is StarCraft: Brood War? A Real-Time Strategy (RTS) computer game released in A sci-fi war simulation Continually.
Heuristic Search techniques
Reactive and Potential Field Planners
7.2. AI E NGINE AND S TEERING B EHAVIOUR I Design of an AI Engine and introduction to steering in game AI.
7.1. O SCARS & A RTIFICIAL I NTELLIGENCE Interim awards and introduction to game AI.
AI Pathfinding Representing the Search Space
Introduction Games have always been a fundamental part of human life. Space storm “ عاصفة الفضاء” is a 3D SCI-FI game that consists of two stages presented.
Martin Boyd Christopher Hirunthanakorn
NUS CS5247 Motion Planning for Camera Movements in Virtual Environments By Dennis Nieuwenhuisen and Mark H. Overmars In Proc. IEEE Int. Conf. on Robotics.
Pathfinding Basic Methods.
The Design Document Ahmet Uğur. Overview No standard format Should communicate the nature of the game effectively Companies with agreed format The design.
CSE 380 – Computer Game Programming Pathfinding AI
Behavioral animation CSE 3541 Matt Boggus. Material recap and trajectory Geometric – Artist specifies translation and rotation over time Physically based.
Generated Waypoint Efficiency: The efficiency considered here is defined as follows: As can be seen from the graph, for the obstruction radius values (200,
Artificial Intelligence in Game Design Intelligent Decision Making and Decision Trees.
Artificial Intelligence in Game Design Introduction to Learning.
Artificial Intelligence in Game Design Hierarchical Finite State Machines.
Reinforcement Learning
Soldier of Fortune 2: Double Helix Paris York CIS 588.
Tactical AI in Real Time Supervisor: Aleks Jakulin Crew: Damir Arh, Matija Jekovec, Mitja Luštrek Gregor Leban, Martin Žnidaršič, Uroš Čibej Translation:
Algorithm design techniques
Xavier Otero Keil.  Animation  Control characters body  makes sure that animation fits situation  handles requests to perform actions  Combat  Possibly.
A Randomized Approach to Robot Path Planning Based on Lazy Evaluation Robert Bohlin, Lydia E. Kavraki (2001) Presented by: Robbie Paolini.
Multi-Layered Navigation Meshes Wouter G. van Toll, Atlas F. Cook IV, Roland Geraerts ICT.OPEN 2011.
Chapter 5.4 Artificial Intelligence: Pathfinding.
Pathfinding: Search Space Representations Chapter 2.1 Dan Bader.
Lab 3 How’d it go?.
Raven Robin Burke GAM 376. Soccer standings Burke, 7 Ingebristen, 6 Buer, 6 Bukk, 6 Krishnaswamy, 4 Lobes, 3 Borys, 2 Rojas, 2 Bieneman, 2.
Artificial Intelligence in Game Design Problems and Goals.
TECHNOLOGY. Computer games have always been driven by technology. For many years it was advances in graphics that changed the way computer games were.
Introduction Tracking the corners Camera model and collision detection Keyframes Path Correction Controlling the entire path of a virtual camera In computer.
Networking Networking is done via a single component that is persistent in each machine’s game. This multiplayer manager component handles all Unity RPC.
Survey of AI for games. AI vs. AI for games Traditional AI: – Made to handle unseen inputs, large state space – Too many options possible to compute an.
1 CO Games Development 1 Week 6 Introduction To Pathfinding + Crash and Turn + Breadth-first Search Gareth Bellaby.
1 The Use of Artificial Intelligence in the Computer Game Industry.
Path Planning Part I: Search Space Representation Part II: Table Lookup Path Finder Path III: Convincing Hunting Ref: AIWisdom 2.
August 31, 2005 Game Developer Conference Europe Killzone’s AI: Dynamic Procedural Tactics Guerrilla Games - 1 Killzone’s AI: Dynamic Procedural Tactics.
AI in games Roger Crawfis/Eric Fosler-Lussier CSE 786 Game Design.
University of Amsterdam Search, Navigate, and Actuate - Qualitative Navigation Arnoud Visser 1 Search, Navigate, and Actuate Qualitative Navigation.
Game Playing. Towards Intelligence? Many researchers attacked “intelligent behavior” by looking to strategy games involving deep thought. Many researchers.
2015 CSE/EGR Summer Camps 1 Computer Science Concepts 1. What is an algorithm? 2. Binary information coding 3. Programming concepts via Scratch Designed.
2.7 Avoiding Dynamic Obstacles and Hazards Don DeLorenzo.
Motion Planning in Games Mark Overmars Utrecht University.
Artificial Intelligence in Game Design N-Grams and Decision Tree Learning.
Artificial Intelligence in Game Design Complex Steering Behaviors and Combining Behaviors.
AI in games Roger Crawfis CSE 786 Game Design. AI vs. AI for games AI for games poses a number of unique design challenges AI for games poses a number.
Toward More Realistic Pathfinding Authored by: Marco Pinter Presentation Date: 11/17/03 Presented by: Ricky Uy.
Strategy Using Strategy1. Scan Path / Strategy It is important to visualize the scan path you want for a feature before you begin taking points on your.
AI Evaluation David Nowell CIS 588 2/14/05 Baldur’s Gate.
Scott Lindner 10/6/04 Pathfinding and Navigational Systems, cont.
F.E.A.R. Game AI Evaluation by Robert Rak. What is F.E.A.R. ? FEAR is a First Person Shooter game Player takes on the role of an elite strike force team.
Syed ardi syed yahya kamal 2011 chapter five.  Creating in-between positions is still a hallmark of animation.  Using techniques called interpolation.
Artificial Intelligence in Game Design Influence Maps and Decision Making.
Artificial Intelligence in Game Design Lecture 8: Complex Steering Behaviors and Combining Behaviors.
1 CO Games Development 1 Week 3 Game Agents 2 Gareth Bellaby.
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.
Path Planning Based on Ant Colony Algorithm and Distributed Local Navigation for Multi-Robot Systems International Conference on Mechatronics and Automation.
Putting Animations in your PowerPoint. Contents A bit about Animations First Step Slide Animations Animations with in a slide Entrance with in a slide.
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.
Artificial Intelligence in Game Design Lecture 20: Hill Climbing and N-Grams.
1 CO Games Development 1 Week 9 - part 2 Pathfinding Considerations Gareth Bellaby.
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.
Mafia II Bringing city to life Martin Brandstätter Jan Kratochvíl.
Game Maker Tutorials Introduction Clickball IntroductionClickball Where is it? Shooting Where is it?Shooting.
Deploying PAWS: Field Optimization of the Protection Assistant for Wildlife Security Fang et al.
CIS 488/588 Bruce R. Maxim UM-Dearborn
Fundaments of Game Design
CO Games Concepts Week 12 Collision Detection
Presentation transcript:

Jumping, Climbing, and Tactical Reasoning Section 2.5 Tom Schaible CSE 497 – AI & Game Programming

Jumping, Climbing, and Tactical Reasoning  Christopher Reed  Benjamic Geisler  Raven Software/Activison  Soldier of Fortune II: Double Helix

Standard Navigation System Recap  Graph Theory Point – A location Edge – A route to get from location to location Use A* to efficiently navigate through the graph in game  This can be extended to Climbing Jumping Throwing Grenades

Finding Cover using Teams  Embed appropriate cover information in points  Teammate waits, Leader chooses cover and advances  Leader waits, Leader chooses cover and advances  Repeat

Finding Cover Using Teams

 Additional Information Needed at Edges Obstacle Information Visibility Information More on this later

Throwing Grenades  Choice of scripting behavior or encoding data into decision system  Compute edges to points in grenade throwing radius If it is possible to throw a grenade (encode trajectory) add a grenade throwing edge

Throwing Grenades

 Things to keep in mind Is throwing a grenade feasible?  Uncommon situation, grenades are scarce  Reserved more as a last resort, when obstacles prohibit attacking What position is best to throw a grenade from?  It may be impossible to use a grenade effectively What trajectory is necessary? (through windows, around corners) .05 to.1 seconds per trajectory to calculate  Store in memory instead (store only attacker and trajectory pair)

How to Bias Edges  Data you are adding to points needs to show up in the edges ParentPoint = OpenList.GetFromOpenList() For each edge from ParentPoint Switch edge.type() Case GRENADE_EDGE: If ( point.trajectoryGood() ) edge.cost = actor.GrenadeBiasCost() Case FLY_EDGE: If ( actor.CanFly() ) edge.cost = actor.FlyBiasCost()

Non-Standard Movement Edges  Instead of scripting behavior, embed type of behavior in edge  Engine will automatically perform movement including animation and set up  Can be used for Jumping Flying Opening Doors

How to Embed Information in Points  Store point size information for each point Use a sphere to define the size  Can Detect obstacles and obstacle features Obstacle Visibility – Vertical Obstacle Visibility – Side to Side

Obstacle Visibility - Point

Object Visibility – Side to Side

Other Embedded Information  Safe Size Use collision detection to determine how big of an actor can use the path  Jumping Embed invisible geometry in game (preferred) or use extensive collision detection  Vaulting Same as jumping but geometry is not invisible Requires specific constraints for animation  Movable Objects and Doors Collision detection will find tagged object Retry collision detection after object is moved to test validity of edge (store movement info in the edge)  Stairs, Slopes, Ladders, and Ropes Checking angle between points vertically can cause edges to be labeled with certain actions

Putting it all together Flying Edge Door Edge Vault Edge Jump Edge Rappelling Edge

Soldier of Fortune II

Hunting Down the Player in a Convincing Manner Section 2.6

Hunting Down the Player in a Convincing Manner  Alex McLean  Pivotal Game Ltd.  Conflict : Desert Storm

Hunting Down a Player in a Convincing Manner  Intelligent hunting is a good thing The game needs to be somewhat challenging Allows for strategy  Perfect hunting is a bad thing Takes away from gameplay Really isn’t realistic  It should be apparent that the hunter is exploring and cannot see the target when it is not visible

Parameterizing the Process  A parameter based process will work best  Controls the hunter to do different thigns at different times  Two major parameters we want control over Speed – How quickly you are found Directness – How direct is the path from hunter to target

Destination  Path finding will be used to direct the hunter  A destination is needed Simplest solution is to move directly to the destination where the hunter is This makes the AI too good Destination must be more variable and robust

States  Break the decision of destination up into different states The player is visible The player was recently seen The player has never been seen  Allows for more realistic destinations Results in more realistic behaviors

The Player is Visible  Simplest Case  Start the attacking behavior May be a direct route May look for cover

The Player Was Recently Seen  Another simple case  Move to the last point where the character was seen  Provides for much more interesting game play to the player

The Player Was Recently Seen

The Player Was Not Recently Seen  Must start searching “intelligently”  Must generate a location Direction – within an angle θ of the player Distance – Some multiple of the exact direction to the target in an interval [Smin,Smax] (i.e. [.5,1.5]) Smin Smax θ x

Algorithm Detail  Smin, Smax, and θ control the parameters of hunting  Closeness of Smin, Smax to 1.0 and decreasing θ Increase Speed Increase Directness  Making θ > 180 can make the NPC somewhat dumb

How it Works

Extensions  Three-Dimensions Simply use a 3-D cone to pick destination  Moving Players Need to update player destination along the way In case NPC and player run into each other Make sure you are moving towards the player and not to where the player was  Sounds Hearing sounds can act as a new location that the player has been “seen”  Target Priority If a more interesting target is seen, go after it  Team based Tactics

Team Based Tactics

Conflict: Dessert Storm

Conclusion  A* and similar path finding algorithms can be used to provide dynamic motion Edges in graphs can be used to encode motion- specific information Edges can be biased to modify the search algorithm  Realistic hunting is an important part of an AI The hunting AI should react intelligently to a player It should be smart but not too smart