Intense Pathfinding 3

Posted By: LarryLaffer

Intense Pathfinding 3 - 01/26/10 17:03

Hi everyone,

I'm happy to announce yet another Intense Illusions release. Intense Pathfinding 3 is out and it's totally free. For 4 years now I've been struggling with a nice plug-n-play pathfinding solution for gamestudio. Although pathfinding is a standard feature in many engines and it's now considered a 'solved' problem in the game industry, gamestudio has always been lacking in that area and posts asking for pathfinding always pop-up in the forums.

Pathfinding is not as easy as some people may think. There's more to it than a simple search-algorithm which can be found in wikipedia and takes no more than 10 lines of code. There's the graph generator, dynamic obstacle avoidance (avoiding moving objects), 3d level support (stairs, slopes, multi-store buildings), accounting for the actor's size, and so much more. For example, most pathfinding solutions I've seen here before rely on a single c_trace to determine if an actor can walk between two waypoints (nodes) which can produce false positives or false negatives. If there's LOS (successful c_trace) there still might be a gap on the floor which would prevent an actor from walking across (unless he can fly) and if there's no LOS the obstacle that blocks the c_trace may still have been climbable (a small lump of terrain) actually allowing the actor to walk across.

I think the reason that pathfinding tools have not been very successful for gamestudio in the past (including my tools, IP1 and IP2) is the fact that middleware is really really hard to get right. Take I.P.3 for instance. Some people use blocks while others use model-only levels and others use terrain or a mix of all three. Some put the origin point of their models at the waist while others position it on the feet. Some scale their worlds at 30 quants per meter and others use 90. Some use vertex animations and others use bones. Middleware needs to interface with many aspects of the project that is being installed to, and that is generally a pain in the butt. Also, most programmers cringe to the idea of having to use code written by strangers on their own projects since it's harder to understand and debug than their own code.

With Intense Pathfinding 3 I hope to have ironed out every single one of these problems. As I've mentioned IP3 is freeware so I don't get much out of doing this. It all started 4 years ago when I released my first pathfinding code snippet only to get feedback about it not working with this case and that. So it sort of became a challenge for me to make a tool that will work for any gamestudio project and be flexible enough to fit all game genres. I wanted it to be so good that no other pathfinding tool would need to exist (not that there is any, but there used to be a couple a few years back) and people wouldn't have a reason to make their own pathfinding, except for the purpose of learning. So, as my personal vanity project I wanted to make Intense Pathfinding some sort of a de facto plugin for all pathfinding purposes in gamestudio.

And with this very long and completely unnecessary introduction I present to you Intense Pathfinding 3:


Official Page | Download Link

Features List:

