Monday, February 16, 2009

Who uses the A* code

I often wonder who uses the A* code. Sometimes people write to me to tell me they've used the code in their University assignments or just for fun, but has anyone used this in a project that I don't know about?

My A* algorithm on google code

During my time at Activision I worked on a code base that included some code from their game Gun, and was happy to find my code, verbatim included there too!

Also, today, I downloaded a 2d game prototyping engine called Angel, from some EA guys. When I looked at how their path finding worked, I was surprised to see my code in there too!

http://code.google.com/p/angel-engine/

It's cool that people are using this code. If you do use it in some commercial or interesting project, please let me know. A credit or thank you in your product would be nice too!

16 comments:

Xw.Y said...

I am a reader of this blog, I found here when I search some emacs related stuff. Surprisingly, you are an AI guy, so am I. although I haven't use your code, I'd like to say hello, and I will try the code if there is a chance :-)

Justin said...

Pleased to meet you Xw.Y

sjml said...

Hi Justin! I'm one of the devs behind Angel. Glad to know that you're cool with us using your A* code! :-)

Let me know if you play around with Angel anymore or if you have any thoughts/feedback about it!

Justin said...

Hi sjml

I've got some time on my hands and I've been stepping through the engine. Seems pretty nice so far but I've not done anything with it yet.

Unknown said...

Hi Justin. I found your code when looking for a quick A* algorithm for a robotics motion planning problem I worked on briefly last year. You can find the results here: http://smc-it.org/abstracts-contri_papers/72.pdf

Thank you for making life easier!

displayname said...

hey justin,
I've been trying to develop an algorithm to make a stepper motor move over a orthogonal matrix with movements (as many as possible) in the positive OX and OY direction,I think it is possible by A star algorithm but am unable to find any way of doing it.can you help me out?

corremn said...

Justin, I am a hobby roguelike developer, I found your code a long time ago and use it in all my projects. Thanks a lot.

Anonymous said...
This comment has been removed by a blog administrator.
Come again ? said...

i would use your code for my own game programming projects, nothing commercial, just a hobbyist game programmer :)

Benediction said...

Hi,

tested your code on a graph with >80000 nodes and >300000 edges.
Due to linear searching the open and especially closed lists, the algorithm will take up to 10 seconds for finding a path between two nodes being far away frome each other.

A replacement of the linear search by a logarithmic one (via map/set container) resulted in finding a solution in ~100ms even for bigger graphs and more complex paths.

Benediction said...

Forgot to mention, that I'm currently using the modified version now in some of my projects for pathfinding purposes. One of it may become a commercial one sooner or later ;)

Thanks for making your great code publically available. It's by far the nicest and easiest to understand that can be found in the net.

Justin said...

@Tristan glad you found it useful, interesting project!

@Benediction

It's been a while but I thought I was using a logarithmic algorithm (heap based priority queue) for the open list search. The closed list search is linear though. Are your map searches on the lists applicable to every problem domain or specific for your own?

Unknown said...

I found this on internet, and is the easiest A* code to implement, and it works very well for what Im doing, Im trying to do a Tile Base rpg, just for fun, (I am kind of new on programing so is not the best game). Thank you a lot, right now, I would not be using this for commercial purposes(maybe in a few years :)). again thanks.(sorry for my english)

Unknown said...
This comment has been removed by the author.
Unknown said...

I've been attempting to get this up and running in my current project but I'm having trouble implementing the AStarState abstract functions to suit a navigation mesh. Could you offer any advice? Cheers.

2016 Release Date Car said...

Great, now i know what can i do for my code troubles, thanks.

See news and release date car here :

2016 Infiniti Q60 Coupe Concept Release Date
2016 Dodge Charger Rumors Release Date
2016 Ford Escape Rumors Redesign Release Date