Most games being shipped today use some form of high-level abstraction such as a navmesh or waypoint graph for path planning. These structures can generally be represented in a form which is compact enough to meet the tight memory constraints in a game. But, when such a graph grows too large, finding paths can still be a complex task. This challenge was faced in Dragon Age: Origins and solved by adding an additional level of abstraction. In the last few years a variety of novel approaches have been developed for finding optimal paths through graphs with specific design applications for road networks. Currently these techniques cannot be feasibly applied to the lowest detail of movement possible in a game map, but can be applied to the high-level abstractions which are commonly found in games. In this paper we describe the pathfinding challenge faced before shipping the title Dragon Age: Origins and perform a postmortem analysis on the extended abstraction that was used in comparison to building more advanced heuristics or the use of contraction hierarchies. We show that contraction hierarchies and abstractions have similar overhead and performance and are both useful approaches for high-level planning in games.
[1]
Peter Sanders,et al.
Dynamic Highway-Node Routing
,
2007,
WEA.
[2]
Adi Botea,et al.
Near Optimal Hierarchical Path-Finding
,
2004,
J. Game Dev..
[3]
Peter Sanders,et al.
Engineering Route Planning Algorithms
,
2009,
Algorithmics of Large and Complex Networks.
[4]
Nathan R. Sturtevant,et al.
Memory-Efficient Abstractions for Pathfinding
,
2007,
AIIDE.
[5]
Nathan R. Sturtevant,et al.
An Analysis of Map-Based Abstraction and Refinement
,
2007,
SARA.
[6]
Nathan R. Sturtevant.
Optimizing Motion-Constrained Pathfinding
,
2009,
AIIDE.
[7]
Peter Sanders,et al.
Contraction Hierarchies: Faster and Simpler Hierarchical Routing in Road Networks
,
2008,
WEA.
[8]
Jonathan Schaeffer,et al.
Pattern Databases
,
1998,
Comput. Intell..
[9]
Peter Sanders,et al.
Mobile Route Planning
,
2008,
ESA.
[10]
Nathan R. Sturtevant,et al.
Memory-Based Heuristics for Explicit State Spaces
,
2009,
IJCAI.
[11]
Andrew V. Goldberg,et al.
Computing the shortest path: A search meets graph theory
,
2005,
SODA '05.