Is there a framework or a simulator for implementing and profiling AI path finding algorithms?

Started by
8 comments, last by AmitOfer 11 years, 9 months ago
Hi, I was wondering if there's a framework that you can use to test existing path finding algorithms and implement your own algorithms and have them measured for efficiency/see the returned paths.
I'm especially interested in something that can test multi-agent algorithms (for example multi-agent A* or Cooperative A*).

I'll try to be a bit clearer in case I was being to abstract.
such an application would require me to implement a certain interface for returning the list of nodes and maybe send events in order to display the progress of the algorithm interactively.
then the framework will be able to run my code, display the result (for example, show the path or display an animation of the moving units) and measure the time that it took the algorithm to run and how much memory it used.

Do you know of anything that might be similar to what I'm talking about?

Thanks,
Amit Ofer
Advertisement
I'm not aware of any existing tools like this that are publicly available, but you should be able to roll your own in a few hours if you're comfortable with any existing 2D graphics library and basic UI implementation.

Wielder of the Sacred Wands
[Work - ArenaNet] [Epoch Language] [Scribblings]

The reason I'm asking this is because I created such a tool a year ago as my 4th year university project.
It was implemented in java and had 3 different algorithms.
I thought the idea was kinda cool but when I look at it now (especially with 1 year in the software industry) the UI can be improved for better usability and there are some features that its missing and the code could be improved.

I thought about taking this project and re-implementing it, not necessarily in java.
I wanted to know if this is something that might be useful to others.
The plan was to do it as an open source project and to make the framework as easy to use as possible for algorithm developers to implement an algorithm and watch the results and see the performance on pre loaded maps.
my original project used grid maps, I thought about adding geographic maps (which was one of the original goals of the project that we eventually had to omit)
so what do you guys think?
Sounds like it'd be a cool project. I say go for it.

Wielder of the Sacred Wands
[Work - ArenaNet] [Epoch Language] [Scribblings]

what do you think would be the best programming language for implementing the algorithms.
I thought about maybe instead of java, add support for LUA for example.
And do you think it something worth putting on my portfolio when applying to a game programming job?
I don't really think the implementation language is all that interesting, honestly. What you'll care about in such a demo is twofold: first, you want to know how the various algorithms behave; and second, you want to know how they compare. Everyone will have a preference on what language they want to write their code in, so IMHO you're best off just picking one and going with it. If you're interested in a challenge, definitely see if you can hook up something like Python or Lua to your tool. That'll definitely be a good experience.

If you do a good job and publish solid open-source code, you should definitely put it on your portfolio :-)

Wielder of the Sacred Wands
[Work - ArenaNet] [Epoch Language] [Scribblings]

ok, thanks.
Is this a good place to upload my project to get critics.
I wanna show the current version that I made a year ago in order to understand what I should do better in the new version.
Good a place as any! :-)

Wielder of the Sacred Wands
[Work - ArenaNet] [Epoch Language] [Scribblings]

I implemented something like this for my algorithms class concerning path finding earlier this year, completely done in C#, I'm sure it still needs a lot of work, on both the UI side as well as with the implementation details of the algorithms, I got it working pretty well with 150 000 nodes in a square grid and in a hexagonal grid, had a pretty fun time doing it :).

Capturethumb.jpg
OK, this is the project at its current version.
I think its a bit broken at this stage, I noticed a scenario in one of the algorithms when the two vehicles collide so one of the algorithms might be buggy.
But the point is actually the environment and not eh specific algorithm.
I know the UI is shitty, but in my defense I was in charge of the framework and algorithms, my partner did the UI smile.png
I provided a user manual, it might help if the UI isn't clear enough.
There's also a problem with the color configuration file, it has to be inside \jar-location\src\resources\ in order to work (otherwise you won't get colors for the car icons).

Anyway any comments and critics about this applications, from UI to features would be highly appreciated.
I intend to rewrite most of the code here if not all of it.

Thanks in advance

Amit

This topic is closed to new replies.

Advertisement