Difference between revisions of "Game Servers"

From gdp3
Jump to: navigation, search
Line 4: Line 4:
 
[[Category:Patterns created on the Wiki]]
 
[[Category:Patterns created on the Wiki]]
 
[[Category:To be Published]]
 
[[Category:To be Published]]
[[Category:Staffan's current workpage]]
 
 
[[Category:Platform Patterns]]
 
[[Category:Platform Patterns]]
 
''Computer or mechanical systems responsible for running individual game instances.''
 
''Computer or mechanical systems responsible for running individual game instances.''

Revision as of 09:43, 22 June 2014

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. 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.

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.

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

Game Servers do in most cases instantiate Dedicated Game Facilitators by handling all non-player actions and game system updates needed.

Relations

Can Instantiate

Dedicated Game Facilitators, Instances, Self-Facilitated Games, Self-Facilitated Rules

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

-