Page 1 of 1

miNav AI Pathfinding Library - Version 0.1

Posted: Fri Jan 25, 2008 4:51 am
by aussiedude
Hi everyone!

Recently I made this AI Pathfinding Library to submit in a portfolio to try and get into University based on my programming skill and not my high school marks. I assume that this library must have been pretty good because it worked and now I'm a uni student! :D (still really happy about that).

I decided that the next best thing to do now was to release the library. I've released it under the MIT license (aka do-whatever-ya-want-just-don't-claim-you-made-it license).

You can download the library here: http://www.mindinsomnia.com/Gallery/Pro ... av-0.1.zip
I also made a quick tutorial (threw it together in about a day) on how to use the library, which can be found here: http://www.mindinsomnia.com/tutorials/miNav/

If you have any questions/suggestions/bugs-reports concerning the library just let me know.

As I say on my website, if people like this and think it deserves improvements then I'll release an updated version with more features (if you got any ideas on what could be added post them and I'll take them into consideration when I'm making the update).

PS: I just learnt that there is another AI Pathfinding Project called IrrAI. This project is not meant to directly compete with it, it's a very different AI Pathfinding Library. It uses a different algorithm, is all preprocessed (not realtime) and is very generic so it can be used with absolutely anything. If you want to use AI pathfinding for your Irrlicht project, your probably better off going with IrrAI.

Posted: Fri Jan 25, 2008 5:54 am
by BlindSide
*Waves from across the Tasman*

Thats an awesome Supra model, are you thinking of giving it away anytime soon? :D

Posted: Fri Jan 25, 2008 6:08 am
by aussiedude
Thats an awesome Supra model, are you thinking of giving it away anytime soon? :D


Maaaybe 8) Still tossing that one around in my head, should I sell it or just make it public domain.

Posted: Fri Jan 25, 2008 6:36 am
by FuzzYspo0N
public domain, OF course. :) (tho i dont need it)

Good looking work man, well made

Posted: Fri Jan 25, 2008 12:37 pm
by sp00n
good, simply waypoint system:)
about large maps it's simply too - just differentiate one small map represents all world to many smaller and smaller and check if the traveller being cituated in the part (for example 10 nodes by one part) and check smaller map assosiated with it and so on...

sorry for the bad english:)

Great work! Good luck :)

Posted: Fri Jan 25, 2008 2:33 pm
by aussiedude
sp00n wrote:good, simply waypoint system:)
about large maps it's simply too - just differentiate one small map represents all world to many smaller and smaller and check if the traveller being cituated in the part (for example 10 nodes by one part) and check smaller map assosiated with it and so on...

sorry for the bad english:)

Great work! Good luck :)
haha, dam you beat me to it, I was about to add that to the tutorial. :lol: OH well credit to you to thinking of it first. Many thanks for positive comment, hopefully it might encourage others to give feedback too.

Posted: Fri Jan 25, 2008 2:49 pm
by sp00n
heh, realy it isn't my idea, it's just an old trick used for the many algorithms (espessialy in the old strategy/rpg games, on the net are many useful manuals about using this algorithm)

[offtop] i remembered that at the far 1996 year i'd use it for the labirinth-task at the school-competition :)

p.s. yeah, yeah, please include it solution in the manual :)

Posted: Fri Jan 25, 2008 9:49 pm
by Halifax
Great, work. Obviously it must be good if it got you into college.

Sorry to be the devil's advocate, but I have to say I would like to see this become merged with irrAI, instead of a seperate library. :/

Posted: Sat Jan 26, 2008 5:36 am
by aussiedude
Great, work. Obviously it must be good if it got you into college.

Sorry to be the devil's advocate, but I have to say I would like to see this become merged with irrAI, instead of a seperate library. :/
I've offered to JP to help with coding irrAI and let him know that he can use any and all of the code in my library. So parts of miNav may be merged into irrAI soon.

irrAI is more focused on being an AI library for Irrlicht, whereas my library is more of a generic all-purpose AI pathfinding library. But like I said, if any part of it any be added to irrAI to improve it I'll be happy to help do that. I'm actually currently going over the source code of irrAI, trying to get my head around it, let you all know if I come up with something I can add. :wink:

Posted: Sat Jan 26, 2008 8:38 am
by sp00n
Did you here about "graph theory"?
I'm asking, 'cause you're realised a graph inside your algorithm. And you can include to it an "optimal path", "loop-free graph" etc.

it'll be really nice if this pathfinding will be include in the IrrAI, hmm, named for example "IWaypoint" system ;)

Posted: Sat Jan 26, 2008 11:49 am
by aussiedude
sp00n wrote:Did you here about "graph theory"?
I'm asking, 'cause you're realised a graph inside your algorithm. And you can include to it an "optimal path", "loop-free graph" etc.

it'll be really nice if this pathfinding will be include in the IrrAI, hmm, named for example "IWaypoint" system ;)
This will probably make me look real dumb (and will be weird since I don't know this and yet I wrote the graph data structure in my library). But what exactly is a optimal path and loop-free graph? :oops:

EDIT: To give you all an idea of just how much I'm still just a beginner, before I made this library about 2 months ago, I hadn't used graph data structures... linked lists... hell this library is the first thing I've done in C++ that uses classes!! Before this I was doing simple iostream apps. I went from that level of programming to this VERY quickly BUT i missed a lot of stuff in the process I think.