Difference between revisions of "Game Servers"

From gdp3
Jump to: navigation, search
 
(3 intermediate revisions by the same user not shown)
Line 21: Line 21:
  
 
== Using the pattern ==
 
== 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 Facilitators|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.
+
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 Facilitators|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.
 
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.
Line 35: Line 35:
  
 
== Consequences ==
 
== Consequences ==
[[Game Servers]] do in most cases instantiate [[Dedicated Game Facilitators]] by handling all non-player actions and game system updates needed.
+
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.
  
 
== Relations ==
 
== Relations ==
 
=== Can Instantiate ===
 
=== Can Instantiate ===
 
[[Dedicated Game Facilitators]],  
 
[[Dedicated Game Facilitators]],  
 +
[[Game Worlds]],
 +
[[Gameplay Statistics]],
 
[[Instances]],  
 
[[Instances]],  
 
[[Massively Single-Player Online Games]],  
 
[[Massively Single-Player Online Games]],  
 +
[[Mediated Gameplay]],
 
[[Multiplayer Games]],  
 
[[Multiplayer Games]],  
 
[[Persistent Game Worlds]],  
 
[[Persistent Game Worlds]],  
 
[[Self-Facilitated Games]],  
 
[[Self-Facilitated Games]],  
[[Self-Facilitated Rules]]
+
[[Self-Facilitated Rules]],
 +
[[Unsynchronized Game Sessions]]
  
 
==== with [[Meta Servers]] ====
 
==== with [[Meta Servers]] ====

Latest revision as of 18:08, 29 January 2015

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.

Examples

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[1].

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.

Instances is a design possibility that for book-keeping reasons only is practical to use often when one has Game Servers. Together with Meta Servers, Game Servers can make automate Meta Games.

Interface Aspects

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.

Consequences

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.

Relations

Can Instantiate

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

Meta Games

Can Modulate

Excise, Self-Facilitated Rules, Self-Facilitated Games

Can Be Instantiated By

-

Can Be Modulated By

Chat Channels, Game Clients, Game Lobbies, Instances, Meta Servers, Player Decided Rule Setup, Player Kicking

Possible Closure Effects

-

Potentially Conflicting With

Self-Facilitated Rules, Self-Facilitated Games

History

New pattern created in this wiki.

References

  1. Björk, S. 2013. On The Foundations of Digital Games. Presentation at Foundations of Digital Games 2013 conference.

Acknowledgements

-