EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Development::Development (https://www.eqemulator.org/forums/forumdisplay.php?f=590)
-   -   Derision, your pathfinding code (https://www.eqemulator.org/forums/showthread.php?t=28710)

Dibalamin 06-28-2009 06:50 PM

Derision, your pathfinding code
 
Is brilliant. Well done. Unrest is probably the most problematic zone in the game and it works amazingly well.

Is there anything we as the community can do to help edit the .path files?

Derision 06-29-2009 07:46 AM

Not yet, but it is high on my priority list to put #commands in to allow people to place path nodes with an external command line tool to calculate the connectivity (using line-of-sight and terrain 'steepness' tests) and generate their own .path files.

The reason for an external program to create the .path files is because it is heavily CPU intensive with the time it takes growing exponentially with each added path node. I'll add in a feature to reload the .path file into a running zone, so it shouldn't be too laborious a process.

Dibalamin 06-29-2009 09:30 AM

Aight!

Only thing I might mention, is that feared/aggro'd mobs don't use doors....they really didn't need to before, as they would just run through the wall...

I see guards in cities opening doors as they path by, so I think the code is already there.

Dibalamin 06-30-2009 11:41 AM

Someone over at P1999 reported that in Unrest, live mobs like beetles and werebats were running away at full speed while snared.

Quote:

Live enemies that run upon low health are bugged right now. Death Beetles and Werebats were the two that I was having trouble with today.

At low health they run at full speed, even with snare on, they still run at full speed.

The pathing looks good though haha.
http://classicbetatest.guildlaunch.c...d814&gid=62867

Nothing special in our DB that would prevent this for these mobs.

Derision 06-30-2009 12:49 PM

I see the problem.

MobAI.cpp Line 649
Code:

CalculateNewPosition2(Goal.x, Goal.y, Goal.z, GetRunspeed());
Should be:
Code:

CalculateNewPosition2(Goal.x, Goal.y, Goal.z, GetFearpeed());
I'll test this and commit it shortly.

gaeorn 06-30-2009 01:50 PM

Quote:

Originally Posted by Derision (Post 173170)
I see the problem.

MobAI.cpp Line 649
Code:

CalculateNewPosition2(Goal.x, Goal.y, Goal.z, GetRunspeed());
Should be:
Code:

CalculateNewPosition2(Goal.x, Goal.y, Goal.z, GetFearpeed());
I'll test this and commit it shortly.

Wow, GetFearpeed()... so now they pee their pants when feared? I know I would! lol

Yeormom 07-10-2009 01:51 PM

I look forward to more of your path finding goodness. The lack of NPC pathing is the last big problem I see with the project code, since many dungeons are unplayable. I noticed the path files were far from plain text so an editing tool sounds quite exciting.

KLS 07-25-2009 04:55 AM

Because I'm impatient I went ahead and added several #path commands for direct manipulation and saving of the pathing system. I made blackburrow and qeynos2 maps and they work quite well but I'm still working out the quirks in the commands.

#path process is fairly CPU intensive and should probably not be used on any live servers.
#path resort 's use isn't very obvious but basically if you delete a connection it can leave holes in the neighbors list which causes paths to completely fail; because for optimizing reasons when the path code comes to a hole it assumes it's the end of the line, it resorts it so there are no more holes in path node neighbors.

Also no changes are actually made to the .path file in the maps folder, if you don't #path dump it all your changes are lost when the zone boots down.
Everything else should be fairly straight forward.

Dibalamin 07-25-2009 06:45 PM

Did you upload those path files somewhere Kimmy? I didn't see them at the SVN downloads. So, I may be blind!

KLS 07-26-2009 12:23 AM

I don't actually like my qeynos2 file I made all that much but I did both blackburrow and mistmoore and added them to pathfiles download at http://code.google.com/p/projecteqemu/downloads/list

Dibalamin 07-26-2009 11:44 AM

You rock. I'm assuming towards the end of the #path frenzy of maps that quest::pathto & quest::moveto will use the pathing maps?

vales 07-26-2009 11:19 PM

Hmm. I think there's something wrong with mine because I've downloaded the pathfiles, and watched in horror as the NPCs in PoK were walking through the walls, buildings, and hopping on top of the structures. This was with the pathfiles before the newest Pathfiles_01.zip was uploaded.

Is there a certain setting or something in rules_values or something that I'm missing?

KLS 07-27-2009 12:40 AM

The pathfiles in the zip haven't changed. And I don't believe there's been any changes to the code recently in terms of the pathing code.

vales 07-27-2009 12:59 AM

Must be something in mysql then. I'll check the defaults to see if they've been changed or something.

KLS 07-27-2009 01:05 AM

I'm going to start uploading any maps I make to the map svn, I did tutorialb and worked on mistmoore a bit, there were certain spots that were unreachable on the map.

Also fixed up yet more #path stuff, including a crash related to adding and deleting nodes. Also including adding #path resort nodes which is needed if you ever get your node ids out of order, like if for example you ever create node 1 2 3 4 5 and then delete node 3 so it's 1 2 4 5 it will cause issues because some of the code assumes nodes are in order and none are missing.


All times are GMT -4. The time now is 02:17 PM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.