* Easy 1 Click Integration (New In IP3)
* Panel System (New In IP3)
* Improved Graph Visualization (New In IP3)
* Points Of Visibility Pathfinding (node based)
* Pure Dijkstra Search Algorithm (fast)
* 999 Max Nodes per level
* 999 Max Pathfinding-Entities per level
* 999 levels per project (New In IP3)
* Obstacle Avoidance Using Repulsion Vectors (avoids other dynamic entities, without using c_traces)
* Three Dimensional (can handle floors, slopes, stairs, rough terrain, etc.)
* String Pulling (smooth paths)
* Runtime Search (handles dynamic environments like doors, bridges and demolished walls)
* Volume Raycasting (Size of entity is considered, making sure the path is wide and tall enough)
* Gravity RayCasting (Making sure there's ground below the path)
* Polygon Precise RayCasting (Supports model-only levels and terrains)
* Graph Generating Tool (automatically links nodes to each other; you just need to place them in the level)
* Written in Lite-C
* Works with all A7 editions (Trial, Extra, Commercial, or Professional)
* Debugging Tools (Visually seeing the Graph, Obstacle avoidance vectors and every c_trace made at runtime)
* Open Source. No DLLs.
* Fully documented



In a gist, you can add pathfinding to your game by using IP3 like this: You install Intense Pathfinding 3 which will put a few files in your Gstudio7 folder, like a dll that allows you to have a menu in WED for pathfinding settings, the lite-c script files, some images, models, etc. If you don't like installers, you may alternatively download this zip file and extract it to your Gstudio7 folder just like a gamestudio beta patch. Now when you open WED a new menu will appear:



You click anywhere on that menu and get a message asking you to 'enable Intense X for this project'. Don't let this message scare you. All it does is add the following line in your main script for you: "#include <IntenseX.h>". Now you won't even have to copy Intense X files to your project's folder because it will find them automatically from the Gstudio7 folder while keeping your project nice and organized.

Next, you add some waypoints to your level, as explained here, here and here. Finally, you enable Pathfinding for all the models in the level that need it:



Programmers may hate this because they'd want to manually add the pathfinding script to their model's action by code and also by doing this that actor will ignore the behavior that you've already attached to this model. Though you can easily add your own code to all actors by using these functions. It's actually easier since you now have a convenient way of identifying every actor and retrieving their pointer in lite-c by actually giving them a name:



Code:
you=ix_getEntity("Bob");



If you're wondering how does the WED panels influence things in-game, it's very simple. I store every value you input in those panels in a sort of .ini file that I call IntenseX.dat and is located in your project's main folder. I then load up these settings into structs and variables when the game loads, and that's about it. You can even change the values directly from the .ini file if you don't want to open WED and you know what to look for.

Now you go to the Levels panel, select your wmb file and build the pathfinding graph which will look like this:



And that's about it. You can now open SED and have actors walk from anywhere to anywhere, avoiding both geometry, static models, terrains and dynamic models (other actors, barrels with physics, etc) by using this very simple command:

Code:
ix_MoveTo("Bob",500,200,10);



You can see all the interface functions provided by Intense Pathfinding 3 here.

You're also given the choice to use IP3's movement and animation code, or use your own. Just by unchecking a checkbox in the Npc panel you can completely disable IP3's subsystems and use your own. If you uncheck Movement for example, when you command an actor to move somewhere IP3 will still plot a path for the Npc but it's up to the programmer to use Intense Pathfinding output to move the Npc in the right direction every frame. Check my discussion with an Intense X user(Fear) here for instructions to do just that. The point here is that you can use and tweak IP3 any way you like without ever having to check Intense Pathfinding's source files.

Which leads me to my next and final point (btw, so sorry about this HUMONGOUS post...). I noticed that over the years as Intense Pathfinding grew more in size and complexity the less people would actually use it. IP1 didn't had panels and you had to add it manually to your project by adding include lines to your main script and copy all 3 .wdl files to your project directory. But this helped people understand exactly how my tool worked and did appreciate the simplicity. I would love nothing more than to keep it the same way for IP3 but as I had to add more features like dynamic obstacle avoidance, customizable animation system, etc, etc, this could not be the case anymore. As I explained before, you could write a simple pathfinding system in a couple of days but you will have to add necessary features to it every day to keep up with modern day standards that it will undoubtedly bloat your code in no time at all. To keep all the great features and still make a plug-n-play system I had to go with a different approach. I made this project as big as it had to be but I designed it so it wouldn't be vital for the programmer to need to actually look at the source code in order to be able to understand it and use it. You can look at it if you want to of course, but there won't be any real reason to do so. You can talk to the IP3 engine just by using the Interface functions and treat the whole system as a black box instead of a bunch of lite-c scripts filled with 3rd party code. Black boxes are necessary in order to reduce complexity and let a certain group of developers "step on it" and develop on a higher level instead of forcing everyone to learn absolutely everything in order to develop a game. As users consider gamestudio and the physics plugins as black boxes, jcl considers directX as a black box, directX developers considered c++ as a black box, and it goes on and on.

To get started with Intense Pathfinding 3 I highly recommend that you watch this video. Actually, maybe you'd like to watch it before you download it to see what this is all about:

Old Zinc Video Tutorial

In that video I call the project Zinc instead of Intense Pathfinding 3 which was an old name for it that also included a Trial of Intense Ai in it. I don't promote Intense Ai with Intense Pathfinding anymore but I kept the video since I don't want to make another one just to change the name.

Once again, sorry this post got soooooo big. Once I start talking about pathfinding I just can't seem to stop laugh. One last thing and I'm off. If you'd like to see Intense Pathfinding 3 embedded with WED and GED on a future version of gamestudio and you think that other people (that in all probability don't read these forums and would never hear about IP3 otherwise) might find this useful please reply here saying so. If jcl sees there's a lot of people sharing my view on this he may consider it. If this does happen, I will remove all references to Intense X on it and only keep the necessary menus that are absolutely required for IP3 to work (for example, having an item on the About menu getting you to the Intense X manual may not be completely necessary). It will probably just be a sub-menu somewhere called something subtle like "Pathfinding".

