Path-Finding Basics

Path finding can be reduced to answering the question, "How do I get from point A to point B?" Generally, the path from a ninja (or, in this case, a bot) to another location could potentially have several different solutions, but ideally, you want a solution that solves these goals:

  1. How to get from A to B
  2. How to get around obstacles in the way
  3. How to find the shortest possible path
  4. How to find the path quickly

Some path-finding algorithms solve none of these problems, and some solve all of them. And in some cases, no algorithm could solve any of them-for example, point A could be on an island completely isolated from point B, so no solution would exist.