Menu

Pathfinding API v0.1 released

PF API Version 0.1 is released. Please view the homepage for documentation info and screenshots.
Goals stated on 2004-07-23 16:29:
1) Allow using a breadth first search for finding paths - Done
2) Make integration with any collision detection and/or physics system easy -
The class used for simple obstacle detection and avoidance in this library is CD::Volume. This is a rudimentary class and should not require much work to allow other collision volume classes to directly replace, inherit from, or wrap it.
3) a) Allow pathfinding calls to run on their own threads - Done
b) Balance their implementation for efficiency and memory usage -
Done, no significant loss of framerate during pathfinding and very little RAM is used.
c) Balance their implementation for robustness (for usage in many types of games) and scalability (for handling large, complex paths) -
NOT done, paths can currently contain a maximum of 19 steps (directions) do to their storage in a 64-bit integer in the BFS queue. The manager class tries to be as game agnostic as possible and limits the interface while allowing for a diversity of pathfinding algorithms, so the robustness goal has been reached.
d) Allow for the easy inclusion of future features -
Unknown, no plugin ability exists and its necessity has not be determined. At the very least, the current design makes hardcoding new pathfinding algorithms (e.g. A*) easier.
4) Give the library the advantages of a black box approach, yet still allowing for benefits inherent in a tightly integrated AI engine. This means that while this library could be used on its own without difficulty, hooks will be added to this and other libraries on this site to allow them to function together fluidly (e.g. the finite state machine library will be aware of and can make calls to the pathfinding library with little to no coding necessary from the end developer) -
Not done. The black box goal has been reached in that this library depends on no 3rd party code and can be inserted into any game and manipulated through a simple, single interface. However, no integration with other libraries from OpenSkyNet has begun.

Posted by Dylan Blair 2004-09-27

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.