PathFinding 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:

How to get from A to B

How to get around obstacles in the way

How to find the shortest possible path

How to find the path quickly
Some pathfinding 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.
