Detail Issues in Robust Pathfinding Thomas Young www.pathengine.com.

Slides:



Advertisements
Similar presentations
Vertical Exaggeration
Advertisements

Ray tracing. New Concepts The recursive ray tracing algorithm Generating eye rays Non Real-time rendering.
Multiplying Fractions Get ready to become an expert at multiplying fractions & mixed numbers!
CSE 380 – Computer Game Programming Pathfinding AI
Isoparametric Elements
Please open your laptops, log in to the MyMathLab course web site, and open Daily Quiz 18. You will have 10 minutes for today’s quiz. The second problem.
1.1 Linear Equations A linear equation in one variable is equivalent to an equation of the form To solve an equation means to find all the solutions of.
Rational Expressions: Addition and Subtraction. Adding and Subtracting Fractions Add the Numerators If you can, find the Least Common Denominator Find.
Introduction --Classification Shape ContourRegion Structural Syntactic Graph Tree Model-driven Data-driven Perimeter Compactness Eccentricity.
Curve Modeling Bézier Curves
Solving Equations Medina1 With Decimal & Fractions.
Algebra Review Number Sense. These subgroups of numbers are often represented visually using a Venn Diagram.
8TH GRADE MATH STAAR REVIEW.
Maths Notes Number 5. Decimals
Decimals Decimals are a type of fractional number
11/19/02 (c) 2002, University of Wisconsin, CS 559 Last Time Many, many modeling techniques –Polygon meshes –Parametric instancing –Hierarchical modeling.
Introduction Tracking the corners Camera model and collision detection Keyframes Path Correction Controlling the entire path of a virtual camera In computer.
Map Scale, Resolution and Data Models. Components of a GIS Map Maps can be displayed at various scales –Scale - the relationship between the size of features.
Write out on the board how to do them using radicals!!! The PP has how to solve using powers….you show how to use radicals!!! 1.
1 Lecture 5 Floating Point Numbers ITEC 1000 “Introduction to Information Technology”
Using cartoons to draw similar figures
1 CO Games Development 1 Week 6 Introduction To Pathfinding + Crash and Turn + Breadth-first Search Gareth Bellaby.
Bell Work 12/10. Objectives The student will be able to: 1. multiply monomials. 2. simplify expressions with monomials.
Warm Up Worksheet .
Acute angle An angle with a measure less than 90 degrees.
6-1:Adding and Subtracting Rational Expressions Unit 6: Rational and Radical Equations.
Fractions Revision Lesson EQUIVALENT FRACTIONS Fraction that is worth the same as another fraction but looks different. Eg. 1 = Useful for canceling.
CO1301: Games Concepts Dr Nick Mitchell (Room CM 226) Material originally prepared by Gareth Bellaby.
A to Z Math Project BY: AUSTIN WAHL. A is for Algebra Tiles  Algebra Tiles are used to represent variables and constants. Also The tiles help you visualize.
On A Side Note: Cartoon Drawings Find a cartoon from a newspaper, magazine, or computer. Cut around the edges of your cartoon so the edges are straight.
Grid or Mesh or Adaptive Procedure Fluid Dynamics is Made for This And this was developed in the Early 1970s.
Controlling a Virtual Camera Ross Ptacek University of Alabama Birmingham.
3 Strategies to Tackling Multiple Choice questions 1.Plug in a number 2.Back-solving 3.Guessing.
Vertices, Edges and Faces By Jordan Diamond. Vertices In geometry, a vertices is a special kind of point which describes the corners or intersections.
One-Step Equations Using Opposite Operations. When working to get the variable isolated and all alone, use the opposites rule. Opposites Rule – to get.
Number (multiply and divide) perform mental calculations, including with mixed operations and large numbers multiply multi-digit numbers up to 4 digits.
Cartoon Similarity Using cartoons to draw similar figures
Review Solving Equations 3.1 Addition and Subtraction 3.2 Multiplication and Division 3.3 Multi-step equations 3.4 Variables on Both Sides.
Review Variable Expressions 1.2 Addition and Subtraction 1.3 Multiplication and Division 1.4 Multi-step equations 1.5 Variables on Both Sides.
Review: Final Math Exam Tom Steward. Chapter. 1 The problem solving plan 1.read and understand 2.make a plan 3.solve the problem 4.look back.
Algebra Tiles How to sort, making the equation smaller and easier: 2x+1x+3 to 3x+3 How to make zero pairs, 1x+-1x=0, then take them away from the equation.
Math Flashcards By:Keyunte Kelley. Ordering Fractions Step 1: Divide to change to a decimal. (only use 2 decimal places) Step 2 :Put on a number line.
Uncertainty in Measurement How would you measure 9 ml most precisely? What is the volume being measured here? What is the uncertainty measurement? For.
Inicios in Mathematics NCCEP - UT Austin. More Algebra with some geometry.
Introduction to Parametric Curve and Surface Modeling.
New Year 6 End of year expectations Number and Place Value Read, write, order and compare numbers up to 10,000,000 and determine the value of each digit.
Integer Division.
MTH1170 Integration by Partial Fractions
Solving Systems of Equations using Elimination
1 Introduction to Algebra: Integers.
Assignment and Arithmetic expressions
Warm Up Worksheet .
Using cartoons to draw similar figures
Dividing monomials.
Learning Resource Services
© University of Wisconsin, CS559 Spring 2004
Mr Barton’s Maths Notes
Loop-Invariant Synthesis using Techniques from Constraint Programming
Year 1 Number – number and place value
Using cartoons to draw similar figures
Rational numbers Can be fractions, decimals, negatives, etc.
Mr Barton’s Maths Notes
Introduction to Parametric Curve and Surface Modeling
Numeracy Across Learning Inverclyde Academy
Year 2 Number – number and place value
Dilations A dilation is a transformation that changes the size but not the shape of an object or figure. Every dilation has a fixed point that is called.
Algebra 1 Glencoe McGraw-Hill Malinda Young
Presentation transcript:

