Non-centralized network model for large numbers of players

Started by
2 comments, last by fyhuang 19 years, 7 months ago
I've been thinking... I don't own/run/can run a game server, so if I were to design a multiplayer game with more than 3-4 players, I would need some kind of network model that is not peer-to-peer, but doesn't depend on the existence of a single server either. Why not a single computer acting as a server? I have dialup and therefore very limited bandwidth, and for games with, say, 16+ players, one would have a hard time running the game and running a server at the same time. I was thinking of a distributed model, where one or more computers would share the task of being server, and server tasks could be delegated automatically, so that if a player running a server quit the game, the game could still go on normally. What do you guys think?
- fyhuang [ site ]
Advertisement
you will have a harder time with peer to peer.

I've never been able to see any advantages in peer to peer at all except in one scheme.

UDP broadcast - AFAIK its a feature suppressed by many ISP's in their broad band connections but it is in the sort of global Ethernet network that is more and more the backbone quite appropriate.

in ethernet -which is what our cablemodems are attaching too - hence all the activity you see even when you're not doing anything - is traffic that could be read by your comp but isnt.

the UDP bcast goes to all machines just as a packet in an ethernet network goes to all machines. Server-client in lan games is therefore inefficient. in lan games UDP peer2peer Broadcast is the best.

But with all the restriction on the internet, and your small connection. I dont see how peer to peer can ever be an advantage.
Just keep in mind that it's an awful lot of work. For one thing, it means that there'll be significant latency when different game systems try to communicate.

Where distributed models are usually used are in situations where the workload can be split up into independent units that each client can handle alone, so it doesn't need to communicate with the other clients until it's work is done.

If your distributed servers each handle different parts of the game somehow, and can do this without communicating with the other servers, then it could work.

Second problem is what if they go offline. You'd need some kind of redundancy, other clients should be able to take over the instant a server goes offline. This means the clients should have all the data available that the server had, in order to be able to reconstruct the game state.

Third is the problem with security. If you dont have separate dedicated servers, you're making it easy for players to manipulate game data. They can see what data is sent to/from the server, and have access to the server code. This may or may not be a big problem for your game, but you should be aware of it.

Of course this all depends on what kind of game you're talking about. It could work, but don't pretend it'd be easy. ;)
I know it won't be easy - I'm just thinking of the idea, I'll get someone else to implement it for me :).
- fyhuang [ site ]

This topic is closed to new replies.

Advertisement