SlideShare a Scribd company logo
INTERACTIVE OBJECTS IN
GAMING APPLICATIONS
Basic principles and practical scenarios in Unity
June 2013Stavros Vassos Sapienza University of Rome, DIAG, Italy vassos@dis.uniroma1.it
Interactive objects in games
2
 Pathfinding
 Part 1: A* heuristic search on a grid
 Part 2: Examples in Unity
 Part 3: Beyond the basics
 Action-based decision making
 AI Architectures
Pathfinding: Beyond the basics
3
 Many neat tricks for efficient/nice pathfinding
 Alternative game-world representations
 Beyond A*
 Better heuristics
Pathfinding: Beyond the basics
4
 Many neat tricks for efficient/nice pathfinding
 Alternative game-world representations
 Beyond A*
 Better heuristics
Pathfinding: From grids to graphs
5
 A* works the same in a graph as in a grid
 Graphs nodes correspond to points in the 2D/3D space
 We can still use the same heuristics
 Manhattan, Chebyshev, Euclidean
Pathfinding: From grids to graphs
6
 A* works the same in a graph as in a grid
 Graphs nodes correspond to points in the 2D/3D space
 We can still use the same heuristics
 Manhattan, Chebyshev, Euclidean
But we need to
generate these
graphs in an
automated way!
Pathfinding: From grids to graphs
7
 Many types of graphs have been studied in video-
games as well as in robotics
 Waypoint graphs
 Circle-based waypoint graphs
 Visibility graphs
 Navigation mesh graphs
 Probabilistic road maps
 …
Pathfinding: From grids to graphs
8
 Many types of graphs have been studied in video-
games as well as in robotics
 Waypoint graphs
 Circle-based waypoint graphs
 Visibility graphs
 Navigation mesh graphs
 Probabilistic road maps
 …
 Nice description on Amit’s A* pages, next
Pathfinding: From grids to graphs
9
 Visibility graph
 Connected obstacle corners
 Navmesh graph
 Connected walkable areas
Pathfinding: From grids to graphs
10
 Visibility graph
 Connected obstacle corners
 Navmesh graph
 Connected walkable areas
Visibility graph:
Often contains too
many edges
Pathfinding: From grids to graphs
11
 Visibility graph
 Connected obstacle corners
 Navmesh graph
 Connected walkable areas
Navmesh graph:
Several ways to
map to a graph
Pathfinding: Navmesh graphs
12
 Navmesh graph
 Area decomposed in polygons
 One or more graph nodes per polygon
 Polygon center movement
 One node at the
center of each polygon
 Nodes connected if
they are in adjacent
polygons
Pathfinding: Navmesh graphs
13
 Navmesh graph
 Area decomposed in polygons
 One or more graph nodes per polygon
 Polygon edge movement
 One graph node at the
center of each edge
between adjacent
polygons
 Don’t have to go to the
center of a polygon
Pathfinding: Navmesh graphs
14
 Navmesh graph
 Area decomposed in polygons
 One or more graph nodes per polygon
 Polygon vertex movement
 Graph nodes and edges
at each as the polygons
 Helpful for moving
around an obstacle,
following its edges
Pathfinding: Navmesh graphs
15
 Navmesh graph
 Area decomposed in polygons
 One or more graph nodes per polygon
 Pick your own hybrid
combination!
 Here: graph nodes both
at nodes of polygons
and the middle
of edges of polygons
Pathfinding: Navmesh graphs
16
 Navmesh graph
 Widely used in video games!
 Supported natively in Unity Pro after version 4
 A lot of passionate supporters :)
Pathfinding: Navmesh graphs
17
 “Fixing pathfinding once and forall” by Paul Tozour
(2008) at www.ai-blog.net
 Pathfinding on waypoint graphs vs navmesh graphs
 1. Some graphs require too many waypoints
Pathfinding: Navmesh graphs
18
 “Fixing pathfinding once and forall” by Paul Tozour
(2008) at www.ai-blog.net
 Pathfinding on waypoint graphs vs navmesh graphs
 2. More difficult to make “smooth” realistic paths
Pathfinding: Navmesh graphs
19
 “Fixing pathfinding once and forall” by Paul Tozour
(2008) at www.ai-blog.net
 Pathfinding on waypoint graphs vs navmesh graphs
 3. More difficult to handle dynamic obstacle avoidance
Pathfinding: Navmesh graphs
20
 “Fixing pathfinding once and forall” by Paul Tozour
(2008) at www.ai-blog.net
 Pathfinding on waypoint graphs vs navmesh graphs
 Other interesting observations in the article
Pathfinding: Beyond the basics
21
 Many neat tricks for efficient/nice pathfinding
 Alternative game-world representations
 Beyond A*
 Better heuristics
Pathfinding: Beyond A*
22
 Incremental versions of A*
 Real-time/Any-time versions of A*
 Hierarchical versions of A*
 Any-angle pathfinding
 Diverse character pathfinding
 Cooperative pathfinding
Pathfinding: Beyond A*
23
 Incremental versions of A*
 Real-time/Any-time versions of A*
 Hierarchical versions of A*
 Any-angle pathfinding
 Diverse character pathfinding
 Cooperative pathfinding
 Nice article by Alex Nash at AiGameDev.com, next
Pathfinding: Beyond A*
24
 Any-angle pathfinding
 Theta*
 Combining visibility graphs and the power of A* on grids
 Simple extension based on A*
 Here: 8-connected nodes at the corners of each cell
Pathfinding: Beyond A*
25
 Finding better/nicer paths vs post-processing paths
Pathfinding: Beyond A*
26
 Finding better/nicer paths vs post-processing paths
Manhattan distance
heuristic
Chebyshev distance
heuristic
Pathfinding: Beyond A*
27
 Finding better/nicer paths vs post-processing paths
Manhattan distance
heuristic
Chebyshev distance
heuristic
Slower, but easier
to improve
Faster, but more
difficult to improve
Pathfinding: Beyond A*
28
 Any-angle pathfinding with Theta*
 Very similar to A*
 Search from the start node
 Open list of nodes to visit
 Closed list of visited nodes
 Expand a node by looking
into neighbors
 Compute and store f(s’) for each of the neighbors of
expanded node s: f(s’) = g(s’) + h(s’)
Pathfinding: Beyond A*
29
 Any-angle pathfinding with Theta*
 Very similar to A*
 Search from the start node
 Open list of nodes to visit
 Closed list of visited nodes
 Expand a node by looking
into neighbors
 Compute and store f(s’) for each of the neighbors of
expanded node s: f(s’) = g(s’) + h(s’)
 But, do a trick in computing g(s’) and the parent of s’!
