Multiplayer Design
Apparently many people seem to think that making a nice multiplayer game is largely an exercise in building the graphics, rpg elements, etc. whatever. This seems strange to me, but ok: Tell me about design people, because it doesn''t seem obvious to me.
Let''s talk about a simple real time strategy game. Ignore all the pieces that are irrelevant and lets talk only about the three really important aspects:
1) Maintaining state information
2) Networked communication
3) Consistancy and scheduling
It''s easy to imagine a client server model, where every client is simply informed of updates from the server, and informs the server of updates the user wants to do. I call this the standard networked model: lots of things use a variation of it. I''m not really interested in this. It''s straight out the text book. =P
Now how about a peer to peer system. All the machines maintain total state information, and inform each other of things they want to do. This is harder:
How to you do scheduling?
Does every machine require a connection to every other machine?
Over a local network should you be using broadcast?
Is this a viable model over the internet?
Is it really required for every machine to machine total state information?
How do you perform checking to ensure consistancy? (no cheating!)
How about a combination? Surely a single host cannot possibly manage the requests of many hundreds (or thousands) of users simulatenously. What if you had a series of host nodes, which ran on a local faster ethernet, and had the state information distributed over the entire node set: then use the standard model to connect every external machine (ie. On internet, rather than local network) to the set of host nodes?
What if the set of host nodes was actually distributed over the internet, with the client-server interaction actually taking place only in fast local networks (ie. the reverse)?
If you did that, how could you fragment your state information, yet maintain consistancy and accountability between host nodes?
What sort of model do games usually use?
How about MMO''s?
Can anyone suggest a good source of implementation independent design stuff regarding network systems for games?
...this may sound like a rant, but I hope not. I''m really interested, but not in implementation, only in design. How you talk from one machine to another is trivial. However you do it, unix networking, directx, etc. Makes no real difference. What I''m really interested in is the design of the network modules / interfaces / etc. ...which strangely, no one seems to talk about... maybe I''m just looking in the wrong places?
Ciao!
Ps. Before anyone asks, yes, I've read the" peer-to-peer as an alternative..." thread, but I don't believe it addressed all of the issues I've raised. eg. Trusted peers, event scheduling, distributed virtual environments, etc.
[edited by - Shadow Mint on April 1, 2002 5:07:12 AM]
[edited by - Shadow Mint on April 1, 2002 5:07:12 AM]
I don’t have a problem with peer-to-peer architectures for session based games like RTS''s etc. In fact I really love Ensembles network implementation. You can read about it HERE
A great book on this subject is "Networked Virtual Environments" by Sandeep Singhal and Michael Zyda. ISBN: 0-201-3255708
It discusses the different types of networked virtual environments and their implementations. Including peer-to-peer implementations. They do however say that these interactions must occur on a trusted network where the clients can be verified physically as not being hacked.
Networked Virtual Environments are a different domain then today’s MMORPGS but there’s alot of crossover and there''s a lot of great research in this book that can be applied.
A great book on this subject is "Networked Virtual Environments" by Sandeep Singhal and Michael Zyda. ISBN: 0-201-3255708
It discusses the different types of networked virtual environments and their implementations. Including peer-to-peer implementations. They do however say that these interactions must occur on a trusted network where the clients can be verified physically as not being hacked.
Networked Virtual Environments are a different domain then today’s MMORPGS but there’s alot of crossover and there''s a lot of great research in this book that can be applied.
quote:
Original post by Shadow Mint
What I''m really interested in is the design of the network modules / interfaces / etc. ...which strangely, no one seems to talk about... maybe I''m just looking in the wrong places?
No your right, this information is very hard to find. However if you can get your hands on the March edition of Game Developer Magazine, there’s a great article "Distributing Object State in Networked Games" which describes a pretty slick class structure for distributing state data across a network to multiple hosts.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement