Introduction to A*
(author here)<p>I wrote most of these notes in 1997 while working on a game. Little did I realize that it'd be one of my most popular web pages.<p>The diagrams are colorful but I don't like them (<a href="http://simblob.blogspot.com/2013/12/diagrams-on-my-pathfinding-pages.html" rel="nofollow">http://simblob.blogspot.com/2013/12/diagrams-on-my-pathfindi...</a>) so I'm now making new interactive diagrams, starting with breadth first search (<a href="http://www.redblobgames.com/pathfinding/tower-defense/" rel="nofollow">http://www.redblobgames.com/pathfinding/tower-defense/</a>). While writing that page, I realized that I need to explain graphs (<a href="http://www.redblobgames.com/pathfinding/grids/graphs.html" rel="nofollow">http://www.redblobgames.com/pathfinding/grids/graphs.html</a>) (many game developers don't know graph theory) and suggest optimizations for grids (<a href="http://www.redblobgames.com/pathfinding/grids/algorithms.html" rel="nofollow">http://www.redblobgames.com/pathfinding/grids/algorithms.htm...</a>) (a common use case, with interesting variants of A* like Jump Point Search).<p>I'm also unhappy with the overall structure and navigation so I have a rough plan for how to organize the new pages (<a href="https://twitter.com/redblobgames/status/410182845777195008/photo/1" rel="nofollow">https://twitter.com/redblobgames/status/410182845777195008/p...</a>). I'm taking it one page at a time instead of trying to do it all at once. Feedback appreciated!