I have been messing around with my Nintendo DS again and trying to write some simple programs. Hello World that can be dragged and dropped on the screen somewhere is as far as I have advanced.

I have been learning the A* algorithm however. I have implemented it in Java and now I am working on C/C++ versions. I think I will also try to do a demo version in javascript to what how it works visually.

What Is A*

It is a shortest path algorithm. It tries to find the shortest path it will take for something to go from point A to point B while taking into consideration obstacles and such.

It takes a little bit to wrap your head around the first time and then it makes perfect sense how it is working.

I won’t try to explain it myself, since there are a few sites that already do it well enough. My main reference was A* Pathfinding for Beginners. I read on another site that they criticize this tutorial because it says you have to use a closed list and you don’t. I still found it to be one of the easier descriptions though.

I recommend implementing it in the language of your choice once and then tweaking it after that. I also recommend reading the A* Search Algorithm Wikipedia article.

I hope to post some more examples in the near future.