Go Back   EQEmulator Home > EQEmulator Forums > Archives > Archive::Development > Archive::Bugs

Archive::Bugs Archive area for Bugs's posts that were moved here after an inactivity period of 90 days.

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #1  
Old 08-04-2003, 07:50 PM
Hooke
Fire Beetle
 
Join Date: Jan 2003
Posts: 6
Default Feature Suggestion: fix for aggro through walls

Before I start, let me just say that I'm not a programmer, so try to be kind.

As it stands now, dungeons are pretty much unplayable in the emulator due to the fact that the server doesn't see zone geometry such as walls, and only calculates whether or not a mob aggroes on the player based on their respective xyz coords. This causes mobs to jump players through walls, making it nearly impossible to play through a dungeon, especially a layered one.

I was thinking about a possible solution that didn't involve the server actually using a 3d model of the zone and collision detection, as that would for sure be too costly resource-wise. What I came up with is this:

Why not have a grid (or series of grids) of waypoints that covers the entire (indoor) zone, separate from the grids currently used to do pathing now. Unlike the grids used now, which cover a limited area and are just meant for a single npc, these grids would cover all the area in an indoor zone that a mob could move over. These waypoints could be stored in the db.

When a zone boots, the server could "snap" all mobs to the nearest waypoint on the Big Grid (tm) for all aggro check purposes. As a client moves through the zone, the server could also "snap" him/her to the nearest waypoint on the Big Grid. When checking for aggro, the server wouldn't just do it based on xyz coords, but rather on the amount of PATH on the Big Grid between them, based on their respective nearest waypoints, which the server has snapped them to.

Once aggro has occurred, the mob would follow the Big Grid to the waypoint nearest the player and then proceed towards them in a straight line from there. The Big Grid could also be used to easily implement fleeing mobs, which is another aspect the emu currently lacks. Other checks, such as whether to have a mob buff another mob, could also be done through the Big Grid, so that a level 6 mob standing next to a wall that happens to have a level 30 mob on the other side of it won't get level 30 buffs and rip apart the surprised level 6 player who attacks it.

Waypoints for the Big Grid could be added the same way pathing is currently done: by a GM character in game. Yes, it would be relatively labor-intensive, but really no more than pathing is now, considering it only needs to be done for indoor zones.

So devs, let me know what you think. Could this be done, or would it be too difficult to implement? Or use too many resources on the server side? Obviously I'm just throwing out a very rough idea that I came up with in about 20 minutes and if it were ever used it would probably have to be refined to some extent, but is the principle behind it, using a path to check aggro, feasible?

Anyhow, like I said, I'm no programmer, so if this is totally unworkable for some reason, that's why . Just something I wanted to throw out there for consideration.
Reply With Quote
 


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 02:25 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 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3