Taking cheating asside you could do the following:
-each player is a server for a very small area.
-as the server updates the clients, they should have a ''copy'' of the server game-state.
-every time a player (dis)connects, the server broadcast to it''s players and the surrounding servers which player he would to be the server in case of a failure.
-when a server fail, all players and surrounding servers ask the ''blessed'' player "what to do now?", then this player takes place as a server.
-a server should be able, at any time, to just say "I''m too overloaded/bandwidth saturated" and promote a player to server status, splitting it''s controled area between both.
Of course this system is not 100% fault tolerant if do a better look, but can be improved by adding non-gaming server peers (authentication, transaction, topology, etc).
But in the end it all comes to the fact that you must have a trusted network or outsmart me and most of us by designing a system that secure and feasible.
MMO peer to peer gaming
A good idea will keep you awake during the day.A great idea will keep you awake during the night.
December 14, 2002 11:05 AM
Kazaa uses the computers of those users with fast connections as servers to keep file information on.
December 15, 2002 09:17 PM
I gave this thread some thought and wanted to give it a shot. Currently I feel that this type of game would only be possible with only broadband players (DSL/Cable/Fibre) if you use the star-network topography in the network theory. But, if you use the convention where each client performs all calculations for 1 small area of the world, and that area only, he would only have to transmit data concerning that area to those players in that specific area. By area I mean approximately 1 square kilometer of the virtual world. As the number of players increase, the area of land (or sea or air) space each client is nominated to be the authoritative server for.
To summarise my brainwave
* Every client is nominated as a server, if it''s bandwidth is high enough, after log-in
* Every client, when nominated performs all physics calulations its nominated area only, plus sends/receives its own avatars actions to whoever is serving the area he/she is in.
* There would be key servers which take over "abandoned" land and assign land to newly logged in players.
* The larger the player base, the larger the world
* Process power is distributed (think SETI screensavers)
* Cheating is overcome by public and private key encryption upon connection to network.
So basically you end up with NWN but no loading times between areas
To summarise my brainwave
* Every client is nominated as a server, if it''s bandwidth is high enough, after log-in
* Every client, when nominated performs all physics calulations its nominated area only, plus sends/receives its own avatars actions to whoever is serving the area he/she is in.
* There would be key servers which take over "abandoned" land and assign land to newly logged in players.
* The larger the player base, the larger the world
* Process power is distributed (think SETI screensavers)
* Cheating is overcome by public and private key encryption upon connection to network.
So basically you end up with NWN but no loading times between areas
![](smile.gif)
Look for research on Byzantine-fault-tolerant stuff. This is the most interesting thing I''ve found so far:
http://www.pmg.lcs.mit.edu/~castro/osdi2000/
Microsoft''s got a project to do secure peer-to-peer file-storing. They''ve got some stuff here.
http://research.microsoft.com/sn/Farsite/
Also look for stuff on the Byzantine general''s problem. It involves keeping communication accurate when up to 1/3 of the communicators have been comprimised or are faulty.
http://www.pmg.lcs.mit.edu/~castro/osdi2000/
Microsoft''s got a project to do secure peer-to-peer file-storing. They''ve got some stuff here.
http://research.microsoft.com/sn/Farsite/
Also look for stuff on the Byzantine general''s problem. It involves keeping communication accurate when up to 1/3 of the communicators have been comprimised or are faulty.
Aaargh! Everyone save your workspaces before your program locks up your computer!
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement