Motion Planning in Games Mark Overmars Utrecht University.

Slides:



Advertisements
Similar presentations
Heuristic Search techniques
Advertisements

AI Pathfinding Representing the Search Space
Efficient access to TIN Regular square grid TIN Efficient access to TIN Let q := (x, y) be a point. We want to estimate an elevation at a point q: 1. should.
EDA (CS286.5b) Day 10 Scheduling (Intro Branch-and-Bound)
Motion Planning for Point Robots CS 659 Kris Hauser.
PRM and Multi-Space Planning Problems : How to handle many motion planning queries? Jean-Claude Latombe Computer Science Department Stanford University.
Sampling Techniques for Probabilistic Roadmap Planners
NUS CS5247 Motion Planning for Camera Movements in Virtual Environments By Dennis Nieuwenhuisen and Mark H. Overmars In Proc. IEEE Int. Conf. on Robotics.
By Lydia E. Kavraki, Petr Svestka, Jean-Claude Latombe, Mark H. Overmars Emre Dirican
CSE 380 – Computer Game Programming Pathfinding AI
Visibility Graphs May Shmuel Wimer Bar-Ilan Univ., Eng. Faculty Technion, EE Faculty.
Clearance Based Path Optimization for Motion Planning Roland Geraerts and Mark Overmars ICRA 2004.
Better Group Behaviors in Complex Environments using Global Roadmaps O. Burchan Bayazit, Jyh-Ming Lien and Nancy M. Amato Presented by Mohammad Irfan Rafiq.
Verbs and Adverbs: Multidimensional Motion Interpolation Using Radial Basis Functions Presented by Sean Jellish Charles Rose Michael F. Cohen Bobby Bodenheimer.
Roland Geraerts and Mark Overmars ICRA 2007 The Corridor Map Method: Real-Time High-Quality Path Planning.
Way to go: A framework for multi-level planning in games Norman Jaklin Wouter van Toll Roland Geraerts Department of Information and Computing Sciences.
Parametric Throughput Analysis of Synchronous Data Flow Graphs
The Vector Field Histogram Erick Tryzelaar November 14, 2001 Robotic Motion Planning A Method Developed by J. Borenstein and Y. Koren.
A Comparative Study of Probabilistic Roadmap Planners Roland Geraerts Mark Overmars.
Artificial Intelligence in Game Design Introduction to Learning.
Randomized Motion Planning for Car-like Robots with C-PRM Guang Song and Nancy M. Amato Department of Computer Science Texas A&M University College Station,
1 Single Robot Motion Planning - II Liang-Jun Zhang COMP Sep 24, 2008.
Motion Planning for Camera Movements in Virtual Environments Authors: D. Nieuwenhuisen, M. Overmars Presenter: David Camarillo.
Interactive Navigation in Complex Environments Using Path Planning Salomon et al.(2003) University of North Carolina Prepared By Xiaoshan Pan.
Interactive Navigation in Complex Environments Using Path Planning Salomon et al.(2003) University of North Carolina Presented by Mohammed Irfan Rafiq.
Randomized Motion Planning for Car-like Robots with C-PRM Guang Song, Nancy M. Amato Department of Computer Science Texas A&M University College Station,
CS 326A: Motion Planning Kynodynamic Planning + Dealing with Moving Obstacles + Dealing with Uncertainty + Dealing with Real-Time Issues.
CS 326A: Motion Planning Basic Motion Planning for a Point Robot.
Cmpt-225 Simulation. Application: Simulation Simulation  A technique for modeling the behavior of both natural and human-made systems  Goal Generate.
Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces Lydia E. Kavraki Petr Švetka Jean-Claude Latombe Mark H. Overmars Presented.
A Randomized Approach to Robot Path Planning Based on Lazy Evaluation Robert Bohlin, Lydia E. Kavraki (2001) Presented by: Robbie Paolini.
Games Development 2 Entity / Architecture Review CO3301 Week
Multi-Layered Navigation Meshes Wouter G. van Toll, Atlas F. Cook IV, Roland Geraerts ICT.OPEN 2011.
Ioannis Karamouzas, Roland Geraerts, Mark Overmars Indicative Routes for Path Planning and Crowd Simulation.
A Navigation Mesh for Dynamic Environments Wouter G. van Toll, Atlas F. Cook IV, Roland Geraerts CASA 2012.
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.
Trimble GCS900 Dual Antenna System Why Trimble uses a Dual Antenna Solution and why it is the better solution?
1 CO Games Development 1 Week 6 Introduction To Pathfinding + Crash and Turn + Breadth-first Search Gareth Bellaby.
Using the Corridor Map Method for Path Planning for a Large Number of Characters Roland Geraerts, Arno Kamphuis, Ioannis Karamouzas, Mark Overmars MIG’08.
Representing and Using Graphs
Operating systems, lecture 4 Team Viewer Tom Mikael Larsen, Thursdays in D A look at assignment 1 Brief rehearsal from lecture 3 More about.
Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces (1996) L. Kavraki, P. Švestka, J.-C. Latombe, M. Overmars.
CO1301: Games Concepts Dr Nick Mitchell (Room CM 226) Material originally prepared by Gareth Bellaby.
Efficient Route Computation on Road Networks Based on Hierarchical Communities Qing Song, Xiaofan Wang Department of Automation, Shanghai Jiao Tong University,
Jumping, Climbing, and Tactical Reasoning Section 2.5 Tom Schaible CSE 497 – AI & Game Programming.
Artificial Intelligence in Game Design Complex Steering Behaviors and Combining Behaviors.
CSCE 552 Spring D Models By Jijun Tang. Triangles Fundamental primitive of pipelines  Everything else constructed from them  (except lines and.
UNC Chapel Hill M. C. Lin Introduction to Motion Planning Applications Overview of the Problem Basics – Planning for Point Robot –Visibility Graphs –Roadmap.
Wouter G. van Toll Atlas F. Cook IV Roland Geraerts Realistic Crowd Simulation with Density-Based Path Planning ICT.OPEN / ASCI October 22nd, 2012.
Problem Reduction So far we have considered search strategies for OR graph. In OR graph, several arcs indicate a variety of ways in which the original.
CSCI1600: Embedded and Real Time Software Lecture 33: Worst Case Execution Time Steven Reiss, Fall 2015.
Hash Tables © Rick Mercer.  Outline  Discuss what a hash method does  translates a string key into an integer  Discuss a few strategies for implementing.
Maths & Technologies for Games Spatial Partitioning 1 CO3303 Week 8-9.
Artificial Intelligence in Game Design Lecture 8: Complex Steering Behaviors and Combining Behaviors.
A* optimality proof, cycle checking CPSC 322 – Search 5 Textbook § 3.6 and January 21, 2011 Taught by Mike Chiang.
Roland Geraerts and Erik Schager CASA 2010 Stealth-Based Path Planning using Corridor Maps.
Artificial Intelligence in Game Design Lecture 20: Hill Climbing and N-Grams.
Game Architecture Rabin is a good overview of everything to do with Games A lot of these slides come from the 1st edition CS 4455.
CS 326A: Motion Planning Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces (1996) L. Kavraki, P. Švestka, J.-C. Latombe,
CSCI1600: Embedded and Real Time Software
Artificial Intelligence Lab
Roland Geraerts and Mark Overmars CASA’08
CIS 488/588 Bruce R. Maxim UM-Dearborn
Real-Time Motion Planning
The Visibility– Voronoi Complex and Its Applications
Fundaments of Game Design
Semantic Nets and Frames
CSCI1600: Embedded and Real Time Software
Games Development 2 Entity / Architecture Review
Presentation transcript:

Motion Planning in Games Mark Overmars Utrecht University

2 Goals and Contents Try to formulate the requirements for motion planning in games –Rather different from other applications Investigate what techniques are suitable –Almost none of the existing techniques are –They still use scripting and A* for a reason Indicate some of the open issues

3 Motion or Path Planning or … Many different terms: –Motion planning –Path planning –Navigation –Route planning –… Motion deals with –Interaction –Animation –Navigation –Simulation

4 First or Third Person Games Environment –Complex: Rooms, corridors, narrow passages Stairways, ramps Sometimes outdoors Objects like trees, furniture, etc. –Created offline Takes huge amount of time –Small changes occur, often at known places Doors, bridges that are blown up, etc. Sometimes user can make further changes

5 First or Third Person Games Moving entities –In general alone or in very small groups –Number of different types –Varying number Motion –Locally 2-dimensional, but 3-D obstacles Often orientation is not important for planning –Some special moves possible Jumping, climbing ladders –Path must be natural On a local level But only within the (small) visible range –Goals not precise Goals change often, like when tracking an enemy

6 Strategy Games Environment –Simple: Basically planar, or terrain Simple obstacles (can be modeled in 2D) Few narrow passages –Created offline or during “loading” Takes not much time to create –Environment changes continuously Forrest grows and is cut away Buildings are constructed Fences can be made (reducing possibilities) Bridges can be made (extending possibilities)

7 Strategy Games Moving entities –Many different types of units of vary different shapes –Often moving in groups –Varying numbers –Non-holonomic constraints Motion –2-dimensional Some can be seen as cylinders but for others orientation matters –Path must be natural On a global level Both for the entities and for the groups –Goals not precise Goals change often, like when tracking an enemy

8 Time Issues: Preprocessing Offline –During scene modeling –Time can be as large as we want (hours, days) There should also be a faster technique for testing –Memory can be an issue During initialization –When a scene is “loaded” or created –Time can typically be a few seconds

9 Time Issues: Runtime Calculation frame rate: 20 – 100 frames per second Leaves something like 0.02 seconds per step This includes –Updating game status –Handling user input –Some graphics processing –Physics computations –Strategic AI –Path Planning This leaves something like a millisecond per step for path planning!

10 Time Issues: Runtime Path calculation can be distributed over a number of steps But visible units better start moving soon Queuing of path planning requests can easily occur –Many moving entities –Replanning requests –There must be a fast backup plan The Game Must Go On

11 The Approach Do everything you can offline –Alternative routes –Preparation for changes –Dealing with unknown numbers of entities –Dealing with groups –Quality of results Preprocessing time is not very important for this –Unless during initialization Build efficient data structures –Query time should be close to 0 –Even A* on a big graph can be too much –Avoid collision checking at runtime Plan while execute

12 A High Quality Roadmap Given an environment, construct a roadmap that can directly be used for motion planning queries, without the need for improving the path Every path must be –Short –Has some preferred minimum clearance –Must be C 1 -continuous

13 Basic Technique: PRM Problems: –Paths can take long detours –Paths can have a very low clearance – Paths will have C 1 -discontinuities at the nodes Remember, we cannot remedy this at the query time

14 Reducing Path Length Add cycles –Add an edge when the edge is considerably shorter than the current path through the graph –Can be done efficiently, avoiding expensive graph search –We do not want the graph to get too large by adding all edges, as this will slow down the query phase

15 Improving the Clearance Push nodes and edges away from the objects Remove or merge overlapping parts More difficult than it sounds when dimension > 2

16 Create C 1 Continuity Replace nodes by circle arcs –Centers of the edges become the nodes –Connect by line-arc-line in a single plane –This is always possible The longer the edges the better the result –Reduce the number of nodes

17 Result Smooth roadmap, resulting in smooth paths Preprocessing time is still reasonable Query is instantaneous

18 Additions Dealing with known changes, like doors Coordinate multiple entities using these roadmaps Adapting to additional obstacles Use them as the basis for group motion

19 Research Questions What is natural motion –How do people walk through buildings –How does the path change depending on the speed Preprocessing versus real-time –How can we do more work during preprocessing –Calculation paths while moving –Locally adapting to changes Dealing with groups –Multiple groups –Strategic behavior Goals –Dealing with imprecise goals –Motion interruption and changing goals