Pathing Theory
Moderator: Team Members
-
LethalEncounter
- Team: Zombie
- Posts: 2717
- Joined: Wed Jul 25, 2007 10:10 pm
Pathing Theory
OK, the time has come to discuss one of the biggest problems/headaches for any MMORPG Emu - Pathing. Pathing is the ability to determine the best path to a spawn's target. This is simple whenever there are no objects in the game between the spawn and the target, but once you start adding objects it becomes very complicated. Most emulators don't bother with pathing if they can help it. However, it does add quite a bit to the game if you were able to pull it off. Nothing is worse that having a spawn run through a wall and attack you because pathing has not been added.
Idea for pathing:
1. Check the line of sight between the spawn and target.
2. If the LOS is clear, then the path is simple - just have the spawn run directly towards the target.
3. If the LOS is NOT clear, determine the closest node to the target. Based on that node find the shortest distance to that node that doesnt cross any boundaries.
This sounds much easier that it actually is. In practice it will be extremely complicated. I will be adding commands that allows someone to specify boundaries that cannot be crossed. It will be with these commands that you can specify where buildings/walls are so that spawns cannot walk through them. This will be a labor intensive job to do pathing for entire zones, but if done right it will only be needed once.
I will do Pathing in two phases:
1. The first phase will be for simple outdoor zones and will consist of obstacles like buildings and walls.
2. The second phase will be more complicated and will include pathing for inside of buildings. Building interiors have things like stairs and floors that will make both the commands for creating the pathing as well as the code needed to determine LOS more complex.
Idea for pathing:
1. Check the line of sight between the spawn and target.
2. If the LOS is clear, then the path is simple - just have the spawn run directly towards the target.
3. If the LOS is NOT clear, determine the closest node to the target. Based on that node find the shortest distance to that node that doesnt cross any boundaries.
This sounds much easier that it actually is. In practice it will be extremely complicated. I will be adding commands that allows someone to specify boundaries that cannot be crossed. It will be with these commands that you can specify where buildings/walls are so that spawns cannot walk through them. This will be a labor intensive job to do pathing for entire zones, but if done right it will only be needed once.
I will do Pathing in two phases:
1. The first phase will be for simple outdoor zones and will consist of obstacles like buildings and walls.
2. The second phase will be more complicated and will include pathing for inside of buildings. Building interiors have things like stairs and floors that will make both the commands for creating the pathing as well as the code needed to determine LOS more complex.
- alfa
- Team Member
- Posts: 550
- Joined: Fri Jul 27, 2007 6:24 pm
- Location: France
- Contact:
-
LethalEncounter
- Team: Zombie
- Posts: 2717
- Joined: Wed Jul 25, 2007 10:10 pm
- John Adams
- Retired
- Posts: 9684
- Joined: Thu Jul 26, 2007 6:27 am
- EQ2Emu Server: EQ2Emulator Test Center
- Characters: John
- Location: Arizona
- Contact:
Honestly, if it makes your life easier to have admins extract the data themselves (ala Ascent and Map files), that should be an acceptable step in setting up an EQ2 Emulator server. Granted, harder than *not* requiring this step... but if it will seriously impact your time (since you are our only dev, really), I don't know.
Obviously, if you can get identical results through logic than sweat, go for it. Either way, it'll be slick I am sure.
Obviously, if you can get identical results through logic than sweat, go for it. Either way, it'll be slick I am sure.
- Jalister
- Posts: 47
- Joined: Thu Nov 15, 2007 4:57 pm
I'm glad to see that pathing will most likely be a feature. Speaking for myself, I don't mind extra steps in setting up a server if the overall product will be better. My two cents is do which ever will work better. If they will both work equally well, do the one that will be easier for you. I'm sure that if additional steps are needed, they would be documented.
- alfa
- Team Member
- Posts: 550
- Joined: Fri Jul 27, 2007 6:24 pm
- Location: France
- Contact:
You not necessary distrib the file, if a Admin set up a server, He should have the game for log in, so he have the maps files.LethalEncounter wrote:It might be possible, but if we went that route we would either have to start distributing the files (copyright violation) or make setup much more difficult by making the server owner extract their own files.
And I think it is not really difficult to copy a directory in your server folder.
But this is your choice
Fight with me... Or die, like the rest.
J.A. say: "I think Xinux tried to tell me this, but I ignore most things he suggests."
J.A. say: "I think Xinux tried to tell me this, but I ignore most things he suggests."
-
LethalEncounter
- Team: Zombie
- Posts: 2717
- Joined: Wed Jul 25, 2007 10:10 pm
They would need to first extract all the files from the vpk file and copy the needed ones to their server directory. Although there is the tool that can extract the files for you, no doubt that people would have difficulty getting it setup properly.alfa wrote:You not necessary distrib the file, if a Admin set up a server, He should have the game for log in, so he have the maps files.LethalEncounter wrote:It might be possible, but if we went that route we would either have to start distributing the files (copyright violation) or make setup much more difficult by making the server owner extract their own files.
And I think it is not really difficult to copy a directory in your server folder.
But this is your choiceFor example L2J have start to make there own Pathing, and after 3 year there still a big work to do ^^
-
chrrox
- Content Designer
- Posts: 177
- Joined: Wed Oct 17, 2007 8:12 pm
-
LethalEncounter
- Team: Zombie
- Posts: 2717
- Joined: Wed Jul 25, 2007 10:10 pm
-
Tyr
- Posts: 32
- Joined: Tue Jul 15, 2008 7:13 am
On a related note, would it be at all possible to use in-game commands to set up predetermined mob roaming? Perhaps using a log parser and macro like eq2 map? I personally found mob roaming a necessary element in some cases, mainly raids / instances, so just wonder if you had any ides on that.
Also, if you wanted to manually set up the bounders in all zones, then maybe it could be a project you could open up to all of us Admins who are patiently waiting to begin extensive work on our projects? You know, set up a list of zones that need to be done, explain how to use the commands, we all pick a zone(s) and then submit the finished data.
I am sure it would still be time consuming and all, but if say, 10 of us work on it now and then, even doing as little as one zone a week, we could have all the major zones completely covered by beta, if not all the zones.
Also, if you wanted to manually set up the bounders in all zones, then maybe it could be a project you could open up to all of us Admins who are patiently waiting to begin extensive work on our projects? You know, set up a list of zones that need to be done, explain how to use the commands, we all pick a zone(s) and then submit the finished data.
I am sure it would still be time consuming and all, but if say, 10 of us work on it now and then, even doing as little as one zone a week, we could have all the major zones completely covered by beta, if not all the zones.
- John Adams
- Retired
- Posts: 9684
- Joined: Thu Jul 26, 2007 6:27 am
- EQ2Emu Server: EQ2Emulator Test Center
- Characters: John
- Location: Arizona
- Contact:
Indeed, it would be nice to see some of those patient admins contribute to the community project as opposed to just waiting around for it to be completed so they can build their own custom server.Tyr wrote:Also, if you wanted to manually set up the bounders in all zones, then maybe it could be a project you could open up to all of us Admins who are patiently waiting to begin extensive work on our projects?
- John Adams
- Retired
- Posts: 9684
- Joined: Thu Jul 26, 2007 6:27 am
- EQ2Emu Server: EQ2Emulator Test Center
- Characters: John
- Location: Arizona
- Contact:
-
bobbydole
- Posts: 32
- Joined: Mon Jul 28, 2008 1:10 pm
How would something like this work? It seems like something that is really tedious to do manually. It wouldn't be so bad for the smaller zones, but the more complex ones would be a pain in the ass.Tyr wrote:On a related note, would it be at all possible to use in-game commands to set up predetermined mob roaming? Perhaps using a log parser and macro like eq2 map? I personally found mob roaming a necessary element in some cases, mainly raids / instances, so just wonder if you had any ides on that.
Also, if you wanted to manually set up the bounders in all zones, then maybe it could be a project you could open up to all of us Admins who are patiently waiting to begin extensive work on our projects? You know, set up a list of zones that need to be done, explain how to use the commands, we all pick a zone(s) and then submit the finished data.
I am sure it would still be time consuming and all, but if say, 10 of us work on it now and then, even doing as little as one zone a week, we could have all the major zones completely covered by beta, if not all the zones.
Who is online
Users browsing this forum: No registered users and 0 guests
