Dijkstra's algorithm calculates the shortest path to all nodes
in a graph that are reachable from the starting position. For
your average modern game, that would be both unnecessary and
incredibly expensive. You make a distinction between 2D and 3D,
but it's worth noting that for any graph-based algorithm, the
number of dimensions of your search space doesn't make a
difference. The web page you linked to discusses waypoint graphs
and navigation meshes; both are graph-based and could in
principle work in any number of dimensions. Although there are
no "distinct square spaces to move to", there are discrete
"slots" in the space that the AI can move to and which have been
carefully layed out by the game designers. Concluding, A* is
actually THE algorithm to use in 3D games just as much as in 2D
games. Let's see how A* works: - At the start, you know the
coordinates of your current position and your target position.
You make an optimistic estimate of the distance to your
destination, for example the length of the