Pathfinding DLL
Blitz3D Forums/Blitz3D Userlibs/Pathfinding DLL
| ||
Hey Guys, I'm working on an open-source AI Pathfinding DLL. The only thing I'm not too sure on is how to create a bank and use poke/peek commands with it in C++. Could ya'll post some examples please? p.s I already tried to Google it for thirty minuits. |
| ||
..thats very very good idea...what commands will be included in to DLL?? |
| ||
Good idea. There is a tuto and a Blitz3d ( C++ too ) example here : http://www.policyalmanac.org/games/aStarTutorial.htm .A good option, the C example > Dll ;-) JP PS : http://www.policyalmanac.org/games/AStar.zip |
| ||
Great idea! A* for single object and groups will be good. |
| ||
Tanks ZJP :D what commands will be included in the DLL? Hmmmm.......I don't have alot yet, I'm still planning it out. Here is a list of prototypes. BBDECL int BBCALL CreatePath(const char *Name, int Waypoints); //creates a path BBDECL const char * BBCALL GetPathName(int Index); //returns the path name of the entered index BBDECL int BBCALL FindNearestWaypoint(char *Path, float x, float y, float z); //returns the index of the nearest waypoint in the desired path BBDECL int BBCALL SetWaypointPos(char *Path, int WP_Index, float x, float y, float z); //sets the position of desired waypoint in desired path Sudjestions welcome. |
| ||
Hmmm.....A* appears to be a "2D" pathfinding system. Maybe I should make a 2D lib intead of a 3D. Hmmm......just ignore my previous post (just the function prototypes, not the part where I thank people). Ok. It's been decided.................................I'll make a DLL for A* |
| ||
..I thought it is pathfinding for 3D what will be great stuff...eehh |
| ||
I guess you're right, but I'm going to start with 2D for I'm new to programming AI. |
| ||
Hmmm.....A* appears to be a "2D" pathfinding system. Maybe I should make a 2D lib intead of a 3D. Hmmm......just ignore my previous post (just the function prototypes, not the part where I thank people). Ok. It's been decided.................................I'll make a DLL for A* As long as you use nodes instead of a grid, A* can be used for everything. It's just that most of the examples use a grid, where basically each cell is a node with eight links... |
| ||
Thanks Doiron, but I'll still start with 2D. |
| ||
You are wrong Gizy. With the right implementation, A* can work well in 3D, you simply need to have a 3D grid instead of a 2D grid and allow the pathfinder to iterate through the nearest nodes towards the objective point. |
| ||
Yes, A* is right for 3d too. |
| ||
Ok. But I still want to start with 2D. Once I get that down, I will make a 3D one. |
| ||
ok. but where is the lib? |
| ||
Sorry guys. This thread was a failed attempt. It was way over my head at the time. I didn't have enough experience. I should have let you all know sooner. My apologies to everyone :( |
| ||
Another idea is to set a the path algorithm. A*, Dijkstra, ... examble Algo parameter where algo is a domain 0 = A* 1 = Dijkstra 2 = .. 3 = .. BBDECL int BBCALL CreatePath(const char *Name, int Waypoints, in Algo ) |