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

Development::Feature Requests Post suggestions/feature requests here.

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #1  
Old 10-30-2004, 06:26 AM
Raddiux
Sarnak
 
Join Date: Apr 2004
Posts: 97
Default Improved NPC Grid/AI pathing

This is actually 2 seperate requests, so i'll break them apart.

1.) On EQlive, when a mob spawns, it moves on a grid system, so that it appears to have realistic movement by not bumping into trees and walls and stuff. For an outdoor zone, when a player attacks a mob, the mob follows the player in no relation to the grid. It just goes straight for the player, through trees, etc, yet thats the way its done on Live so I see no problem there.. However, in a dungeon/City, when a player attacks a mob, the mob navigates the dungeon/city using ONLY the grid, otherwise it would be walking through a ton of walls and creating trains. Once the mob gets close to the player, it "branches out" off the grid at the closest point between the grid and the player. If the player dies, the mob returns to the grid using the same closest point method, and then uses the grid to navigate back to its spawn point.

Now, i've spoken with Rangerdown and he has informed me that EQemu does not work like this. Mobs simply follow players in dungeons, as they would in an outdoor zone. He mentioned that this would be a difficult fix because it would involve doing a ton of checks against the zone geometry using the MAP files, which would be very CPU intensive. However, I don't believe thats how EQlive does it. On Live, the mobs seem to be "locked" to a grid (but only in dungeons, cities and other indoor zones), and use the grid to navigate the zone, and at every waypoint they do a simple distance check between them and the player to determine which direction to take for the next waypoint. Only once they get very close to the player do they pop off the grid and move towards the player apart from the grid. This is the same way that Unreal uses its grid system for mob/bot AI, and its actually very easy on the CPU in comparisson to Quake3 bots which have to "know" the zone geometry to be able to move around. I could be wrong, but it doesn't seem very difficult to impliment. All that would be needed is some kind of flag associated with each zone in the database that would inform the server to do either outdoor mob AI or indoor mob AI for the zone (since outdoor zones don't use this special AI), and some simple distance checks to tell the mob which waypoint to move to depending on distance to the player. Let me know if i'm wrong on this.



2.) On EQlive, mobs seem to use a dual grid system. For example, take the bats that spawn in lower guk by the bedroom. They are stationary, so on EQemu, they would only need one waypoint, since they don't patrol or anything. But once a player attacks them on EQlive, they seem to have access to some kind of zone wide grid, which tells them how to navigate the zone (as described in #1). On EQemu, all they would have access to is that single waypoint, which would do nothing for helping them navigate the zone. I guess the way this should be done is to have 2 kinds of grids for each zone - (1) a mob grid used to tell mobs added to that specific grid how to patrol and move around when idle and (2) a zone wide grid which all mobs have access to, to show them how to move around the dungeon. This seems to be the way EQ does it, at least from what i've observed. This probably wouldn't be too difficult to impliment I don't think, and would need some database adjustments for each zone to specificy the number of the zonewide grid. The only problem I see is that currently grids are limited to 50 waypoints, which might not be enough for most zones.

Any comments if any of this is feasible? Cause it would certainly help to make EQemu a lot more realistic.
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:14 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