Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Game Design Theory / Navigation Mesh: DBP Next Gen AI?

Author
Message
DigitalFury
14
Years of Service
User Offline
Joined: 30th Jul 2010
Location: United States
Posted: 23rd Aug 2012 01:51 Edited at: 23rd Aug 2012 04:15
I noticed how newer games and game engines are using something called Navigation meshes. I believe Dark AI does the opposite of what a Nav Mesh does by selecting the boundaries. Although it is simple it doesn't account for slopes without extra programming. Navigation meshes account for slopes and complex areas. I am wondering if it is even remotely possible to add Nav Meshes to DBP.

Possible Useable Source:

http://code.google.com/p/recastnavigation/

Most practical solution I found:

http://www.critterai.org/

Here's a vid:


Here's a pic:


Other stuff I found about Navigation Meshes:
http://www.ai-blog.net/archives/000152.html
http://sourceforge.net/projects/zap/
http://www.critterai.org/book/export/html/2
https://www.box.com/s/2o9fyjnb3lx71cxajxho

I'll do a little research into Critter AI and maybe I might be able to make a plugin based off of it.

DigitalFury

Attachments

Login to view attachments
thenerd
16
Years of Service
User Offline
Joined: 9th Mar 2009
Location: Boston, USA
Posted: 23rd Aug 2012 20:16
I've been interested in this too, actually I first saw the concept on an Overgrowth video (If you haven't heard of it, Overgrowth is an indie fighting game in development now. The developers make regular videos explaining the development and some technical details of their engine. It's on YouTube.) Anyway, I looked at a lot of these resources you linked to and I'm certainly interested in it, though I have no knowledge that could actually help I'll be watching this thread!

Dar13
17
Years of Service
User Offline
Joined: 12th May 2008
Location: Microsoft VisualStudio 2010 Professional
Posted: 25th Aug 2012 21:14
Recast is really cool to use, I just implemented it into my own C++ game. It's also relatively easy to setup, though getting the parameters can be interesting.

Here's the entirety of my navigation mesh building code for Recast:


If you want to see my entire implementation of Recast and its sister library Detour(the pathfinding stuff) check out my GitHub repository that's in my signature.

MrValentine
AGK Backer
14
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: FFVII
Posted: 29th Aug 2012 03:48
I was about to spend the day time today to study DarkAI... hmm...

DigitalFury
14
Years of Service
User Offline
Joined: 30th Jul 2010
Location: United States
Posted: 29th Aug 2012 07:39 Edited at: 29th Aug 2012 07:43
@MrValentine - In Dark AI it is hard to determine what level you are on. Like for instance walking up stairs is very difficult. With navigation meshes you never have that problem. I was thinking of using Dark AI but adding some additions to the path finding. I'd have to write my own class and it would be a lot of work for the editor and the logic but it might be possible to make Dark AI use Navigation Meshes. The only thing is Dark AI uses boundaries and they are 2D.

I'll eventually work on that. It is on my long to do list. I would want a real NavMesh lib though.

@Dar13 - I'm looking into Recast for a possible solution. How is the data handled? How could I integrate it with Dark AI? I'd have to define boundaries instead and I don't think it would be possible. Is there another solution that can be used for pathfinding that is as robust as Dark AI?

DigitalFury

MrValentine
AGK Backer
14
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: FFVII
Posted: 29th Aug 2012 11:31
@DigitalFury - I suspect that sample of 3D waypoints may hold the answer...

How about attach that to a 3D array ie... Multi-Dimensional arrays... And simple say AI can go here... Not there and any ajoining arrays provided physics did not hold it down...

Just a thought...

Dar13
17
Years of Service
User Offline
Joined: 12th May 2008
Location: Microsoft VisualStudio 2010 Professional
Posted: 29th Aug 2012 13:43
Recast just generates the navigation mesh, generating a polygon mesh of where the 'agent' or character can go on the x/y axis and a detail polygon mesh that mainly deals with the height of the navigation mesh.

Detour is the primary pathfinding library for Recast as they share certain data conventions(parameters for the agents are consistent between Recast and Detour for example), so it's much easier to use Detour than to try and create your own pathfinding library or wrapper for DarkAI.

The handling code for Recast/Detour paths is quite complex, as the paths are stored not as points but as polygon paths. I'm still not sure how to move along the path without going through Detour directly.

Login to post a reply

Server time is: 2025-06-07 10:28:37
Your offset time is: 2025-06-07 10:28:37