Pathfinding: Beyond A*
30
 Any-angle pathfinding with Theta*
 Expand node s
 Look into neighbors of s, e.g., node s’
 Consider two cases when computing g(s’)
Pathfinding: Beyond A*
31
 Any-angle pathfinding with Theta*
 Expand node s
 Look into neighbors of s, e.g., node s’
 Consider two cases when computing g(s’)
Option 1: g(s’) = g(s) + c(s,s’)
Pathfinding: Beyond A*
32
 Any-angle pathfinding with Theta*
 Expand node s
 Look into neighbors of s, e.g., node s’
 Consider two cases when computing g(s’)
Option 1: g(s’) = g(s) + c(s,s’)
Option 2: g(s’) = g(p) + c(p,s’),
where p is the parent of s!
Pathfinding: Beyond A*
33
 Any-angle pathfinding with Theta*
 Expand node s
 Look into neighbors of s, e.g., node s’
 Consider two cases when computing g(s’)
Option 1: g(s’) = g(s) + c(s,s’)
Option 2: g(s’) = g(p) + c(p,s’),
where p is the parent of s!
If the Option 2 is better also
update the parent!
Pathfinding: Beyond A*
34
 Any-angle pathfinding with Theta*
 Essentially remove unnecessary grid-like steps, using
visibility information
 Simplifying and smoothing as you go!
Pathfinding: Beyond A*
35
 Any-angle pathfinding with Theta*
 Essentially remove unnecessary grid-like steps, using
visibility information
 Simplifying and smoothing as you go!
Pathfinding: Beyond A*
36
 Incremental versions of A*
 Real-time/Any-time versions of A*
 Hierarchical versions of A*
 Any-angle pathfinding
 Diverse character pathfinding
 Cooperative pathfinding
 Nice resources available!
Pathfinding: beyond A*
37
 AAAI 2008 tutorial on path planning
 Part 1: Advances in Path Planning by Sven Koenig
 http://webdocs.cs.ualberta.ca/~nathanst/aaai_tut1.pdf
 Any-angle pathfinding
 Field D*, Theta*
 Incremental versions of A*
 FSA*, AA*, LPA*, MTAA*, D*Lite
 Real-time versions of A*
 LRTA*, RTAA*
Pathfinding: beyond A*
38
 AAAI 2008 tutorial on path planning
 Part 2: Abstraction in Pathfinding by Nathan Sturtevant
 http://webdocs.cs.ualberta.ca/~nathanst/aaai_tut2.pdf
 http://webdocs.cs.ualberta.ca/~nathanst/pathfinding.html
 Abstraction for minimizing memory
 Used in BioWare’s Dragon Age
 Generalized Cooperative pathfinding
 CA*, WHCA*, PRA*, CPRA*
Pathfinding: beyond A*
39
 Beyond A*: Speeding up pathfinding through
hierarchical abstraction by Daniel Harabor
 http://harablog.files.wordpress.com/2009/06/beyonda
star.pdf
 Hierarchical pathfinding
 HPA*
 Dealing with diversity
 HAA*
 Beyond grids
 Probabilistic
Road Maps
Pathfinding: beyond A*
40
 AAAI 2008 tutorial on path planning
 Part 3: Map Representations & Geometric Path Planning
by Michael Buro
 http://webdocs.cs.ualberta.ca/
~nathanst/aaai_tut3.pdf
 Polygon-based
 Free space decompositions
 TA*: Triangulation A*
 TRA*: Triangulation reductions A*
Pathfinding: Beyond the basics
41
 Many neat tricks for efficient/nice pathfinding
 Alternative game-world representations
 Beyond A*
 Better heuristics
Pathfinding: Better heuristics
42
 True distance memory based heuristics (TDHs)
 Main idea based on precomputing useful information
 Store true distance between selected pairs of nodes
 Use these to calculate admissible estimates for any pair
 Different variations
 How to chose the initial pairs to pre-compute
 How to calculate heuristic values from pre-computed
pairs
 Recent IJCAI-09 paper and SOCS-10 paper
Pathfinding: Better heuristics
43
 Differential heuristic
 Pick a set of “canonical” nodes
 Compute true distance between every node and the
canonical nodes
 For dist(a,b) look into all canonical nodes c and take as
estimate the max value of |dist(a,c)-dist(b,c)|
Pathfinding: Better heuristics
44
 Differential heuristic
 Pick a set of “canonical” nodes
 Compute true distance between every node and the
canonical nodes
 For dist(a,b) look into all canonical nodes c and take as
estimate the max value of |dist(a,c)-dist(b,c)|
 Admissible!
 Intuition: think of just one canonical state c
 dist(a,b)+dist(b,c) has to be greater or equal than dist(a,c)
otherwise this would have been stored as a shorter route
 The max out of many canonical states is a better lowerbound
a b
c
Pathfinding: Better heuristics
45
 Canonical heuristic
 Pick a set of “canonical” nodes
 Compute true distance between the canonical nodes
 Compute true distance between every node and the m
closest canonical nodes
 For dist(a,b) look into all pairs of m canonical nodes c1
close to a and m canonical nodes c2 close to b, and
take as estimate the max value of
|dist(c1,c2) - dist(a,c1) - dist(b,c2)|
Pathfinding: Better heuristics
46
 Border heuristic and portal-based heuristic
 Domain is partitioned in regions
 Borders between regions
 Portals connect regions
 Store true distance
between pairs of portals
 Portal-based search
that breaks pathfinding
into sub-problems
Pathfinding: Compress Path Databases
47
 Another neat idea in a recent AIIDE-11 paper
 Ultra-Fast Optimal Pathfinding without Runtime Search
Pathfinding: Compress Path Databases
48
 Another neat idea in a recent AIIDE-11 paper
 Ultra-Fast Optimal Pathfinding without Runtime Search
 Pre-computing and store all paths!
 Compress Path Databases that bring the data to
manageable size
 Compared to A* runtime speedup reaches two orders
of magnitude
 It has been tested over maps of Baldur’s Gate
Pathfinding: Compress Path Databases
49
 “Path coherence”
 The shortest paths from a current node to any target in
a remote area share a common first move
 Think of going from Rome to a destination in any city in
western Europe
 Most probably all shortest paths from a specific
starting point to any of these destinations have to pass
through some fixed landmarks, e.g., a major intersection
 CPDs store this information for every node in the graph
Pathfinding: Compress Path Databases
50
 CPDs compress this information for every node in
the graph using boxes of destinations that can be
“directed” in the same way
1. Starting from here
2. Going to here
Pathfinding: Compress Path Databases
51
 CPDs compress this information for every node in
the graph using boxes of destinations that can be
“directed” in the same way
1. Starting from here
2. Going to here
3. You need to go NE!
Pathfinding: Compress Path Databases
52
 CPDs compress this information for every node in
the graph using boxes of destinations that can be
“directed” in the same way
 One starting node
 For all possible destinations
 Compute the next move that you
needs to be performed
 Make this map
 Store it by compressing
regions

More Related Content

What's hot

Multiprocessor Game Loops: Lessons from Uncharted 2: Among Thieves
Multiprocessor Game Loops: Lessons from Uncharted 2: Among ThievesMultiprocessor Game Loops: Lessons from Uncharted 2: Among Thieves
Multiprocessor Game Loops: Lessons from Uncharted 2: Among ThievesNaughty Dog
 
GTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham Origins
GTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham OriginsGTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham Origins
GTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham Origins
Colin Barré-Brisebois
 
Physically Based Sky, Atmosphere and Cloud Rendering in Frostbite
Physically Based Sky, Atmosphere and Cloud Rendering in FrostbitePhysically Based Sky, Atmosphere and Cloud Rendering in Frostbite
Physically Based Sky, Atmosphere and Cloud Rendering in Frostbite
Electronic Arts / DICE
 
Practical AI in Games
Practical AI in GamesPractical AI in Games
Practical AI in Games
Renaldas Zioma
 
GDC 2014 - Deformable Snow Rendering in Batman: Arkham Origins
GDC 2014 - Deformable Snow Rendering in Batman: Arkham OriginsGDC 2014 - Deformable Snow Rendering in Batman: Arkham Origins
GDC 2014 - Deformable Snow Rendering in Batman: Arkham Origins
Colin Barré-Brisebois
 
Bridging Between CAD & GIS: 8 Ways to Automate Data Integration
Bridging Between CAD & GIS: 8 Ways to Automate Data IntegrationBridging Between CAD & GIS: 8 Ways to Automate Data Integration
Bridging Between CAD & GIS: 8 Ways to Automate Data Integration
Safe Software
 
Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례
Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례
Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례
SangYun Yi
 
NVIDIA Business Overview as Presented by Jen-Hsun Huang, CEO & Co-founder's a...
NVIDIA Business Overview as Presented by Jen-Hsun Huang, CEO & Co-founder's a...NVIDIA Business Overview as Presented by Jen-Hsun Huang, CEO & Co-founder's a...
NVIDIA Business Overview as Presented by Jen-Hsun Huang, CEO & Co-founder's a...
NVIDIA
 
10 Atlassian Tool Hacks to Improve Team Culture
10 Atlassian Tool Hacks to Improve Team Culture10 Atlassian Tool Hacks to Improve Team Culture
10 Atlassian Tool Hacks to Improve Team Culture
Atlassian
 
