Computer or mechanical systems responsible for running individual game instances.
Computer-mediated games need programs to uphold the game state, handle input from players and provide presentations of game events. In many cases they also have to handle various agents that perform actions within the game. Game Servers is the name of these programs. Game instances can also be maintained by mechanical systems, e.g. pinball machines, so these can also be Game Servers even if they are not full-fledged computers.
For Massively Multiplayer Online Games, Game Servers are frequently called shards.
Note: while a computer system can be built to handle several different game instances, this pattern describes the logics that control one game instance. Systems that control more than one game instance and support some form of extra-game communication or interaction are at least partially Meta Servers.
The first Game Servers were developed for playing Nim, Tic-Tac-Toe, and Chess in the 1940s and 1950s but already in the 19th century did Charles Babbage and Ada Lovelace design concepts for creative mechanical systems for playing Tic-Tac-Toe.
Arcade Machines are dedicated machines for playing games. Well-known examples of this type of games include Asteroids, Gauntlet, Pong, Space Invaders, and the Donkey Kong and Pac-Man series. Similarly, Pinball Games such as Star Trek: The Next Generation can be considered Game Servers.
Online Games require Game Servers so that players have some place to connect to when they wish to play. Examples of this can be found in many genres: the Battlefield, Unreal Tournament, and Quake series for First-Person Shooters; BatMUD and DragonMud for MUDs; Eve Online, World of Warcraft, and Ultima Online for Massively Multiplayer Online Games; and Candy Crush Saga and FarmVille for Social Media Games.
Using the pattern
The two primary requirements of Game Servers is to support the gameplay mechanics and provide functionality for players to join game instances. In most cases supporting gameplay is done through implementing in code all rules that the game has and the actions a Dedicated Game Facilitator needs, but with some extra effort a simulation of the game components can instead be provided. This extra effort allow for either Self-Facilitated Games or Self-Facilitated Rules which otherwise are difficult to combine with Game Servers (see the mobile app version of M.I.G. for an example of this). It can also be used to offer (rather than enforce) functionality to off-load some of the Excise players of Self-Facilitated Games need to do. While implementing the rules of a game or simulating the environment in which a game can be played is the primary requirements from a pure gameplay perspective, many Game Servers are also responsible for containing and presenting Game Worlds.
While the main reason for having Game Servers is to provide online Multiplayer Games, there are some distinct variants. First, the use of Meta Servers is very common since this allows the number of players to scale easily at the expense of not having them play the same game instance. Second, some servers provide Persistent Game Worlds which means that they are not supposed to be reset to former states and that using multiple copies of the Game Servers would mean that they would start to diverge. It may be for this reason that there are few examples of games using Meta Servers together with Persistent Game Worlds. Finally, Game Servers can provide a compromise between Single-Player Games and [Multiplayer Games]] by being Massively Single-Player Online Games. FarmVille and Candy Crush Saga are examples of this.
Game Servers do not per se require Game Clients, e.g. MUDs such as DragonMud and Kingdoms can be played without using Game Clients. However, as soon as games have graphical (or even ascii-based) representation they become a necessity. Games using Game Servers that wish to handle more players than a single game instance can handle make use of Meta Servers.
Several patterns related to how players can modify future game instances or communicate with each other are relevant when designing Game Servers. Player Decided Rule Setup give the players that are going to play together a chance to choose the variant of the game they prefer most while support for Player Kicking can remove players that somehow have made themselves unwanted. Chat Channels and Game Lobbies are necessary for players to be able to discuss with each other how to use these possibility.
Game Servers do typically not provide interfaces for players, this is the responsibility of Game Clients. The exception is games using purely Illocutionary Interfaces, i.e. text-based interfaces, since here the players can be interacting directly with the games using the protocol that is used to communicate with the Game Servers.
Quite understandably, Game Servers provide Mediated Gameplay to players. They do in most cases instantiate Dedicated Game Facilitators by handling all non-player actions and game system updates needed, and can support Unsynchronized Game Sessions.
Game Servers more or less automatically provide Gameplay Statistics for players; this is needed to run the game and making it possible to access outside the game or outside game instances is typically not a hard process.
Dedicated Game Facilitators, Game Worlds, Gameplay Statistics, Instances, Massively Single-Player Online Games, Mediated Gameplay, Multiplayer Games, Persistent Game Worlds, Self-Facilitated Games, Self-Facilitated Rules, Unsynchronized Game Sessions
with Meta Servers
Can Be Instantiated By
Can Be Modulated By
Possible Closure Effects
Potentially Conflicting With
New pattern created in this wiki.
- Björk, S. 2013. On The Foundations of Digital Games. Presentation at Foundations of Digital Games 2013 conference.