Ye Olde A* Algorithm

100th time's the charm

If ever there was a proof that you can always improve a system after rewriting it, I have written what has to be my 1,000th implementation of A*, and I have to admit, it's one of my favorites.

Not because the implementation is particluarly different on a whole, but I was able to refactor it to make it a little more general, adding more configuration options (like ordinal vs cardinal naviagation) as well as of course, configurable heuristic scoring. The pièce de résistance are the debugging tools that are easily disabled for production (or when not debugging) and some performance tweaks over an earlier iteration (including multithreading support.)

It's still a far cry from something lovingly crafted for years by a professional but it's certainly my favorite open source Unity3d implementation* - and it's good to go for game jams.

* Disclaimer - I only looked for about 2 minutes.

I'll post more in the future, as well as links to the code as soon as I clean it up and do a little more testing.