A* is an algorithm for finding the shortest path between two points. It is very useful in game development. Any tile-based game that requires this kind of movement will probably utilize some form of A*. Tower Defense games, City Building games, Rogue-Likes, the list goes on.Thus EasyStar.js is a simple A* API written in Javascript.
Features:
The ability to spread out your calculations over multiple calls. EasyStar.js lets you specify how many calculations should be performed each call.
The ability to add separate points to avoid, outside of those that are avoided based on tile type.
The ability to specify which tile types are walkable, and which are unwalkable.
EasyStar calls a callback if it finds your path, or if there is no possible path.