In this chapter, we will cover the following recipes:
Representing the world with grids
Representing the world with Dirichlet domains
Representing the world with points of visibility
Representing the world with a self-made navigation mesh
Finding your way out of a maze with DFS
Finding the shortest path in a grid with BFS
Finding the shortest path with Dijkstra
Finding the best-promising path with A*
Improving A* for memory: IDA*
Planning navigation in several frames: time-sliced search
Smoothing a path