Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Development

Development::Development Forum for development topics and for those interested in EQEMu development. (Not a support forum)

Reply
 
Thread Tools Display Modes
  #1  
Old 10-30-2008, 10:20 PM
Theeper
Discordant
 
Join Date: May 2004
Posts: 290
Default So many grids

I've been playing around with grids lately and I made a simple C++ app to overlay them onto the in-game maps so I could see what they look like. Granted it's not 3D, but it gives me an idea of where everything is. I think Kayot gave me the idea a while back.

I noticed in the PEQ DB, zones like PoK have a ton of paths that are probably redundant. I'm wondering if there's a reason for all these that I'm overlooking, or it's just a result of packet collects and could be manually cleaned up.

I was thinking of running some queries to merge waypoints that are within a reasonable distance from one another and then to update the NPC grids as well. I know Derison was working on some pathing tools that probably solve this anyway, but I have never messed with OZ.

Here's what PoK looks like (it has over 2K waypoints). The waypoints are little purple circles and the paths are the purple lines).



And here's Dagnor's Cauldron



In contrast, here's Grobb which I manually added some paths to.

Reply With Quote
  #2  
Old 10-31-2008, 12:56 AM
ChaosSlayer
Demi-God
 
Join Date: May 2007
Posts: 1,032
Default

the reason for crap load of paths is that all this data was update by tracking packets from live servers. And as a matter of fact we do not know for sure HOW soe does things on their end, so devs of emu can only try to code in such way to achieve simular end results.

It is posible that soe in fact only has very few actual paths, but utilizes some sort of variable variance which allows the spread those path around mobs.

ANother important thing to note that data was not recorded from live all at once - which results in multyple double readings. I have notiuced myself in number of zones packs of mobs who spawn on some spot and travels along same path on top of each other (I think Blood Fields have highest mobs per square feet I have ever seen- you literaly cannot run 10 feet in a straight line wihout bumping into a mob) - so yeah there could be some redundancy.

Presonaly I am very little concern with this- since I am running a custom server and from my perspective- all pathing is inherently wrong
so I take a zone- wipe everyhing and build from scratch =)

PS> I bet Sanctus Seru among most hideously overpopulated/overpathed zones- on live it was lag fest #1
Reply With Quote
  #3  
Old 10-31-2008, 04:32 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

You aren't kidding about Seru lol. Here is a pic that AndMetal sent me when he was testing hit new #aggrozone command:



I have seen some good train pics in my day, but nothing comes anywhere close to that lol.

Ya, a large portion of the pathing is not so great and some is just completely wrong. I imagine that people fighting in zones while packet collects were being done most likely threw off the pathing considerably. Since, a pull would probably be seen the same as normal pathing for the collects.

If it wasn't so much work, I would love to see the new path grid boxes setup in most outdoor zones. I think that would turn zones like GFay that take up hundreds or thousands of WPs and make them take almost none to have similar or better effects. But, there isn't an easy way to do that, as the only way to do it right would be manually and that would take forever.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!

Last edited by trevius; 10-31-2008 at 05:17 PM..
Reply With Quote
  #4  
Old 10-31-2008, 09:26 AM
Theeper
Discordant
 
Join Date: May 2004
Posts: 290
Default

Ya, GFay is horrible. It has over 10,000 waypoints.

Reply With Quote
  #5  
Old 10-31-2008, 12:51 PM
ChaosSlayer
Demi-God
 
Join Date: May 2007
Posts: 1,032
Default

what i did I broken down gfay into few quare areas based on level of mobs which should be roaming there - as result i have a total of like 10 paths and about 1k grid points.

of course with new grid boxes there won't need to set up outdoor random paths at all - unless for special mobs
Reply With Quote
  #6  
Old 10-31-2008, 01:08 PM
cavedude's Avatar
cavedude
The PEQ Dude
 
Join Date: Apr 2003
Location: -
Posts: 1,988
Default

Quote:
Originally Posted by ChaosSlayer View Post
the reason for crap load of paths is that all this data was update by tracking packets from live servers. And as a matter of fact we do not know for sure HOW soe does things on their end, so devs of emu can only try to code in such way to achieve simular end results.

It is posible that soe in fact only has very few actual paths, but utilizes some sort of variable variance which allows the spread those path around mobs.

ANother important thing to note that data was not recorded from live all at once - which results in multyple double readings. I have notiuced myself in number of zones packs of mobs who spawn on some spot and travels along same path on top of each other (I think Blood Fields have highest mobs per square feet I have ever seen- you literaly cannot run 10 feet in a straight line wihout bumping into a mob) - so yeah there could be some redundancy.

