Gamestudio Links
Zorro Links
Newest Posts
zorro 64bit command line support
by 7th_zorro. 04/20/24 10:06
StartWeek not working as it should
by jcl. 04/20/24 08:38
Data from CSV not parsed correctly
by jcl. 04/20/24 08:32
Zorro FIX plugin - Experimental
by jcl. 04/20/24 08:30
folder management functions
by VoroneTZ. 04/17/24 06:52
lookback setting performance issue
by 7th_zorro. 04/16/24 03:08
Zorro FIX plugin - Experimental
by flink. 04/14/24 07:46
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
3 registered members (7th_zorro, Aku_Aku, 1 invisible), 604 guests, and 0 spiders.
Key: Admin, Global Mod, Mod
Newest Members
EternallyCurious, howardR, 11honza11, ccorrea, sakolin
19047 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Page 1 of 5 1 2 3 4 5
Intense Pathfinding 3 #307026
01/26/10 17:03
01/26/10 17:03
Joined: Jul 2004
Posts: 1,205
Greece
LarryLaffer Offline OP
Serious User
LarryLaffer  Offline OP
Serious User

Joined: Jul 2004
Posts: 1,205
Greece
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!


INTENSE AI: Use the Best AI around for your games!
Join our Forums now! | Get Intense Pathfinding 3 Free!
Re: Intense Pathfinding 3 [Re: LarryLaffer] #307028
01/26/10 17:29
01/26/10 17:29
Joined: Jul 2005
Posts: 1,930
Austria
Dark_samurai Offline
Serious User
Dark_samurai  Offline
Serious User

Joined: Jul 2005
Posts: 1,930
Austria
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!!!


ANet - A stable and secure network plugin with multi-zone, unlimited players, voip, server-list features,... (for A7/A8)!
get free version
Re: Intense Pathfinding 3 [Re: Dark_samurai] #307042
01/26/10 18:54
01/26/10 18:54
Joined: Jul 2007
Posts: 424
EUROPE
maslone1 Offline
Senior Member
maslone1  Offline
Senior Member

Joined: Jul 2007
Posts: 424
EUROPE
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


A8c, Blender, FlStudio, Unity3d
Re: Intense Pathfinding 3 [Re: maslone1] #307047
01/26/10 19:44
01/26/10 19:44
Joined: Sep 2003
Posts: 6,861
Kiel (Germany)
Superku Offline
Senior Expert
Superku  Offline
Senior Expert

Joined: Sep 2003
Posts: 6,861
Kiel (Germany)
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.


"Falls das Resultat nicht einfach nur dermassen gut aussieht, sollten Sie nochmal von vorn anfangen..." - Manual

Check out my new game: Pogostuck: Rage With Your Friends
Re: Intense Pathfinding 3 [Re: Superku] #307051
01/26/10 19:56
01/26/10 19:56
Joined: Jun 2009
Posts: 258
behind this enternet window
zeusk Offline
Member
zeusk  Offline
Member

Joined: Jun 2009
Posts: 258
behind this enternet window
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!

Re: Intense Pathfinding 3 [Re: zeusk] #307062
01/26/10 20:54
01/26/10 20:54
Joined: Nov 2002
Posts: 913
Berlin, Germany
S
SchokoKeks Offline
User
SchokoKeks  Offline
User
S

Joined: Nov 2002
Posts: 913
Berlin, Germany
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.

Re: Intense Pathfinding 3 [Re: SchokoKeks] #307076
01/26/10 23:12
01/26/10 23:12
Joined: Sep 2003
Posts: 5,900
Bielefeld, Germany
Pappenheimer Offline
Senior Expert
Pappenheimer  Offline
Senior Expert

Joined: Sep 2003
Posts: 5,900
Bielefeld, Germany
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!

Re: Intense Pathfinding 3 [Re: Pappenheimer] #307093
01/27/10 02:39
01/27/10 02:39
Joined: Oct 2008
Posts: 51
Germany
C
CetiLiteC Offline
Junior Member
CetiLiteC  Offline
Junior Member
C

Joined: Oct 2008
Posts: 51
Germany
nice nice. good luck selling this.

Re: Intense Pathfinding 3 [Re: CetiLiteC] #307097
01/27/10 05:05
01/27/10 05:05
Joined: Aug 2000
Posts: 7,490
O
Orange Brat Offline

Senior Expert
Orange Brat  Offline

Senior Expert
O

Joined: Aug 2000
Posts: 7,490
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.


My User Contributions master list - my initial post links are down but scroll down page to find list to active links
Re: Intense Pathfinding 3 [Re: LarryLaffer] #307109
01/27/10 09:26
01/27/10 09:26
Joined: Nov 2009
Posts: 27
A
aenkku Offline
Newbie
aenkku  Offline
Newbie
A

Joined: Nov 2009
Posts: 27
Really awesome cool contribute, thank you very much smile.

aenkku

Page 1 of 5 1 2 3 4 5

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1