🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Pathfinding on MMORPG server

Started by
6 comments, last by moregames 23 years, 8 months ago
I started this thread in the java forum, but maybe it fits better here. The question is where to handle player pathfinding in a large online environment. Below are two scenarios which is better, more commonly used (perhaps there are others?):

SCENARIO 1
1. client pathfinds according to player move
2. client requests to move 1 step at a time to the server
3. the server checks to make sure the char can move these steps and replies OK
4. the client repeats 2-3 till path is done.

SCENARIO 2
1. Client sends move request to server
2. Server handles the pathfinding
3. Server pushes move off the path stack and sends update to client
Edited by - moregames on 10/21/00 7:56:50 AM
Advertisement
If you are doing a large scale multiplayer game, aka Everquest, then the clients need to do the path finding. The server would be way too bogged down to handle it for players.

One thing to note is that most massively multiplayer games do no player pathfinding. If you run into a tree you just hang on it. Since the game is all about player control I think most players are expected to find their own way.

Ultima Online does do some very minor pathfinding but nothing significant. And the logic probably resides on the client.

Bottom line, let the clients do it and report updates.




Edited by - arrogantgod on October 21, 2000 1:19:36 PM
Thanks for your reply, how about NPC:s they gotta do some kind of pathfinding when chasing players, or do they just use a compass and use hit/turn algorithm? As someone mentioned in some forum/some thread around here, everquest allows mobs to run thru walls, how about Ultima and other games?
EQ & mobs through walls is not intended behavior, i don''t think.

Either the server, or another computer should probably do pathfinding for the npc''s.

Even with very few people on, I don''t think you would want the server to do the collision detection - there''s way too much latency&lag on the pipe for that. (path finding is for npc''s only)
- The trade-off between price and quality does not exist in Japan. Rather, the idea that high quality brings on cost reduction is widely accepted.-- Tajima & Matsubara
Regarding UO pathfinding... I did some scripting in POL for a UO shard, and the pathfinding is both on the client AND the server... the server was using a modified object file, so if clients did not have this updated file, they were unable to cross areas that the server considered "blocked" (i.e. walls, closed doors, etc). Of course, that game is 2D, probably uses an array for maps and such, so there''s very little processing involved (relative to a 3D game like EQ).


MatrixCubed
For EQ, Verant has said several times that they purposely have mobs ignore things that aren''t part of the terrain (e.g. building walls and such). It makes collision detection easier for them and prevents stuff that they consider exploits such as ducking into an inn to escape a puma or something.

Another thing that they do is to have mobs ignore the z axis when attacking. This is to prevent stuff like the player levitating above a mob and nuking it without the mob being able to hit back.

I''m not sure but I think the when the area of effect for AE spells is being considered they again ignore the z axis and any boundries. This would be a big cause of agroing through walls/floors and such. Again they''re making life easier on themselves.

-Mike
yeah, they basically sum it up with the statement

"We give NPCs advantages such as this because we expect a player to be far more intelligent than our AI".


I think they are right.

I heard stories of during beta, before they made the z-axis change, there was a wizard spell that allowed you to "fly" (not just levitate -- full motion).

The obvious thing to do was to simply fly high into the air and nuke anything below you.

You could pull the same sort of tricks with other stuff as well.

Until someone can write an efficient enough AI/collision system to handle this, most games will probably be resigned to having to work in a similiar manner.

---------------------------Hello, and Welcome to some arbitrary temporal location in the space-time continuum.

Oh yeah, you also need pathing data for things like "fear" type spells as well as "charm". Also, losing connection (in EQ anyway) makes the player "become" an NPC, so therefore using pathing data until the 30 second timer is up to prevent cheating.

---------------------------Hello, and Welcome to some arbitrary temporal location in the space-time continuum.

This topic is closed to new replies.

Advertisement