|
Anyone here play games on Roblox that use NPC AIs(Non-Player Character Artificial Intelligence)? Now, how many of these do you find can dynamically track you down without having trouble with obstacles? No one? That's what I thought.
I've done some research on AI path-finding, and have concluded that the *best* way to go about it is to set a navmesh to define the area in which AIs can know, for sure, that they can walk there.
[ What IS a navmesh? ]
A navmesh, or navigation mesh, is a data structure used in artificial intelligence applications to aid agents in path-finding through large spaces. Meshes that do not map to static obstacles in the environment that they model, offer the additional advantage that agents with access to the mesh will not consider these obstacles in path-finding, reducing computational effort and making collision detection between agents and static obstacles moot. To simplify it, navmeshes are polygonal areas that AI know they are allowed to walk in.
[ WHY do I want navmeshes? ]
Using navmeshes, Roblox games that use NPC AI such as a companion that follows you around, or enemies that move towards you to attack you, would potentially have the path-finding capabilities of a Call of Duty AI bot or almost any other blockbuster game with amazing AI path-finding.
[ WHY are navmeshes any different from parts or a table of points? ]
Unlike parts, or tables of points, navmeshes are SPECIFICALLY DESIGNED for AI path-finding. This means, *much* more functionality for any path-finding you are trying to accomplish. Plus, navmeshes are *meshes*, one navmesh would take up the amount of memory as one single part, while covering thousands of more polygons than one more part. The argument against tables of points, tables of points usually ARE NOT easy to map into polygons every render frame. Think twice before deciding to use a ton of memory trying to map three points multipled by a few thousand into points every render frame. |
|
|
I am not sure I understand this 100%, but I think I got the main idea. Support. |
|
|
Thank you for the support.
To go into even simpler terms than I put it in;
Navmeshes are triangular-based areas that Non-Player Characters can path-find extremely well within. Along with the giant improvement in the path-finding, Navmeshes take up as much lag as one part, hence the "mesh" part of the name, completely banishing lag as far as part or point based path-finding areas.
If you need even more simplification: Navmesh maik gud npc pathfindrz. |
|
James1011Join Date: 2008-06-02 Post Count: 22046 |
Nobody in the world is going to figure this out. |
|
NyxisJoin Date: 2012-11-15 Post Count: 3374 |
Or you could learn how to script and make a pathfinding AI. |
|
XenonLiJoin Date: 2009-08-19 Post Count: 5013 |
ya sure |
|
|
Support the Bearded Programmer! |
|
|
Nyxis, to be friendly, I must say that I'm quite disappointed in how you fail to see how a Navmesh would be beneficial to everyone. Non-scripters, and scripters such as myself, alike.
In reply to your "lrn2script", I don't believe you have much of an idea how stupid that statement was. If you had looked into it a tiny bit more, you'd clearly be able to see that my scripting knowledge is quite larger than your statement implies.
In reply to your "mak da AI urself", if I've done research on it and care about it so much, do you think I've tried? Yes, I have, but a fully functional AI with the same capabilities that an AI using the Navmesh covers are impossible. |
|
|
NyxisJoin Date: 2012-11-15 Post Count: 3374 |
No need to "un-grammarize" my reponse. >_>
And it's very possible to make an NPC go over obstacles and avoid buildings, etc. |
|
NyxisJoin Date: 2012-11-15 Post Count: 3374 |
Sorry.
Response* |
|
|
@Nyxis
Oh, I know, it is very easily possible.. But the path taken only goes a few studs at a time without pushing out tons of lag. The other lag-less way would be educated, random predictions based on raycasting, which are really quite inaccurate. Using A*, you sure as heck can make nodes, but they get VERY ratty-looking unless you set a point at about every stud, which would lag while predicting(One ray per surrounding stud, about 300x to get around a wall). Simple A* is possible, but with a 2-Dimensional feel to it. Games such as Space Knights use simple A*, no reason to use anything else when all possible obstacles are 1 x 1 x 1 stud.
The point is -- Trust me, I've done the research and I know exactly what I'm talking about when I say we should have Navmeshes.
If you're looking at what I think you're looking at; Navmeshes would be there to define WHERE AI path-finders can go, not completely route the path for you. |
|
|
|
SpamroachJoin Date: 2012-11-12 Post Count: 2775 |
Support. I know what Navmesh is when I was learning to mod Fallout 3. |
|
|
xbox789Join Date: 2008-08-25 Post Count: 1947 |
Complete support. |
|
|
|
"BUT IT CAN BE SCRIPTED!!1" -Terrible programmer
Support |
|
|
Thanks for the support!
Bump5. |
|
0_0Join Date: 2010-08-15 Post Count: 1197 |
bump + support.
I'm in college right now, doing a games development course level 3 and there was a session where we was learning about AI and this came up. Correct me If I'm wrong but I also believe that world of warcraft uses navmeshes for their pathfinding :P
|
|
|
0_0Join Date: 2010-08-15 Post Count: 1197 |
If anyone is having any trouble understanding nav meshes still then you can do a simple search on google "world of warcraft nav meshes" and click on the second one (should be ai-blog) the website is 100% safe, I would link the website but unfortunately It's against the forum rules to post off-site links ;/ |
|
0_0Join Date: 2010-08-15 Post Count: 1197 |
bump |
|
|