Internet Model
by Trevor Barnett · in Game Design and Creative Issues · 03/29/2001 (1:32 pm) · 4 replies
OK, so I've got this internet game, where players play a consistent character, like in Diablo. And like in Diablo players can host their own games. But the thing is in order to advance themselves players fight over resources and other things, and limiting these is very important for play balancing. How would you guys recommend balancing these resources while having player hosted servers? My fear is that someone will start their own server and just run and get resources. Unlike in Diablo, there will be no NPC's. I could dynamically change the values of the resources on the map based on the number of players present, but this feels like I'm cheating the player, and removing a layer of realism from the game. In just writing this post I decided to make the game peer to peer, rather then having a server/client scheme. Please give me thoughts on this. If I haven't given enough information, just ask. I'm trying to be vague because the idea isn't final yet.
About the author
#2
The network model really doesnt have much effect on your gameplay, its more the effect on the bandwidth and how scalable you want it to be.
My suggestion would be to go for a client/server model, and have the server "authenticate" any transactions involving resources to another server (i.e. have a central server that acts as the resource manager, when a player picks up a resource (or even less frequently, perhaps batching a number of resource transactions into one) it does a request to the resource manager saying "I am server X, please am I able to have X resource?"
What you want is course grained control over the amount of resource per machine right? this would give you some chance to do that. Of course you need to think about security.
Phil.
03/30/2001 (12:59 am)
With a peering model, I think you're asking for problems with people hacking clients to add to thier own character.The network model really doesnt have much effect on your gameplay, its more the effect on the bandwidth and how scalable you want it to be.
My suggestion would be to go for a client/server model, and have the server "authenticate" any transactions involving resources to another server (i.e. have a central server that acts as the resource manager, when a player picks up a resource (or even less frequently, perhaps batching a number of resource transactions into one) it does a request to the resource manager saying "I am server X, please am I able to have X resource?"
What you want is course grained control over the amount of resource per machine right? this would give you some chance to do that. Of course you need to think about security.
Phil.
#3
03/31/2001 (10:31 am)
OK good input, I read other thing similiar to this. But for this quasea MMORPG that I'm making, I'm still a bit concerned about players hosting their own servers. In todays world, clans host their own Quake3 servers, why would a member of my game host a server? I don't want to give them any control over the game at all, or else it wouldn't be fair. Again, think Diablo. Imagine an indie game developer doing Diablo with a client/server network scheme (all servers referencing a central server). Is it feasible? Any commentary would be nice.
#4
Diablo is a good example of this, it was completely hacked to hell in the first version, and I'm aware that
there are problems with the current version too.
The only things you can do are either:
1) Authenticate major transactions with a known "safe" source, wether thats a single central system or not is irrelevant.
2) Make it so that resources are only allowed on the same server, so they are not carried across from server to server.
3) Put in some very complex authentication that the actual "server" is not hacked (unlikely to be able to catch all cases of this anyway).
Unless transactions are done through some known safe brokering system, its just impossible to contain any sort of hacking.
Depending on the game, you might think about just letting people go. Basically have a way of players "blacking" a server if they thing cheats
are going on there. And have a simple player blacklist.
In the end, its possibly better to enable a community of players to police themselves in an orderly and structured way, than to try and get rid of all
hacking.
The only thing you actually need to have control over, is *WHERE* they look for game servers. Thats what gives you the power.
Phil.
03/31/2001 (12:31 pm)
typically, its not players that host servers, its ISP's trying to add value to thier hosting business. But whichever way you go, there is potential for misuse.Diablo is a good example of this, it was completely hacked to hell in the first version, and I'm aware that
there are problems with the current version too.
The only things you can do are either:
1) Authenticate major transactions with a known "safe" source, wether thats a single central system or not is irrelevant.
2) Make it so that resources are only allowed on the same server, so they are not carried across from server to server.
3) Put in some very complex authentication that the actual "server" is not hacked (unlikely to be able to catch all cases of this anyway).
Unless transactions are done through some known safe brokering system, its just impossible to contain any sort of hacking.
Depending on the game, you might think about just letting people go. Basically have a way of players "blacking" a server if they thing cheats
are going on there. And have a simple player blacklist.
In the end, its possibly better to enable a community of players to police themselves in an orderly and structured way, than to try and get rid of all
hacking.
The only thing you actually need to have control over, is *WHERE* they look for game servers. Thats what gives you the power.
Phil.
Torque Owner Trevor Barnett