libpathfinder

by Kuraudo
A small pathfinding library for your game. [More]
To download this library for your Linux/Mac installation, enter this on your command line:

DreamDownload byond://Kuraudo.libpathfinder##version=4

Emulator users, in the BYOND pager go to File | Open Location and enter this URL:

byond://Kuraudo.libpathfinder##version=4

308 downloads
Version 0.3
Date added: Sep 10 2009
Last updated: Feb 27 2010
2 fans
This is a small pathfinding library, based on Theodis.Pathfinder, under what I believe to be a better/more elegant design. It currently supports the A* pathfinding algorithm and may be updated in the future to include more.

- Update 02/27/2010:
*** This version should perform better than previous versions (my tests showed on average roughly a 60% speed-up).
*** Backwards-compatibility is broken. I've removed the path var from /pathfinder; thus, New() can no longer be used to calculate paths. See the bottom of notes.dm for more information regarding this.

Comments

Metamorphman: (Feb 28 2010, 12:14 am)
I love this new update! The new speed boost is great!
When I get to somewhere I can use paypal, I'm going to donate to you for sure. :)
Kuraudo: (Feb 27 2010, 3:30 pm)
Metamorphman wrote:
I really love this library and I use it in many projects.

Thanks! I'm releasing an update tonight that will break backwards-compatibility with it. If you update your library, you're going to need to update a few things:
- /pathfinder no longer has a path var; thus New() can no longer be used to calculate the path. search() must be used explicitly.
- search() returns the path directly, or null if no path was found. Previously, it returned TRUE or FALSE.

When do you plan on implementing something else, like Dijkstra?

If nothing's wrong with the update I release tonight and assuming any motivation for it, hopefully my next update will include a little bit of Dijkstra. If all goes well, maybe by the end of the weekend? :)
Metamorphman: (Feb 27 2010, 7:23 am)
I really love this library and I use it in many projects.
When do you plan on implementing something else, like Dijkstra?