Sign in to follow this  
Astaelan

Client/Server design question

Recommended Posts

Astaelan    122
Hello, I'm relatively new to 3D game programming, and as such I decided to try with the simplest approach I could find, which was to use C#.NET in combination with something like RealmForge, Axiom, or Purple#. I've played a bit with each, liking what each has to offer, but I haven't settled on anything yet because one major question still burns in my mind. Here is the scenario, let's take a game like Diablo, and make it more massive online play oriented. Not a complicated idea overall, except my lack of knowledge in this area falls short. How would you deal with the server with regards to handling monster movement? This raises 1 major question for me, and that is how you go about designing a server, so that it loads enough information to handle simple collision detection? I would like to offload as much from the server as possible, so if it's possible to avoid having to prerender every map that would be great. I'm thinking there should be some way, by only tracking coordinate information to have an acceptable system. I would be satisfied if there was an easy way to have the server identify a target, and movement would be based on moving towards the character. The problem here, resides in the static environment that the NPC would walk through. It seems unreasonable to have the client the NPC is tracking to tell the server they went over things (hacking prevention). So this is where I'm hoping some guru's with some experience in this field can shed some light on an idea I haven't considered. Essentially, complicated path finding is not something I'm worried about. Just so long as the monster can give chase, and upon hitting an obstruction, is prevented from moving forward, and perhaps goes back to an idle wandering if the character they were chasing gets a certain distance. I don't know if it's possible to avoid loading the heightmap for every map, and all the static items in a virtual pre-render type environment. As I said, fairly new to 3D but I don't think this project is too daunting if I can figure out this issue. Thanks in advance :)

Share this post


Link to post
Share on other sites
JohnBolton    1372
Quote:
Original post by Astaelan
I'm relatively new to 3D game programming...
Ok.
Quote:
Original post by Astaelan
... I decided to try with the simplest approach I could find ...
Good thinking.
Quote:
Original post by Astaelan
... Here is the scenario, let's take a game like Diablo, and make it more massive online play oriented. Not a complicated idea overall, ...
You couldn't be more wrong...

MMORPG -- that's Massively Multiplayer Online Role-Playing Game. Let's look at each of these words in and think about how they relate to the word "simple".

"Massively" is simple?
NO

"Multiplayer" is simple?
NO

"Online" is simple?
NO

"Role-Playing" is simple?
NO

"Game" is simple?
Maybe

Take some simple advice. Make a game that does not include any of the words, "Massively", "Multiplayer", "Online", or "Role-Playing".

Share this post


Link to post
Share on other sites
Mayrel    348
Quote:
Original post by Astaelan
Hello,

Hello.
Quote:

Here is the scenario, let's take a game like Diablo, and make it more massive online play oriented.

I'd say let's not.
Quote:

This raises 1 major question for me, and that is how you go about designing a server, so that it loads enough information to handle simple collision detection? I would like to offload as much from the server as possible, so if it's possible to avoid having to prerender every map that would be great.

What do you mean by 'prerender'?
Quote:

I'm thinking there should be some way, by only tracking coordinate information to have an acceptable system.
I would be satisfied if there was an easy way to have the server identify a target, and movement would be based on moving towards the character. The problem here, resides in the static environment that the NPC would walk through. It seems unreasonable to have the client the NPC is tracking to tell the server they went over things (hacking prevention). So this is where I'm hoping some guru's with some experience in this field can shed some light on an idea I haven't considered.

Erk? This is how it works -- both the server and the client have a complete map of the area a player is in. The client tells the server what the player is telling its avatar to do. The server tells the client what the avatar has done. The client updates its display.

Share this post


Link to post
Share on other sites
DaTroof    162
Quote:
Original post by Mayrel
What do you mean by 'prerender'?


This is an important question. The server probably shouldn't render anything at all. At least not in the graphical sense. Just give it enough coordinate and vector data to handle movement and collision detection, which will be a lot less costly without rendering.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this