Online games can be delivered via the Internet or through dedicated game servers on wide area networks with locally installed client software on a player’s personal computer. Single-player games are often accessed directly from a Web site and a player communicates with a game from inside his or her Web browser.
Game play for single-user games using a Web browser interface is much like game play for single-user games designed for stand-alone PCs, because the game logic may in fact be running on the local PC and not on the server.
To communicate with a dedicated game server, the client program may be implemented using any programming language capable of supporting socket programming. Socket programming is a technique for allowing the exchange of information between two programs running on the same computer network.
Browser interfaces to online games have the advantage of allowing for multiplatform game implementation with very little additional effort on the part of the developers. When people think of online games, they often envision multiplayer games, with several players distributed at distant locations on a local area network or globally connected by the World Wide Web.
There are two big problems confronting designers of multiplayer games. The first is difficulty in synchronizing game-state information when multiple instances of the game client software are running simultaneously.
The second difficulty is related to the first in that the latency (or response time lags) that occurs as the user inputs and the resulting game consequences need to be shared with players using client software running on independent machines connected by a relatively slow network (the Internet).
The types of multiplayer games that are implemented most easily on the Internet are turn-based games or event-based games, because in these, the lags in response times inherent in Internet applications are most easily hidden. Interactivity and social diversity are two of the most powerful elements of the Internet.
The Internet gives designers a chance to build community followings for their games. This was not done easily before the advent of online games. For some games (e.g., Quake or Diablo), players created their own communities.
Some games (e.g., Fireteam) are based on players recruiting teams to play against similarly recruited teams across the Internet. Many teams stay together for long periods of time and enjoy their inclusion in a cohesive group. Teams may create their own Web sites to coordinate their efforts.
The World Wide Web provides a number of resources and opportunities to both game developers and game players during all phases of the software development cycle. Software can be delivered directly to game players.
Games can be played over the Internet. Developers can communicate with each other and their potential user groups during the game development process. Users can make use of the Internet to form their own support groups.