EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Development::Development (https://www.eqemulator.org/forums/forumdisplay.php?f=590)
-   -   So many grids (https://www.eqemulator.org/forums/showthread.php?t=26672)

Theeper 10-30-2008 10:20 PM

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).

http://www.ascendencyguild.com/screenshots/grids1.jpg

And here's Dagnor's Cauldron

http://www.ascendencyguild.com/screenshots/grids2.jpg

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

http://www.ascendencyguild.com/screenshots/grids3.jpg

ChaosSlayer 10-31-2008 12:56 AM

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 :D
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

trevius 10-31-2008 04:32 AM

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

http://stormhavenserver.com/downloads/pics/EQ000020.JPG

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.

Theeper 10-31-2008 09:26 AM

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

http://www.ascendencyguild.com/screenshots/grids4.jpg

ChaosSlayer 10-31-2008 12:51 PM

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

cavedude 10-31-2008 01:08 PM

Quote:

Originally Posted by ChaosSlayer (Post 159392)
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 :D
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.

Theeper 10-31-2008 02:43 PM

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.

mplayer254 11-03-2008 12:50 PM

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.

Theeper 11-03-2008 07:59 PM

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.

http://www.ascendencyguild.com/screenshots/grids5.jpg

cavedude 11-03-2008 08:26 PM

Quote:

Originally Posted by Theeper (Post 159511)
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.

Theeper 11-03-2008 10:08 PM

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.

mplayer254 11-04-2008 09:01 AM

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.


All times are GMT -4. The time now is 10:49 PM.

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