Networking & Lobby Services for Publishers and Developers
Latest Customers:

This is a short summary of the range of networking approaches generally seen in multiplayer game programming. You may find this useful to read, even if you are experienced with netcode, because it presents a broad picture of the solution that DemonWare provides, introduces a few key terms, and gives you a broad insight into our philosophy.

Online multiplayer games are generally configured in either a client/serveror peer-to-peer topology:

Client/Server Games

In a client/server game, network traffic about game state (e.g., the positions of players in the game world) flows according to a radial-topology (see right). All the players send information to the server about what they are doing, and the server sends information back down to all clients about each other. The server is the final authority about what happens in the game. It is common to make it possible for a player's computer to also act as the server whilst he/she is playing the game. This avoids the need for having a lot of dedicated computer resources in a server farm.

Peer-to-Peer (P2P) Games

In a peer-to-peer game, game traffic flows directly from each connected computer to every other connected computer (see left). Each player sends information to every other player about what he/she is doing, and steps are taken to ensure that every player uses this information in exactly the same way to produce exactly the same results. It is necessary that every peer agree exactly about what happens in the game because there is no authority to perform corrections.

Game Examples

The client/server topology is typically
used for first-person shooter games, such as the Quake series, Half-Life and Battlefield 1942. It is also sometimes used in vehicle simulation games. For example, in Battlefield 1942 you can control tanks and planes.

The peer-to-peer topology is typically
used in real-time strategy (RTS) games, turn-based based games, simulation games, and sports games. Examples of games that have used this kind of topology are Starcraft and MotoGP.

Client/Server
Peer-to-Peer
Each game needs a server
Games do not need a server
Approximate representation of game world
Exact representation of game world
Scales well to many players
Does not scale well (< 16 players on DSL)
Responsiveness determined by server (good for twitch games
Responsiveness determined by slowest peer (good for RTS and games where latency can be disguised
Difficult to continue game if server crashes or disconnects
No server so game can continue until all players disconnect

[back to top]

©2006 DemonWare Ltd.
|