Shadows & Decals: D3D10 Techniques in Frostbite (GDC'09)
 	 Shadows & Decals: D3D10 Techniques in Frostbite (GDC'09) 	 Shadows & Decals: D3D10 Techniques in Frostbite (GDC'09)
Shadows & Decals: D3D10 Techniques in Frostbite (GDC'09)
Johan Andersson
 
Unite2019 HLOD를 활용한 대규모 씬 제작 방법
Unite2019 HLOD를 활용한 대규모 씬 제작 방법Unite2019 HLOD를 활용한 대규모 씬 제작 방법
Unite2019 HLOD를 활용한 대규모 씬 제작 방법
장규 서
 
Horizon Zero Dawn: The Early Days
Horizon Zero Dawn: The Early DaysHorizon Zero Dawn: The Early Days
Horizon Zero Dawn: The Early Days
DevGAMM Conference
 
Calibrating Lighting and Materials in Far Cry 3
Calibrating Lighting and Materials in Far Cry 3Calibrating Lighting and Materials in Far Cry 3
Calibrating Lighting and Materials in Far Cry 3
stevemcauley
 
Open BIM: bridging the gap between BIM and GIS
Open BIM: bridging the gap between BIM and GISOpen BIM: bridging the gap between BIM and GIS
Open BIM: bridging the gap between BIM and GIS
Goedertier Stijn
 
Amazing Feats of Daring - Uncharted Post Mortem
Amazing Feats of Daring - Uncharted Post MortemAmazing Feats of Daring - Uncharted Post Mortem
Amazing Feats of Daring - Uncharted Post MortemNaughty Dog
 
Advancements in-tiled-rendering
Advancements in-tiled-renderingAdvancements in-tiled-rendering
Advancements in-tiled-rendering
mistercteam
 
Bending the Graphics Pipeline
Bending the Graphics PipelineBending the Graphics Pipeline
Bending the Graphics Pipeline
Electronic Arts / DICE
 
Practical SPU Programming in God of War III
Practical SPU Programming in God of War IIIPractical SPU Programming in God of War III
Practical SPU Programming in God of War III
Slide_N
 
CUDA Raytracing을 이용한 Voxel오브젝트 가시성 테스트
CUDA Raytracing을 이용한 Voxel오브젝트 가시성 테스트CUDA Raytracing을 이용한 Voxel오브젝트 가시성 테스트
CUDA Raytracing을 이용한 Voxel오브젝트 가시성 테스트
YEONG-CHEON YOU
 
Integrating BIM & GIS - Closing the Data Loop, September 2019
Integrating BIM & GIS - Closing the Data Loop, September 2019Integrating BIM & GIS - Closing the Data Loop, September 2019
Integrating BIM & GIS - Closing the Data Loop, September 2019
Esri Ireland
 

What's hot (20)

Multiprocessor Game Loops: Lessons from Uncharted 2: Among Thieves
Multiprocessor Game Loops: Lessons from Uncharted 2: Among ThievesMultiprocessor Game Loops: Lessons from Uncharted 2: Among Thieves
Multiprocessor Game Loops: Lessons from Uncharted 2: Among Thieves
 
GTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham Origins
GTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham OriginsGTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham Origins
GTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham Origins
 
Physically Based Sky, Atmosphere and Cloud Rendering in Frostbite
Physically Based Sky, Atmosphere and Cloud Rendering in FrostbitePhysically Based Sky, Atmosphere and Cloud Rendering in Frostbite
Physically Based Sky, Atmosphere and Cloud Rendering in Frostbite
 
Practical AI in Games
Practical AI in GamesPractical AI in Games
Practical AI in Games
 
GDC 2014 - Deformable Snow Rendering in Batman: Arkham Origins
GDC 2014 - Deformable Snow Rendering in Batman: Arkham OriginsGDC 2014 - Deformable Snow Rendering in Batman: Arkham Origins
GDC 2014 - Deformable Snow Rendering in Batman: Arkham Origins
 
Bridging Between CAD & GIS: 8 Ways to Automate Data Integration
Bridging Between CAD & GIS: 8 Ways to Automate Data IntegrationBridging Between CAD & GIS: 8 Ways to Automate Data Integration
Bridging Between CAD & GIS: 8 Ways to Automate Data Integration
 
Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례
Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례
Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례
 
NVIDIA Business Overview as Presented by Jen-Hsun Huang, CEO & Co-founder's a...
NVIDIA Business Overview as Presented by Jen-Hsun Huang, CEO & Co-founder's a...NVIDIA Business Overview as Presented by Jen-Hsun Huang, CEO & Co-founder's a...
NVIDIA Business Overview as Presented by Jen-Hsun Huang, CEO & Co-founder's a...
 
10 Atlassian Tool Hacks to Improve Team Culture
10 Atlassian Tool Hacks to Improve Team Culture10 Atlassian Tool Hacks to Improve Team Culture
10 Atlassian Tool Hacks to Improve Team Culture
 
Shadows & Decals: D3D10 Techniques in Frostbite (GDC'09)
 	 Shadows & Decals: D3D10 Techniques in Frostbite (GDC'09) 	 Shadows & Decals: D3D10 Techniques in Frostbite (GDC'09)
Shadows & Decals: D3D10 Techniques in Frostbite (GDC'09)
 
Unite2019 HLOD를 활용한 대규모 씬 제작 방법
Unite2019 HLOD를 활용한 대규모 씬 제작 방법Unite2019 HLOD를 활용한 대규모 씬 제작 방법
Unite2019 HLOD를 활용한 대규모 씬 제작 방법
 
Horizon Zero Dawn: The Early Days
Horizon Zero Dawn: The Early DaysHorizon Zero Dawn: The Early Days
Horizon Zero Dawn: The Early Days
 
Calibrating Lighting and Materials in Far Cry 3
Calibrating Lighting and Materials in Far Cry 3Calibrating Lighting and Materials in Far Cry 3
Calibrating Lighting and Materials in Far Cry 3
 
Open BIM: bridging the gap between BIM and GIS
Open BIM: bridging the gap between BIM and GISOpen BIM: bridging the gap between BIM and GIS
Open BIM: bridging the gap between BIM and GIS
 
Amazing Feats of Daring - Uncharted Post Mortem
Amazing Feats of Daring - Uncharted Post MortemAmazing Feats of Daring - Uncharted Post Mortem
Amazing Feats of Daring - Uncharted Post Mortem
 
Advancements in-tiled-rendering
Advancements in-tiled-renderingAdvancements in-tiled-rendering
Advancements in-tiled-rendering
 
Bending the Graphics Pipeline
Bending the Graphics PipelineBending the Graphics Pipeline
Bending the Graphics Pipeline
 
Practical SPU Programming in God of War III
Practical SPU Programming in God of War IIIPractical SPU Programming in God of War III
Practical SPU Programming in God of War III
 
CUDA Raytracing을 이용한 Voxel오브젝트 가시성 테스트
CUDA Raytracing을 이용한 Voxel오브젝트 가시성 테스트CUDA Raytracing을 이용한 Voxel오브젝트 가시성 테스트
CUDA Raytracing을 이용한 Voxel오브젝트 가시성 테스트
 
Integrating BIM & GIS - Closing the Data Loop, September 2019
Integrating BIM & GIS - Closing the Data Loop, September 2019Integrating BIM & GIS - Closing the Data Loop, September 2019
Integrating BIM & GIS - Closing the Data Loop, September 2019
 

Viewers also liked

Intro to AI STRIPS Planning & Applications in Video-games Lecture4-Part1
Intro to AI STRIPS Planning & Applications in Video-games Lecture4-Part1Intro to AI STRIPS Planning & Applications in Video-games Lecture4-Part1
Intro to AI STRIPS Planning & Applications in Video-games Lecture4-Part1
Stavros Vassos
 
Intro to AI STRIPS Planning & Applications in Video-games Lecture4-Part2
Intro to AI STRIPS Planning & Applications in Video-games Lecture4-Part2Intro to AI STRIPS Planning & Applications in Video-games Lecture4-Part2
Intro to AI STRIPS Planning & Applications in Video-games Lecture4-Part2
Stavros Vassos
 
Intro to AI STRIPS Planning & Applications in Video-games Lecture3-Part1
Intro to AI STRIPS Planning & Applications in Video-games Lecture3-Part1Intro to AI STRIPS Planning & Applications in Video-games Lecture3-Part1
Intro to AI STRIPS Planning & Applications in Video-games Lecture3-Part1
Stavros Vassos
 
Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2
Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2
Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2
Stavros Vassos
 
Intro to AI STRIPS Planning & Applications in Video-games Lecture1-Part2
Intro to AI STRIPS Planning & Applications in Video-games Lecture1-Part2Intro to AI STRIPS Planning & Applications in Video-games Lecture1-Part2
Intro to AI STRIPS Planning & Applications in Video-games Lecture1-Part2
Stavros Vassos
 
Pathfinding - Part 1: Α* heuristic search
Pathfinding - Part 1: Α* heuristic searchPathfinding - Part 1: Α* heuristic search
Pathfinding - Part 1: Α* heuristic search
Stavros Vassos
 
Intro to AI STRIPS Planning & Applications in Video-games Lecture1-Part1
Intro to AI STRIPS Planning & Applications in Video-games Lecture1-Part1Intro to AI STRIPS Planning & Applications in Video-games Lecture1-Part1
Intro to AI STRIPS Planning & Applications in Video-games Lecture1-Part1
Stavros Vassos
 
Intro to AI STRIPS Planning & Applications in Video-games Lecture6-Part1
Intro to AI STRIPS Planning & Applications in Video-games Lecture6-Part1Intro to AI STRIPS Planning & Applications in Video-games Lecture6-Part1
Intro to AI STRIPS Planning & Applications in Video-games Lecture6-Part1
Stavros Vassos
 
Tracxn Research - Chatbots Landscape, February 2017
Tracxn Research - Chatbots Landscape, February 2017Tracxn Research - Chatbots Landscape, February 2017
Tracxn Research - Chatbots Landscape, February 2017
Tracxn
 
Consumer Bahavior: Decision Making process
Consumer Bahavior: Decision Making processConsumer Bahavior: Decision Making process
Consumer Bahavior: Decision Making processZenaida Albarasin
 

Viewers also liked (11)

Intro to AI STRIPS Planning & Applications in Video-games Lecture4-Part1
Intro to AI STRIPS Planning & Applications in Video-games Lecture4-Part1Intro to AI STRIPS Planning & Applications in Video-games Lecture4-Part1
Intro to AI STRIPS Planning & Applications in Video-games Lecture4-Part1
 
Intro to AI STRIPS Planning & Applications in Video-games Lecture4-Part2
Intro to AI STRIPS Planning & Applications in Video-games Lecture4-Part2Intro to AI STRIPS Planning & Applications in Video-games Lecture4-Part2
Intro to AI STRIPS Planning & Applications in Video-games Lecture4-Part2
 
Intro to AI STRIPS Planning & Applications in Video-games Lecture3-Part1
Intro to AI STRIPS Planning & Applications in Video-games Lecture3-Part1Intro to AI STRIPS Planning & Applications in Video-games Lecture3-Part1
Intro to AI STRIPS Planning & Applications in Video-games Lecture3-Part1
 
Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2
Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2
Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2
 
Intro to AI STRIPS Planning & Applications in Video-games Lecture1-Part2
Intro to AI STRIPS Planning & Applications in Video-games Lecture1-Part2Intro to AI STRIPS Planning & Applications in Video-games Lecture1-Part2
Intro to AI STRIPS Planning & Applications in Video-games Lecture1-Part2
 
Pathfinding - Part 1: Α* heuristic search
Pathfinding - Part 1: Α* heuristic searchPathfinding - Part 1: Α* heuristic search
Pathfinding - Part 1: Α* heuristic search
 
Intro to AI STRIPS Planning & Applications in Video-games Lecture1-Part1
Intro to AI STRIPS Planning & Applications in Video-games Lecture1-Part1Intro to AI STRIPS Planning & Applications in Video-games Lecture1-Part1
Intro to AI STRIPS Planning & Applications in Video-games Lecture1-Part1
 
Intro to AI STRIPS Planning & Applications in Video-games Lecture6-Part1
Intro to AI STRIPS Planning & Applications in Video-games Lecture6-Part1Intro to AI STRIPS Planning & Applications in Video-games Lecture6-Part1
Intro to AI STRIPS Planning & Applications in Video-games Lecture6-Part1
 
Tracxn Research - Chatbots Landscape, February 2017
Tracxn Research - Chatbots Landscape, February 2017Tracxn Research - Chatbots Landscape, February 2017
Tracxn Research - Chatbots Landscape, February 2017
 
Consumer decision making process
Consumer decision making process Consumer decision making process
Consumer decision making process
 
Consumer Bahavior: Decision Making process
Consumer Bahavior: Decision Making processConsumer Bahavior: Decision Making process
Consumer Bahavior: Decision Making process
 

Similar to Pathfinding - Part 3: Beyond the basics

Graph Analytics - From the Whiteboard to Your Toolbox - Sam Lerma
Graph Analytics - From the Whiteboard to Your Toolbox - Sam LermaGraph Analytics - From the Whiteboard to Your Toolbox - Sam Lerma
Graph Analytics - From the Whiteboard to Your Toolbox - Sam Lerma
PyData
 
PATH FINDING SOLUTIONS FOR GRID BASED GRAPH
PATH FINDING SOLUTIONS FOR GRID BASED GRAPHPATH FINDING SOLUTIONS FOR GRID BASED GRAPH
PATH FINDING SOLUTIONS FOR GRID BASED GRAPH
acijjournal
 
A Path finding Technique for Open Terrain
A Path finding Technique for Open TerrainA Path finding Technique for Open Terrain
Path Finding Solutions For Grid Based Graph
Path Finding Solutions For Grid Based GraphPath Finding Solutions For Grid Based Graph
Path Finding Solutions For Grid Based Graph
acijjournal
 
Discrete Mathematics Presentation
Discrete Mathematics PresentationDiscrete Mathematics Presentation
Discrete Mathematics Presentation
Salman Elahi
 
Design and Implementation of Mobile Map Application for Finding Shortest Dire...
Design and Implementation of Mobile Map Application for Finding Shortest Dire...Design and Implementation of Mobile Map Application for Finding Shortest Dire...
Design and Implementation of Mobile Map Application for Finding Shortest Dire...
Eswar Publications
 
Node Path Visualizer Using Shortest Path Algorithms
Node Path Visualizer Using Shortest Path AlgorithmsNode Path Visualizer Using Shortest Path Algorithms
Node Path Visualizer Using Shortest Path Algorithms
IRJET Journal
 
An Introduction to Graph Databases
An Introduction to Graph DatabasesAn Introduction to Graph Databases
An Introduction to Graph Databases
InfiniteGraph
 
Presentation on Breadth First Search (BFS)
Presentation on Breadth First Search (BFS)Presentation on Breadth First Search (BFS)
Presentation on Breadth First Search (BFS)
Shuvongkor Barman
 
Training at AI Frontiers 2018 - LaiOffer Self-Driving-Car-Lecture 3: Any-Angl...
Training at AI Frontiers 2018 - LaiOffer Self-Driving-Car-Lecture 3: Any-Angl...Training at AI Frontiers 2018 - LaiOffer Self-Driving-Car-Lecture 3: Any-Angl...
Training at AI Frontiers 2018 - LaiOffer Self-Driving-Car-Lecture 3: Any-Angl...
AI Frontiers
 
Algorithm Design and Complexity - Course 7
Algorithm Design and Complexity - Course 7Algorithm Design and Complexity - Course 7
Algorithm Design and Complexity - Course 7Traian Rebedea
 
Talk on Graph Theory - I
Talk on Graph Theory - ITalk on Graph Theory - I
Talk on Graph Theory - I
Anirudh Raja
 
Create swath profiles in GRASS GIS
Create swath profiles in GRASS GISCreate swath profiles in GRASS GIS
Create swath profiles in GRASS GIS
Skyler Sorsby
 
Graceful labelings
Graceful labelingsGraceful labelings
Graceful labelings
radhikamathy
 
Graph Analyses with Python and NetworkX
Graph Analyses with Python and NetworkXGraph Analyses with Python and NetworkX
Graph Analyses with Python and NetworkX
Benjamin Bengfort
 
Data Structures and Agorithm: DS 21 Graph Theory.pptx
Data Structures and Agorithm: DS 21 Graph Theory.pptxData Structures and Agorithm: DS 21 Graph Theory.pptx
Data Structures and Agorithm: DS 21 Graph Theory.pptx
RashidFaridChishti
 
Straight Line Distance Heuristic
Straight Line Distance HeuristicStraight Line Distance Heuristic
Straight Line Distance Heuristic
ahmad bassiouny
 
Neo4j MeetUp - Graph Exploration with MetaExp
Neo4j MeetUp - Graph Exploration with MetaExpNeo4j MeetUp - Graph Exploration with MetaExp
Neo4j MeetUp - Graph Exploration with MetaExp
Adrian Ziegler
 

Similar to Pathfinding - Part 3: Beyond the basics (20)

Graph Analytics - From the Whiteboard to Your Toolbox - Sam Lerma
Graph Analytics - From the Whiteboard to Your Toolbox - Sam LermaGraph Analytics - From the Whiteboard to Your Toolbox - Sam Lerma
Graph Analytics - From the Whiteboard to Your Toolbox - Sam Lerma
 
PATH FINDING SOLUTIONS FOR GRID BASED GRAPH
PATH FINDING SOLUTIONS FOR GRID BASED GRAPHPATH FINDING SOLUTIONS FOR GRID BASED GRAPH
PATH FINDING SOLUTIONS FOR GRID BASED GRAPH
 
Ai1.pdf
Ai1.pdfAi1.pdf
Ai1.pdf
 
A Path finding Technique for Open Terrain
A Path finding Technique for Open TerrainA Path finding Technique for Open Terrain
A Path finding Technique for Open Terrain
 
Path Finding Solutions For Grid Based Graph
Path Finding Solutions For Grid Based GraphPath Finding Solutions For Grid Based Graph
Path Finding Solutions For Grid Based Graph
 
Discrete Mathematics Presentation
Discrete Mathematics PresentationDiscrete Mathematics Presentation
Discrete Mathematics Presentation
 
Design and Implementation of Mobile Map Application for Finding Shortest Dire...
Design and Implementation of Mobile Map Application for Finding Shortest Dire...Design and Implementation of Mobile Map Application for Finding Shortest Dire...
Design and Implementation of Mobile Map Application for Finding Shortest Dire...
 
Node Path Visualizer Using Shortest Path Algorithms
Node Path Visualizer Using Shortest Path AlgorithmsNode Path Visualizer Using Shortest Path Algorithms
Node Path Visualizer Using Shortest Path Algorithms
 
An Introduction to Graph Databases
An Introduction to Graph DatabasesAn Introduction to Graph Databases
An Introduction to Graph Databases
 
Presentation on Breadth First Search (BFS)
Presentation on Breadth First Search (BFS)Presentation on Breadth First Search (BFS)
Presentation on Breadth First Search (BFS)
 
Training at AI Frontiers 2018 - LaiOffer Self-Driving-Car-Lecture 3: Any-Angl...
Training at AI Frontiers 2018 - LaiOffer Self-Driving-Car-Lecture 3: Any-Angl...Training at AI Frontiers 2018 - LaiOffer Self-Driving-Car-Lecture 3: Any-Angl...
Training at AI Frontiers 2018 - LaiOffer Self-Driving-Car-Lecture 3: Any-Angl...
 
artifical intelligence final paper
artifical intelligence final paperartifical intelligence final paper
artifical intelligence final paper
 
Algorithm Design and Complexity - Course 7
Algorithm Design and Complexity - Course 7Algorithm Design and Complexity - Course 7
Algorithm Design and Complexity - Course 7
 
Talk on Graph Theory - I
Talk on Graph Theory - ITalk on Graph Theory - I
Talk on Graph Theory - I
 
Create swath profiles in GRASS GIS
Create swath profiles in GRASS GISCreate swath profiles in GRASS GIS
Create swath profiles in GRASS GIS
 
Graceful labelings
Graceful labelingsGraceful labelings
Graceful labelings
 
Graph Analyses with Python and NetworkX
Graph Analyses with Python and NetworkXGraph Analyses with Python and NetworkX
Graph Analyses with Python and NetworkX
 
Data Structures and Agorithm: DS 21 Graph Theory.pptx
Data Structures and Agorithm: DS 21 Graph Theory.pptxData Structures and Agorithm: DS 21 Graph Theory.pptx
Data Structures and Agorithm: DS 21 Graph Theory.pptx
 
Straight Line Distance Heuristic
Straight Line Distance HeuristicStraight Line Distance Heuristic
Straight Line Distance Heuristic
 
Neo4j MeetUp - Graph Exploration with MetaExp
Neo4j MeetUp - Graph Exploration with MetaExpNeo4j MeetUp - Graph Exploration with MetaExp
Neo4j MeetUp - Graph Exploration with MetaExp
 

Recently uploaded

Overview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismOverview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with Mechanism
DeeptiGupta154
 
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
Nguyen Thanh Tu Collection
 
The Diamond Necklace by Guy De Maupassant.pptx
The Diamond Necklace by Guy De Maupassant.pptxThe Diamond Necklace by Guy De Maupassant.pptx
The Diamond Necklace by Guy De Maupassant.pptx
DhatriParmar
 
Advantages and Disadvantages of CMS from an SEO Perspective
Advantages and Disadvantages of CMS from an SEO PerspectiveAdvantages and Disadvantages of CMS from an SEO Perspective
Advantages and Disadvantages of CMS from an SEO Perspective
Krisztián Száraz
 
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdfUnit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Thiyagu K
 
"Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe..."Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe...
SACHIN R KONDAGURI
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
JosvitaDsouza2
 
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
S1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptxS1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptx
tarandeep35
 
The Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collectionThe Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collection
Israel Genealogy Research Association
 
Normal Labour/ Stages of Labour/ Mechanism of Labour
Normal Labour/ Stages of Labour/ Mechanism of LabourNormal Labour/ Stages of Labour/ Mechanism of Labour
Normal Labour/ Stages of Labour/ Mechanism of Labour
Wasim Ak
 
CACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdfCACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdf
camakaiclarkmusic
 
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
Levi Shapiro
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
Thiyagu K
 
A Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptxA Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptx
thanhdowork
 
Lapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdfLapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdf
Jean Carlos Nunes Paixão
 
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
MysoreMuleSoftMeetup
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
Delapenabediema
 
Pride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School DistrictPride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School District
David Douglas School District
 
Best Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDABest Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDA
deeptiverma2406
 

Recently uploaded (20)

Overview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismOverview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with Mechanism
 
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
 
The Diamond Necklace by Guy De Maupassant.pptx
The Diamond Necklace by Guy De Maupassant.pptxThe Diamond Necklace by Guy De Maupassant.pptx
The Diamond Necklace by Guy De Maupassant.pptx
 
Advantages and Disadvantages of CMS from an SEO Perspective
Advantages and Disadvantages of CMS from an SEO PerspectiveAdvantages and Disadvantages of CMS from an SEO Perspective
Advantages and Disadvantages of CMS from an SEO Perspective
 
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdfUnit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdf
 
"Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe..."Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe...
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
 
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
 
S1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptxS1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptx
 
The Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collectionThe Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collection
 
Normal Labour/ Stages of Labour/ Mechanism of Labour
Normal Labour/ Stages of Labour/ Mechanism of LabourNormal Labour/ Stages of Labour/ Mechanism of Labour
Normal Labour/ Stages of Labour/ Mechanism of Labour
 
CACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdfCACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdf
 
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
 
A Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptxA Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptx
 
Lapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdfLapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdf
 
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
 
Pride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School DistrictPride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School District
 
Best Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDABest Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDA
 

Pathfinding - Part 3: Beyond the basics

  • 1. INTERACTIVE OBJECTS IN GAMING APPLICATIONS Basic principles and practical scenarios in Unity June 2013Stavros Vassos Sapienza University of Rome, DIAG, Italy vassos@dis.uniroma1.it
  • 2. Interactive objects in games 2  Pathfinding  Part 1: A* heuristic search on a grid  Part 2: Examples in Unity  Part 3: Beyond the basics  Action-based decision making  AI Architectures
  • 3. Pathfinding: Beyond the basics 3  Many neat tricks for efficient/nice pathfinding  Alternative game-world representations  Beyond A*  Better heuristics
  • 4. Pathfinding: Beyond the basics 4  Many neat tricks for efficient/nice pathfinding  Alternative game-world representations  Beyond A*  Better heuristics
  • 5. Pathfinding: From grids to graphs 5  A* works the same in a graph as in a grid  Graphs nodes correspond to points in the 2D/3D space  We can still use the same heuristics  Manhattan, Chebyshev, Euclidean
  • 6. Pathfinding: From grids to graphs 6  A* works the same in a graph as in a grid  Graphs nodes correspond to points in the 2D/3D space  We can still use the same heuristics  Manhattan, Chebyshev, Euclidean But we need to generate these graphs in an automated way!
  • 7. Pathfinding: From grids to graphs 7  Many types of graphs have been studied in video- games as well as in robotics  Waypoint graphs  Circle-based waypoint graphs  Visibility graphs  Navigation mesh graphs  Probabilistic road maps  …
  • 8. Pathfinding: From grids to graphs 8  Many types of graphs have been studied in video- games as well as in robotics  Waypoint graphs  Circle-based waypoint graphs  Visibility graphs  Navigation mesh graphs  Probabilistic road maps  …  Nice description on Amit’s A* pages, next
  • 9. Pathfinding: From grids to graphs 9  Visibility graph  Connected obstacle corners  Navmesh graph  Connected walkable areas
  • 10. Pathfinding: From grids to graphs 10  Visibility graph  Connected obstacle corners  Navmesh graph  Connected walkable areas Visibility graph: Often contains too many edges
  • 11. Pathfinding: From grids to graphs 11  Visibility graph  Connected obstacle corners  Navmesh graph  Connected walkable areas Navmesh graph: Several ways to map to a graph
  • 12. Pathfinding: Navmesh graphs 12  Navmesh graph  Area decomposed in polygons  One or more graph nodes per polygon  Polygon center movement  One node at the center of each polygon  Nodes connected if they are in adjacent polygons
  • 13. Pathfinding: Navmesh graphs 13  Navmesh graph  Area decomposed in polygons  One or more graph nodes per polygon  Polygon edge movement  One graph node at the center of each edge between adjacent polygons  Don’t have to go to the center of a polygon
  • 14. Pathfinding: Navmesh graphs 14  Navmesh graph  Area decomposed in polygons  One or more graph nodes per polygon  Polygon vertex movement  Graph nodes and edges at each as the polygons  Helpful for moving around an obstacle, following its edges
  • 15. Pathfinding: Navmesh graphs 15  Navmesh graph  Area decomposed in polygons  One or more graph nodes per polygon  Pick your own hybrid combination!  Here: graph nodes both at nodes of polygons and the middle of edges of polygons
  • 16. Pathfinding: Navmesh graphs 16  Navmesh graph  Widely used in video games!  Supported natively in Unity Pro after version 4  A lot of passionate supporters :)
  • 17. Pathfinding: Navmesh graphs 17  “Fixing pathfinding once and forall” by Paul Tozour (2008) at www.ai-blog.net  Pathfinding on waypoint graphs vs navmesh graphs  1. Some graphs require too many waypoints
  • 18. Pathfinding: Navmesh graphs 18  “Fixing pathfinding once and forall” by Paul Tozour (2008) at www.ai-blog.net  Pathfinding on waypoint graphs vs navmesh graphs  2. More difficult to make “smooth” realistic paths
  • 19. Pathfinding: Navmesh graphs 19  “Fixing pathfinding once and forall” by Paul Tozour (2008) at www.ai-blog.net  Pathfinding on waypoint graphs vs navmesh graphs  3. More difficult to handle dynamic obstacle avoidance
  • 20. Pathfinding: Navmesh graphs 20  “Fixing pathfinding once and forall” by Paul Tozour (2008) at www.ai-blog.net  Pathfinding on waypoint graphs vs navmesh graphs  Other interesting observations in the article
  • 21. Pathfinding: Beyond the basics 21  Many neat tricks for efficient/nice pathfinding  Alternative game-world representations  Beyond A*  Better heuristics
  • 22. Pathfinding: Beyond A* 22  Incremental versions of A*  Real-time/Any-time versions of A*  Hierarchical versions of A*  Any-angle pathfinding  Diverse character pathfinding  Cooperative pathfinding
  • 23. Pathfinding: Beyond A* 23  Incremental versions of A*  Real-time/Any-time versions of A*  Hierarchical versions of A*  Any-angle pathfinding  Diverse character pathfinding  Cooperative pathfinding  Nice article by Alex Nash at AiGameDev.com, next
  • 24. Pathfinding: Beyond A* 24  Any-angle pathfinding  Theta*  Combining visibility graphs and the power of A* on grids  Simple extension based on A*  Here: 8-connected nodes at the corners of each cell
  • 25. Pathfinding: Beyond A* 25  Finding better/nicer paths vs post-processing paths
  • 26. Pathfinding: Beyond A* 26  Finding better/nicer paths vs post-processing paths Manhattan distance heuristic Chebyshev distance heuristic
  • 27. Pathfinding: Beyond A* 27  Finding better/nicer paths vs post-processing paths Manhattan distance heuristic Chebyshev distance heuristic Slower, but easier to improve Faster, but more difficult to improve
  • 28. Pathfinding: Beyond A* 28  Any-angle pathfinding with Theta*  Very similar to A*  Search from the start node  Open list of nodes to visit  Closed list of visited nodes  Expand a node by looking into neighbors  Compute and store f(s’) for each of the neighbors of expanded node s: f(s’) = g(s’) + h(s’)
  • 29. Pathfinding: Beyond A* 29  Any-angle pathfinding with Theta*  Very similar to A*  Search from the start node  Open list of nodes to visit  Closed list of visited nodes  Expand a node by looking into neighbors  Compute and store f(s’) for each of the neighbors of expanded node s: f(s’) = g(s’) + h(s’)  But, do a trick in computing g(s’) and the parent of s’!
  • 30. Pathfinding: Beyond A* 30  Any-angle pathfinding with Theta*  Expand node s  Look into neighbors of s, e.g., node s’  Consider two cases when computing g(s’)
  • 31. Pathfinding: Beyond A* 31  Any-angle pathfinding with Theta*  Expand node s  Look into neighbors of s, e.g., node s’  Consider two cases when computing g(s’) Option 1: g(s’) = g(s) + c(s,s’)
  • 32. Pathfinding: Beyond A* 32  Any-angle pathfinding with Theta*  Expand node s  Look into neighbors of s, e.g., node s’  Consider two cases when computing g(s’) Option 1: g(s’) = g(s) + c(s,s’) Option 2: g(s’) = g(p) + c(p,s’), where p is the parent of s!
  • 33. Pathfinding: Beyond A* 33  Any-angle pathfinding with Theta*  Expand node s  Look into neighbors of s, e.g., node s’  Consider two cases when computing g(s’) Option 1: g(s’) = g(s) + c(s,s’) Option 2: g(s’) = g(p) + c(p,s’), where p is the parent of s! If the Option 2 is better also update the parent!
  • 34. Pathfinding: Beyond A* 34  Any-angle pathfinding with Theta*  Essentially remove unnecessary grid-like steps, using visibility information  Simplifying and smoothing as you go!
  • 35. Pathfinding: Beyond A* 35  Any-angle pathfinding with Theta*  Essentially remove unnecessary grid-like steps, using visibility information  Simplifying and smoothing as you go!
  • 36. Pathfinding: Beyond A* 36  Incremental versions of A*  Real-time/Any-time versions of A*  Hierarchical versions of A*  Any-angle pathfinding  Diverse character pathfinding  Cooperative pathfinding  Nice resources available!
  • 37. Pathfinding: beyond A* 37  AAAI 2008 tutorial on path planning  Part 1: Advances in Path Planning by Sven Koenig  http://webdocs.cs.ualberta.ca/~nathanst/aaai_tut1.pdf  Any-angle pathfinding  Field D*, Theta*  Incremental versions of A*  FSA*, AA*, LPA*, MTAA*, D*Lite  Real-time versions of A*  LRTA*, RTAA*
  • 38. Pathfinding: beyond A* 38  AAAI 2008 tutorial on path planning  Part 2: Abstraction in Pathfinding by Nathan Sturtevant  http://webdocs.cs.ualberta.ca/~nathanst/aaai_tut2.pdf  http://webdocs.cs.ualberta.ca/~nathanst/pathfinding.html  Abstraction for minimizing memory  Used in BioWare’s Dragon Age  Generalized Cooperative pathfinding  CA*, WHCA*, PRA*, CPRA*
  • 39. Pathfinding: beyond A* 39  Beyond A*: Speeding up pathfinding through hierarchical abstraction by Daniel Harabor  http://harablog.files.wordpress.com/2009/06/beyonda star.pdf  Hierarchical pathfinding  HPA*  Dealing with diversity  HAA*  Beyond grids  Probabilistic Road Maps
  • 40. Pathfinding: beyond A* 40  AAAI 2008 tutorial on path planning  Part 3: Map Representations & Geometric Path Planning by Michael Buro  http://webdocs.cs.ualberta.ca/ ~nathanst/aaai_tut3.pdf  Polygon-based  Free space decompositions  TA*: Triangulation A*  TRA*: Triangulation reductions A*
  • 41. Pathfinding: Beyond the basics 41  Many neat tricks for efficient/nice pathfinding  Alternative game-world representations  Beyond A*  Better heuristics
  • 42. Pathfinding: Better heuristics 42  True distance memory based heuristics (TDHs)  Main idea based on precomputing useful information  Store true distance between selected pairs of nodes  Use these to calculate admissible estimates for any pair  Different variations  How to chose the initial pairs to pre-compute  How to calculate heuristic values from pre-computed pairs  Recent IJCAI-09 paper and SOCS-10 paper
  • 43. Pathfinding: Better heuristics 43  Differential heuristic  Pick a set of “canonical” nodes  Compute true distance between every node and the canonical nodes  For dist(a,b) look into all canonical nodes c and take as estimate the max value of |dist(a,c)-dist(b,c)|
  • 44. Pathfinding: Better heuristics 44  Differential heuristic  Pick a set of “canonical” nodes  Compute true distance between every node and the canonical nodes  For dist(a,b) look into all canonical nodes c and take as estimate the max value of |dist(a,c)-dist(b,c)|  Admissible!  Intuition: think of just one canonical state c  dist(a,b)+dist(b,c) has to be greater or equal than dist(a,c) otherwise this would have been stored as a shorter route  The max out of many canonical states is a better lowerbound a b c
  • 45. Pathfinding: Better heuristics 45  Canonical heuristic  Pick a set of “canonical” nodes  Compute true distance between the canonical nodes  Compute true distance between every node and the m closest canonical nodes  For dist(a,b) look into all pairs of m canonical nodes c1 close to a and m canonical nodes c2 close to b, and take as estimate the max value of |dist(c1,c2) - dist(a,c1) - dist(b,c2)|
  • 46. Pathfinding: Better heuristics 46  Border heuristic and portal-based heuristic  Domain is partitioned in regions  Borders between regions  Portals connect regions  Store true distance between pairs of portals  Portal-based search that breaks pathfinding into sub-problems
  • 47. Pathfinding: Compress Path Databases 47  Another neat idea in a recent AIIDE-11 paper  Ultra-Fast Optimal Pathfinding without Runtime Search
  • 48. Pathfinding: Compress Path Databases 48  Another neat idea in a recent AIIDE-11 paper  Ultra-Fast Optimal Pathfinding without Runtime Search  Pre-computing and store all paths!  Compress Path Databases that bring the data to manageable size  Compared to A* runtime speedup reaches two orders of magnitude  It has been tested over maps of Baldur’s Gate
  • 49. Pathfinding: Compress Path Databases 49  “Path coherence”  The shortest paths from a current node to any target in a remote area share a common first move  Think of going from Rome to a destination in any city in western Europe  Most probably all shortest paths from a specific starting point to any of these destinations have to pass through some fixed landmarks, e.g., a major intersection  CPDs store this information for every node in the graph
  • 50. Pathfinding: Compress Path Databases 50  CPDs compress this information for every node in the graph using boxes of destinations that can be “directed” in the same way 1. Starting from here 2. Going to here
  • 51. Pathfinding: Compress Path Databases 51  CPDs compress this information for every node in the graph using boxes of destinations that can be “directed” in the same way 1. Starting from here 2. Going to here 3. You need to go NE!
  • 52. Pathfinding: Compress Path Databases 52  CPDs compress this information for every node in the graph using boxes of destinations that can be “directed” in the same way  One starting node  For all possible destinations  Compute the next move that you needs to be performed  Make this map  Store it by compressing regions