Presonaly I am very little concern with this- since I am running a custom server and from my perspective- all pathing is inherently wrong
so I take a zone- wipe everyhing and build from scratch =)

PS> I bet Sanctus Seru among most hideously overpopulated/overpathed zones- on live it was lag fest #1
That's absolutely correct. The vast majority of grid work is collected from Live, and many zones are built using 2 or more different logs. The excessive grids in PEQ is a huge cause of lag and any work done to help clean them up, or compress them would be more than appreciated.
Reply With Quote
  #7  
Old 10-31-2008, 02:43 PM
Theeper
Discordant
 
Join Date: May 2004
Posts: 290
Default

I assumed it was from packet collects, just wasn't sure there is not a reason to leave them all in.

I'm going to add some queries to my tool that merge some waypoints and update the NPC grids that use them. I will start by merging those that are on the same Z axis. It should be relatively simple in flat-ish zones like PoK.
Reply With Quote
  #8  
Old 11-03-2008, 12:50 PM
mplayer254
Sarnak
 
Join Date: Oct 2008
Location: Texas
Posts: 32
Default

Theeper, I am doing a major content overhaul on a custom DB that is most likely a pipe dream but will be released if ever finished...any way you could make this utility public? I am rebuilding grids manually atm but am thinking this would be an awesome tool to verify my pathing is not overly redundant, especially as I am new to all of the editing and trying to make as few posts as possible (so far this has been possible thanks to an abundance of tutorials and posts on bug fixing, EQEMU is amazing). I run XP just FYI, not sure if that would make a difference.
Reply With Quote
  #9  
Old 11-03-2008, 07:59 PM
Theeper
Discordant
 
Join Date: May 2004
Posts: 290
Default

I'll give the source to this app to anyone who wants it. Just give me a couple days to tweak a few things and clean it up.

I made some changes to it yesterday. Right now, you can load grids for any zone you have an in-game map for. It will show all the grids and cycle through them one at a time highlighting the selected one.

I'm going to add in a query to check for spawns along a selected grid, and give me the option to delete a complete grid if there are no spawns on it. I believe that will remove a considerable about of redundant grids.

I'm thinking about adding in some logic to merge waypoints and renumbering them automagically.

Here's one I found in Akanon that has over 600 waypoints. They're so close together, it looks like one solid line.

Reply With Quote
  #10  
Old 11-03-2008, 08:26 PM
cavedude's Avatar
cavedude
The PEQ Dude
 
Join Date: Apr 2003
Location: -
Posts: 1,988
Default

Quote:
Originally Posted by Theeper View Post
I'm going to add in a query to check for spawns along a selected grid, and give me the option to delete a complete grid if there are no spawns on it. I believe that will remove a considerable about of redundant grids.
That tool sounds amazing! One word of warning to anybody who uses it though. Some NPCs use grids through Perl, and not the DB. So, in all probability your program will pick up those grids as being unused. The only way around that, I think is to add functionality to check the Perl files in the given zone for gridids, which will be found in the quest::spawn, quest::spawn2, quest::unique_spawn and quest::start functions.
Reply With Quote
  #11  
Old 11-03-2008, 10:08 PM
Theeper
Discordant
 
Join Date: May 2004
Posts: 290
Default

You guys can download the source to it now if you want to play around with it. There's some ugly, redundant code and a couple compile warnings, but it's usable.

Here's the Visual C++ 2008 Express project folder. http://www.ascendencyguild.com/emu/GridView_0.1.zip I compiled it on XP. It needs the SDK installed.

It will extract to a folder named 'game1'. Click on GridView.sln to open it and compile. The .exe should run from anywhere.

1. Put in your mysql info
2. Choose the map directory (in-game maps, not emu server maps).
3. Hit 'Load Zones' .. you should see '295 zones loaded' or something similar.
4. Choose a zone from the drop down menu. It should automatically draw.
5. Cycle through the grids with the other dropdown menu.

* I hardcoded the MySQL paths (my system paths are borked right now). You'll probably need to link libmysql.lib and put in the 'additional library' paths for it.
* There is no double buffering, so the image won't redraw when you cover it. Hit a zoom button or grid button to redraw it. It uses only MFC graphics ATM.
* The zoom slider doesn't work, just the buttons. I only put in rudimentary zooming so far.
Reply With Quote
  #12  
Old 11-04-2008, 09:01 AM
mplayer254
Sarnak
 
Join Date: Oct 2008
Location: Texas
Posts: 32
Default

Thanks Theeper, awesome utility, got it working relatively quickly, especially for a non programmer like myself, just took a google search on linking the .lib.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 12:19 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3