Thank you very much for going through the whole post. For any questions, please reply here. I'll be keeping a close eye on this thread for the next few days.

Cheers,
Aris


PS: For those with a shorter attention span (again, I don't blame you. I could hardly proof read the whole thing myself) just reply saying "Aye!" if you want gamestudio to come with free pathfinding!
Posted By: Dark_samurai

Re: Intense Pathfinding 3 - 01/26/10 17:29

Have you talked with jcl already? If you look at the forecast, they are planning some advanced AI stuff for the game templates. It would save them a lot of work if they could buy your code.
I'm pretty sure they are interested laugh

What else can I say... Looks like a very great tool and it's FREE! So I can only say thank you for this and the work you put into it!!!
Posted By: maslone1

Re: Intense Pathfinding 3 - 01/26/10 18:54

Thank you Larry! Thanx a lot!

2009 i bought your copper (unfinished version or let me say "a version with some bugs"). So i haven't used your tool since i have bought it. But today you are gonna fix the bugs completely, and i know the power of your product. So that i have "wasted" my money in a incomplete tool don't make me angry,.... i see it like a donation for a great 3dgs tool! And i think, in near future, i can use a complete and impressive tool for my games i have planed. And i also wanna buy the upgrade to the next higher version of intense-pathfinding.

laugh

good luck for the future larry.


And now i wanna say something to the people with corrupt versions of 3dgs and/or intense-pathfinding:

I HATE YOU!!! People like Larry are so nice and helpful, cause they are creating a free software! And tools with more features than the free vesion has,... and all that with a very good and at least a fair price. And some i***ts / stingy people are stealing this cool software!! >:( Shame on you, SHAME ON YOU!!!!

Can you make out the results of this behaviors?
The results are:
- no one wanna share, produce cool software for the community, and or 3dgs.
- no one wanna help other anymore.
- the production-speed of new features or new softwate slow down.
- and so on,.........

Grow up + think about it.
There are a lot of free versions of cool products out there.
So use them. Make money, and buy the software you wanna have.

cheers
Posted By: Superku

Re: Intense Pathfinding 3 - 01/26/10 19:44

LarryLaffer, thank you very, very much for this generous and complex gift! I (and everyone else I think) appreciate the effort and hard work!
Since 2001 I've tried several times to create a simple basic shooter (or the like) in a couple of days and it always failed because of bad/ insufficient pathfinding.
Posted By: zeusk

Re: Intense Pathfinding 3 - 01/26/10 19:56

Originally Posted By: Superku
LarryLaffer, thank you very, very much for this generous and complex gift! I (and everyone else I think) appreciate the effort and hard work!
Since 2001 I've tried several times to create a simple basic shooter (or the like) in a couple of days and it always failed because of bad/ insufficient pathfinding.

same problem. But now thx to larry we wont have that problem grin.Thanks!
Posted By: SchokoKeks

Re: Intense Pathfinding 3 - 01/26/10 20:54

first, thank you for this great contribution! I'm sooo going to use it wink You are right with your assumption that many projects don't work out because of missing pathfinding.

but I've got a simple question, is it possible to create pathfinding entitys during runtime? I can't see a function for that in your interface, but it's a "must have" function.
Posted By: Pappenheimer

Re: Intense Pathfinding 3 - 01/26/10 23:12

Aye! wink

Did anyone mention that Aris has only about 1200 posts, because each post is so long? wink Others make 10, no, 100 out of such a single post! - Multiply that. grin

Just joking! Honestly, you deserve it that we read such a long post from time to time.

Your effort is impressing, and to stick with this code, improving it continuously over such a long time is worth to get the community's full attention.

I wish you that you can earn some money with this as well!
Posted By: CetiLiteC

Re: Intense Pathfinding 3 - 01/27/10 02:39

nice nice. good luck selling this.
Posted By: Orange Brat

Re: Intense Pathfinding 3 - 01/27/10 05:05

Thanks for another release. You know I'll be using it more than likely whenever my project gets back into gear and I actually finish it.
Posted By: aenkku

Re: Intense Pathfinding 3 - 01/27/10 09:26

Really awesome cool contribute, thank you very much smile.

aenkku
Posted By: Quad

Re: Intense Pathfinding 3 - 01/27/10 10:35

Thanks Aris! you were always kind and generous, just as now.
Posted By: ortucis

Re: Intense Pathfinding 3 - 01/27/10 13:43

This is really awesome. Please keep working on IP (hope you don't plan to abandon it after releasing it as a freeware) since those of us who prefer laying out nodes than coding it all from scratch are willing to even pay for it if required.

JCL should really integrate this with GS so A7 will have a significant edge over other engines in pathfinding in the whole package itself. grin


Thanks.
Posted By: LarryLaffer

Re: Intense Pathfinding 3 - 02/02/10 17:51

Quote:
Have you talked with jcl already? If you look at the forecast, they are planning some advanced AI stuff for the game templates.


I've talked to both Jcl and George about this. Jcl expressed interested but I'm not sure if he wants to implement it to gamestudio yet.


Quote:
It would save them a lot of work if they could buy your code.
I'm pretty sure they are interested laugh


Quote:
nice nice. good luck selling this.



I'm not selling Intense Pathfinding 3 to them. I'm giving it away for free. Hopefully they'll be interested..


Quote:
2009 i bought your copper (unfinished version or let me say "a version with some bugs").


Yes unfortunately I've hit a very overwhelming bug with Intense Ai which we're trying to solve with jcl as we speak. Of course, it hasn't stopped most of my customers from implementing Intense Ai Copper to their projects, but it really is a showstopper for my higher versions like Intense Ai Silver and Gold.


Quote:
And now i wanna say something to the people with corrupt versions of 3dgs and/or intense-pathfinding:

I HATE YOU!!! People like Larry are so nice and helpful, cause they are creating a free software! And tools with more features than the free vesion has,... and all that with a very good and at least a fair price. And some i***ts / stingy people are stealing this cool software!! >:( Shame on you, SHAME ON YOU!!!!


Thanks for your support. It's a real blow to see your sales drop from 10 copies per month to 0 due to piracy. Piracy is only a minor annoyance for big software companies like Microsoft, but for independent developers it can be a very crucial hit, possibly even halting the entire project. So, make sure to support the small businesses and pay for their products:) If they're like me, all their profits will go right back towards future development of the product anyway.


Quote:
but I've got a simple question, is it possible to create pathfinding entitys during runtime? I can't see a function for that in your interface, but it's a "must have" function.


You're right. I don't know how I've missed that.

Please keep sending your feature requests on this thread, and I'll release a new version asap from the feedback I receive here, including run-time creation of pathfinding entities.


Quote:
Did anyone mention that Aris has only about 1200 posts, because each post is so long? wink Others make 10, no, 100 out of such a single post! - Multiply that. grin


Lol. I wish instead of a post count there was also a word count tongue Oh well laugh


Quote:
This is really awesome. Please keep working on IP (hope you don't plan to abandon it after releasing it as a freeware) since those of us who prefer laying out nodes than coding it all from scratch are willing to even pay for it if required.


IP was always freeware for 4 years now so I don't plan abandoning it anytime soon. There's also a subforum where I try to support this product whenever I get a chance.


Quote:
JCL should really integrate this with GS so A7 will have a significant edge over other engines in pathfinding in the whole package itself.


After I released Intense Ai a few years back, I've been receiving plenty messages telling me how they switched over Gamestudio just for Intense Ai, or if I can port Intense Ai to XYZ engine (torque, unity, Orge3d, etc..). So I think that all indie engines are severely lacking some good AI code at the moment. I hope this will soon change and we'll take AI tools for granted just like we take physics engines for granted now.

Thanks for your support everyone. Let me know if you have any feature requests, and keep replying if u think IP should be included with Gamestudio and WED.

Cheers,
Aris
Posted By: FBL

Re: Intense Pathfinding 3 - 02/02/10 18:53

Good to see how this has progressed. Unfortunately at the moment I don't have time for creating full games and thus don't have any need for a proper AI - but I wish I would have had this package when I was working on my game with A5 - it has terrible AI grin
Posted By: Rondidon

Re: Intense Pathfinding 3 - 02/02/10 19:11

Hey Larry, laugh

is that not-properely-moving-bot-after-level-change bug fixed in Pathfinding 3? I didn`t download it yet and find nothing in your manual so I`m wondering if it`s worth the move from IP2 to IP3. If it`s fixed, do I have demontrable advantages besides the bugfix or is it just the new handling? To be honest I`m very happy with IP2 at the moment including its handling and don`t see an obvious reason to switch over to a more hulking new version, apart from the bug. Is that bug hard to fix? I don`t really want to overwork my whole AI code to match the new pathfinding system to be honest...

Nevertheless I think you did a great job opening even beginners the world to a monumental pathfinding solution. On the other hand I`m very happy to have started with IP1 back in WDL-times because by doing this I could learn a lot from your code and algorithms laugh
Posted By: maslone1

Re: Intense Pathfinding 3 - 02/02/10 20:06

Aris ....i hopefully wait for the gold-version! That is what i need to create the games i wanna create! laugh

...and aris,... u don't wanna earn money for your intense pathfinding? that's ok....
but you should get a free live-time update for your 3dgs-pro, or as long as you update your intense-pathfinding...
Posted By: Puppeteer

Re: Intense Pathfinding 3 - 02/07/10 18:11

Quote:
Pure Dijkstra Search Algorithm (fast)

Is this really true?
Using a pure Dijkstra would make the agents run the path with the least nodes not the shortest one.
Posted By: Xarthor

Re: Intense Pathfinding 3 - 02/07/10 18:52

Originally Posted By: Puppeteer
Quote:
Pure Dijkstra Search Algorithm (fast)

Is this really true?
Using a pure Dijkstra would make the agents run the path with the least nodes not the shortest one.


How do you get that idea? As far as I know Dijkstra works on weighted graphs (weight = distance e.g.) and selects the path from one node to every other node that is the least weighted one (in this case the shortest).
Posted By: Puppeteer

Re: Intense Pathfinding 3 - 02/07/10 19:09

Originally Posted By: Xarthor


How do you get that idea? As far as I know Dijkstra works on weighted graphs (weight = distance e.g.) and selects the path from one node to every other node that is the least weighted one (in this case the shortest).


Damn, you are right. grin
Posted By: amir

Re: Intense Pathfinding 3 - 11/26/10 09:11

Hello my friends. I need your help. Intense-x I have a license to have bought. But the site is closed. I need activation code. I need your help. Thanks.
Posted By: Nidhogg

Re: Intense Pathfinding 3 - 11/26/10 10:48

You need to send a PM to LarryLaffer, you will find a post of his a few posts up.
Posted By: PrenceOfDarkness

Re: Intense Pathfinding 3 - 12/01/10 15:56

link is dead
Posted By: 3run

Re: Intense Pathfinding 3 - 12/01/10 16:10

project is dead
Posted By: WretchedSid

Re: Intense Pathfinding 3 - 12/01/10 19:12

god is dead
Posted By: Liamissimo

Re: Intense Pathfinding 3 - 12/01/10 19:14

your mother is d...okay, wrong way AND off topic
Posted By: 3run

Re: Intense Pathfinding 3 - 12/01/10 19:29

JustSid frown
Please, don't say such silly things, even as a joke...
Posted By: WretchedSid

Re: Intense Pathfinding 3 - 12/01/10 19:33

But god _is_ dead... Its like saying "George Washington is dead" or "Adolf Hitler is dead" (not that I want to compare any of them with each other, that would be unfair for god because he didn't do anything remarkable).
Posted By: PrenceOfDarkness

Re: Intense Pathfinding 3 - 12/01/10 21:43

LOL! Go JustSid! BTW so no one has a link to this any more and it doesnt work with A7?
Posted By: Liamissimo

Re: Intense Pathfinding 3 - 12/01/10 21:56

Only this link, although I don't know about the legal thing, maybe just use it until the free version is back.

http://rapidshare.com/files/252545630/IntenseXZincV1.0.0.exe
Posted By: 3run

Re: Intense Pathfinding 3 - 12/01/10 22:34

JustSid, are you saying that Adolf Hitler did something remarkable? grin You are raceist bastard grin (don't get to serious, its like saying "Adolf Hitler raceist bastard", don't think that I'm trying to compare any one...). And there is no prove that God is dead, but all of us know that Hitler is killed himself tongue (and yes there is now prove that God exist...you just need to belive).
Posted By: MrGuest

Re: Intense Pathfinding 3 - 12/01/10 23:01

Originally Posted By: 3run
and yes there is now prove that God exist...you just need to belive).
and Santa?
Posted By: Liamissimo

Re: Intense Pathfinding 3 - 12/01/10 23:02

Guys, enough OT?
Posted By: 3run

Re: Intense Pathfinding 3 - 12/02/10 05:42

OK. I'm sorry for off-topic... ^^
Posted By: Locoweed

Re: Intense Pathfinding 3 - 12/02/10 06:24

Some of you all need to grow up, seriously. You might think you are cool going from project is dead to God is dead talk, but really, not so much. Keep that stuff where it belongs, and this is not the right place in the forums.
Posted By: checkbutton

Re: Intense Pathfinding 3 - 12/02/10 06:48

Guys, could you please stay on topic? Otherwise, I'll have to lock down this thread. So please, behave...
Posted By: 3run

Re: Intense Pathfinding 3 - 12/02/10 06:50

That exactly what I wanted to say. Thank you.
Posted By: amir

Re: Intense Pathfinding 3 - 12/02/10 17:59

Hello my friends. I need your help. Intense-x I have a license to have bought. But the site is closed. I need activation code. I need your help. Thanks. I put his post but did not answer . Who is he news? .
Posted By: Liamissimo

Re: Intense Pathfinding 3 - 12/02/10 18:32

Write an email to Larry Laffer with your Name and your license, he'll give you the code.
Posted By: Random

Re: Intense Pathfinding 3 - 12/02/10 18:34

I buyed one befor Intense X was down...
Ask LarryLaffer
Posted By: PrenceOfDarkness

Re: Intense Pathfinding 3 - 12/05/10 11:31

so pathing3 doesnwork any more?
Posted By: Random

Re: Intense Pathfinding 3 - 12/05/10 15:20

With the free pathfinding programm, it works, but not for A8
Posted By: 3run

Re: Intense Pathfinding 3 - 12/05/10 15:50

IntenceX 3 doesn't work with A7 either!
When I try to include it to my current project (as in it's manual) and I get error:
"IntenceX.dat not found"!!!
I've tried with all free versions of A7! And I'm not the only one who gets this error...
Posted By: Random

Re: Intense Pathfinding 3 - 12/05/10 17:14

Couls be, my Intense X Copper version stopt working to, just befor the Intense X webside was shutdown.
And my lizenz didn`t work anymore... frown
© 2024 lite-C Forums