Microsoft DirectX 8.1 (Visual Basic)

Client/Server Topology

A client/server game consists of the individual players' computers, connected to a central server computer. Schematically, the topology of a four-player peer-to-peer game looks like:

Game play is handled by having each user's game client communicate with the server. The server is responsible for passing information on to the other users. For instance, when one user moves, they send a message to the server. The server then sends messages to the other players to inform them of a change in game state. The server can have a number of responsibilities:

A client/server game is normally arranged and launched through a lobby client application that resides on the user's computer. The lobby client acts as a link to a lobby server application that is normally running on a the same remote computer that is hosting the game. Once the game has been launched, the game server application becomes the host, and handles tasks such as admitting new users to the game.

There are a number of advantages to client/server games:

However, once you have developed and shipped a peer-to-peer game, you are essentially finished. The game clients are largely self-sufficient. With a client/server game, you have an ongoing commitment to your users that goes beyond providing normal support services. You must also provide and maintain a game server computer and the associated software, along with the network links to handle all the messaging, for the lifetime of the application. In the case of massively multiplayer games, you may need to operate your servers for extended periods with few or no breaks in service, or risk angering users by disrupting their game play.