I. Introduction
In many virtual environments, paths have to be planned for entities to traverse from a start to a goal position in the virtual world. A common way to plan the path is to use an algorithm on a (low-resolution) grid. This search algorithm is popular because it always finds a shortest path in the roadmap if one exists. However, as contemporary virtual worlds can be very large, storing the grid and running the algorithm may consume a huge amount of memory which is not always available, in particular on systems with constrained memory such as console systems. In addition, the algorithm may consume too much processor time, especially when many paths have to be planned simultaneously. This will lead to stalls in interactive applications. Paths resulting from algorithms tend to have little clearance and can be aesthetically unpleasant, so care must be taken to smooth them.