Detail Issues in Robust Pathfinding Thomas Young

Starting point Robust pathfinding is difficult Paul Tozour on Game/AI 'Fixing Pathfinding Once and For All'  movement space is important e.g. nav-meshes instead of waypoints Robust geometry is difficult  geometry error can cause similar issues I'm going to talk about some details of how we adress this in PathEngine...

Issues with floats Avoid floating point operations because:  results vary with execution context build/platform/CPU state  they don't actually give us extra precision, in the general case  geometric error is hard to predict and control A precise treatment of contained space is very difficult (or impossible) with floating point!

Floating point 'grid'

Integer space Integer horizontal coordinates for:  mesh vertices  obstruction shape corners No fixed scale factor  user chooses a 'pathfinding unit'  e.g. 1cm

'Multiplying up' Avoid division and irrationals  just addition, subtraction, and multiplication  never need to work with anything smaller then one 'pathfinding unit'  no need for fixed point fractions Some operations are naturally implemented this way  e.g. side of line test  others need to be reimplimented

Range constraint That leaves overflow!  Define a starting range  Carefully track variable ranges  Multiply up to larger integers as necessary PathEngine world range is +/ = 30km by 30km, with 1cm units  when streaming coordinate origin is local to each streaming unit

Intersections Boundary intersections a key source of error  e.g. around dynamic obstacles Approximating can change the boundary Representing intersections exactly can avoid this

Vector fractions Replace division with multiplication  'vector fractions' (see my article in Gems 3)  multiply out denominators to compare

Choice of approximation With an exact treatment in place we can choose when to approximate  important for performance Robust approximation is difficult  often more difficult than an exact treatment  having the exact treatment in place can help with approximating robustly

Boundary invariants Boundary invariants are very powerful  simplify higher level code  open up additional possibilities e.g. seamless pathfinding across streaming boundaries  geometry replication across overlaps

Point on path segment Be careful about interpolation along path segments  approximation can't be avoided here  can push an agent inside obstructed space  or 'snag' path segments against obstructions

Wrapping up Eliminating geometry failure cases can be difficult  but worth thinking about up front  easier if included by design, as opposed to retrofitted  working around failure cases can be much harder If errors are possible then take this into account in your movement architecture!  e.g. collision override