I have fully implemented AStar in games twice now and I'd say avoid it if you can. Your brain will thank you. If not let me sum up the steps:
1. Over your domain add points using add_point
. If it's a grid you can imagine how you'd loop through each point on the grid. You'll also need to consider where the points are on these tiles? In the middle? Each corner?
2. Next you need to connect all those points which is another tricky task. Sure you just want to connect each point to the ones next to it, but how do you know which points are near it, and how are you going to avoid connecting two points twice? The way I did this is just start at the bottom left corner and connect up, right, up and left, and up right, letting connections be two way. You need to be able to find those points. This is tricky because the sides of the grid are going to have exceptions.
if(!rightSidePoint):
connect_points(i, i+1, true) # Connect right
if(!topSidePoint):
connect_points(i, i + gridwitdth + 1, true) # Connect above
if(!leftSidePoint):
connect_points(i, i + gridwidth , true) # Connect up & left
if(!rightSidePoint):
connect_points(i, i + gridwidth + 2, true) # connect up & right
Then you're done, hurray! You can ask your Astar for paths between points. Note also you can give points weights. If there's water or something they might want to avoid you can give it a higher weight.
I have used this to compute statistics on terrain, but I have not used this to actually move characters but I'm planning to, so if you (or anyone else) has some info on how to smooth movement on a path I'd appreciate it.