Transcript Pathfinding

Pathfinding
Extensions: Terrain Cost, Influence Mapping
Extending Pathfinding
 Standard pathfinding algorithms (A*, Dijkstra, etc.) can be
extended to simulate intelligent environments
 Terrain costing
 Influence mapping
 A* pathfinding also have many interesting variants
 Iterative deepening (IDA*)
 Dynamic A*
 Jump point search – Rectangular Symmetry Reduction
(Harabor, 2011)
Realistic?
 Standard A* algorithm determines path cost based on
distance travelled
 However, for realistic worlds, the shortest possible path is
NOT always the fastest path!
Terrain types can contribute to the differences in selection of
best path
 In our initial examples of A* algorithm, there is terrain
cost… but that cost is uniform, because all the terrain are
the same!
Terrain Cost
 There is no reason why we can’t assign different cost values
to different nodes
 Remember how to calculate the total cost in the original
algorithm?
f(n) = g(n) + h(n)
 How do we factor in the terrain cost into this formula?
Suggestions?
A* Algorithm – Terrain Cost
 Using the previous example of the spider and man…but with
added terrain tiles.
A* Algorithm – Terrain Cost
 A* Algorithm always searches for the path with the lowest
total cost, so your design of the formula is crucial!
 Now, let’s examine the original path over the new “terrainized” map…
A* Algorithm – Terrain Cost
 Re-calculating the path using the terrain costs…
A* Algorithm – Terrain Cost
 We now get a slightly different lowest-cost path that “looks”
longer…
A* Algorithm – Terrain Cost
 For the sake of realistic implementation, the speed of the
character over higher-cost terrains should be slower (by
about the same factor used for the path terrain cost)
 This is so that the character does not appear to take an even
longer time to traverse the new lowest-cost path!
A* Algorithm – Terrain Cost
 Terrain cost is also useful in CE
 In TBE, all nodes are equidistant (assuming that every tile is
represented by a node), but in CE, nodes can be situated at
different distances from one another
 Although the varying distances
have already different costs, terrain
costs can also be incorporated
 It is possible to think of cost as other
types of resources such as money,
fuel, etc.
Dynamic Path Costs?
 Terrain cost is usually something programmers hardcode or
pre-determine in the game world
 However, other kinds of elements can influence path cost
 For e.g. Nodes that pass through the line of sight of any
enemy might present a higher cost. We cannot build this cost
into the game level since the position of the game characters
can change!
 What other possible scenarios where path cost can
dynamically change throughout the game?
Influence Mapping
 Influence mapping is a way to vary the cost of the nodes
depending on what happens during the game (dynamic)
Influence Mapping
 The position and orientation of the tank below influences the
“danger cost” of taking a certain path.
 Observe how the danger costs
are assigned to the nodes near
the tank’s line of fire.
 Building the best path will
result in the character taking
a longer, slower and less
dangerous path
 This influence map changes
dynamically when the tank
eventually moves or turns.
Influence Mapping
 You can use influence mapping in many creative ways to
make your characters seem smart.
 E.g. Record individual game incidents in an influence map.
There might be locations in map that:
 The human player repeatedly ambushes or kills NPCs at a
certain doorway. That doorway might increase in cost in future
rounds, allowing the NPC to build alternative paths if possible.
 It appears that the NPCs are learning from their past mistakes!
Influence Mapping
 Influence map using number of kills that occur in the map.
“Danger spots” are being identified by adding these danger
costs to future path calculations.
Influence Mapping in RTS
 In RTS, influence maps can be built for base turrets/towers/
defensive structures
 We can imagine them as having a “radius” of influence.
Realistically, the influence should be taken to drop off with
distance
Linear Influence Model
 We can use a simple linear drop off to model this
I0
Id 
1 d
I0 is the influence at distance 0
X
d
Limited radius of influence
 Many units with a million locations in the world map
 Huge calculation task!
 Limited radius of influence : to constrain the effect
of influence to a certain radius. Beyond this max radius,
unit cannot exert influence, no matter how weak
r
Limited radius of influence
 If we use a linear drop off formula for influence, and we
have a threshold influence, It then the radius of influence
I0
r
It 1
r
Limited radius of influence
 Disadvantage: Small
influences do not add up
over large distances
 E.g. The zone in front of
the 3 turrets is potentially
dangerous, however the
location just outside all
three have 0 influence!
 Actual influence effect of
all 3 turrets should be the
blue circle instead
Overlapping influences
 Overlapping influences (from more than one unit)
should be totaled up. Here’s an example influence map
Influence Mapping in RTS
 In RTS, influence mapping can also be used for other
tactical/strategic purposes
 Tactical analysis – dealing with known and unknown base
influences (“Fog-of-war”)
Influence Mapping in RTS
 Multi-layer tactical information – combining multiple influence
maps to make decisions (e.g. using security, visibility and
proximity factors to decide where to place new towers)