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? |
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. |
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. |
Someone over at P1999 reported that in Unrest, live mobs like beetles and werebats were running away at full speed while snared.
Quote:
Nothing special in our DB that would prevent this for these mobs. |
I see the problem.
MobAI.cpp Line 649 Code:
CalculateNewPosition2(Goal.x, Goal.y, Goal.z, GetRunspeed()); Code:
CalculateNewPosition2(Goal.x, Goal.y, Goal.z, GetFearpeed()); |
Quote:
|
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.
|
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. |
Did you upload those path files somewhere Kimmy? I didn't see them at the SVN downloads. So, I may be blind!
|
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
|
You rock. I'm assuming towards the end of the #path frenzy of maps that quest::pathto & quest::moveto will use the pathing maps?
|
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? |
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.
|
Must be something in mysql then. I'll check the defaults to see if they've been changed or something.
|
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.