Difference between revisions of "AI Players"

From gdp3
Jump to: navigation, search
 
(58 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
[[Category:Patterns]]
 
[[Category:Patterns]]
[[Category:Needs work]]
+
[[Category:Agent Patterns]]
 +
[[Category:Player Patterns]]
 
[[Category:Needs revision]]
 
[[Category:Needs revision]]
[[Category:Needs examples]]
 
[[Category:Needs references]]
 
 
[[Category:Patterns created on the Wiki]]
 
[[Category:Patterns created on the Wiki]]
[[Category:Stub]]
 
 
''AI Agents that are supposed to be able to function on a level comparable to players.''
 
''AI Agents that are supposed to be able to function on a level comparable to players.''
 +
 +
All games need players. However, there are not always enough people available and willing to play to fit the demands of a game's design and in these cases supplementing people with rule-based algorithms can be a solution. These [[AI Players]] provide a flexibility for when gameplay can occur and may also be able to offer pre-defined or customizable opponents to fit the level of challenge people may wish to have.
  
 
=== Examples ===
 
=== Examples ===
 +
Already the first computer game, ''OXO'' - a computer-based version of [[Tic-Tac-Toe]] developed by Alexander S. Douglas, allowed a player to compete against the program itself<ref name="OXO"/>. Today nearly all multiplayer computer games have support for replacing people with computer opponents (e.g. the [[Age of Empires series]], the [[Battlefield series]], the [[Command and Conquer series]], the [[Left 4 Dead series]], and the [[Tekken series]]). For some of these games it may be unpractical to find enough people to fill all the player slots available, so the norm in these cases is that some or the majority of the players are actually [[AI Players]] (examples of where this can occur include the [[Europa Universalis series]], the [[Civilization (video game) series|Civilization series]], and the [[Need for Speed series]]).
 +
 +
Not all AI players need to be controlled by computers. A 'robot', really a set of instructions that a human needed to follow, was introduced in the expansion ''The Gathering Storm'' of the card game [[Race for the Galaxy]]. This 'robot' allows a single player to player against it as if a two-player instance of the game was being played. An even earlier example of an [[AI Players|AI Player]] was 'MENACE' by Donald Michie. Although not the first [[AI Players|AI Player]] for [[Tic-Tac-Toe]] it could get better after each time it played and was first implemented through the use of beans and about 300 matchboxes<ref name="Michie"/>. Another solution, that only works for a small range of games where interaction between players are very limited, is to use recordings of previous players actions. The [[ESP Game]] is an example of this.
 +
 +
Depending on which perspective one chooses to use, programming games such as [[Crobots]] and [[P-Robots]] either only have [[AI Players]] or are zero-player games.
  
 
== Using the pattern ==
 
== Using the pattern ==
 +
The creation of [[AI Players]] is the design of [[Algorithmic Agents]] that can take the role of players. This means that the [[Algorithmic Agents]] need to have an [[Own Agenda]] of winning the game or playing as good as possible, and may need to display [[Emotional Attachment]] to the outcomes as a substitute for the [[Social Interaction]] that commonly occurs among people playing the same game. For games with [[Parties]] or [[Teams]], it also means that they have to be able to work within these, possibly including supporting [[Team Combos]]. While [[Team Strategy Identification]] can be demanding to support (due to the need for [[Negotiation]]) this can be mitigated through the possibility to express suggestions or orders as [[Performative Utterances]] and have the [[AI Players]] have the [[Enforced Agent Behavior]] to always follows these.
  
=== Diegetic Aspects ===
+
One aspect of this design is to consider if the choice of using [[AI Players]] can only be done at the beginning of them game or if this can change during gameplay. The first option allows [[Multiplayer Games]] can have more players than people playing it or than they can be played as if they were [[Single-Player Games]] while avoiding problems of [[Player Balance]] and [[Team Balance]] due to changes in players. The second option allows [[Late Arriving Players]] and [[Drop-In/Drop-Out]] that give players' a [[Freedom of Choice]] in how to synchronized their own play sessions with other players, but which may have problems with [[Player Balance]] and [[Team Balance]] unless they are pure [[Cooperation]] games. A special case here may be [[Mules]], which are started by players (possibly after being created and programmed by them) to fill in for them to do [[Grinding]] (the parodical game [[Progress Quest]] can be seen as only letting a human set up a [[Mules|Mule]] and nothing else).
 +
 
 +
One less common choice for [[AI Players]] is make the game design demand that all players are [[AI Players]]. While not necessary, this is typically combined with letting players have the [[Creative Control]] to program the [[AI Players]] as is done in [[Crobots]] and [[P-Robots]]. Another uncommon choice for [[AI Players]] is to based them on [[Replays]]. Here the reason it is uncommon is probably because gameplay typically involves much interaction between the players which a recording is unlikely to be able to match up to (but see the [[ESP Game]]). [[Ghosts]] are close to this solution but clearly discernible as [[Replays]] and are thereby not perceived as players, in addition to not being able to interact with other game elements.
 +
 
 +
If several various types of [[AI Players]] are offered to players to choose from together with explanations of their difference in gaming and in skill, this can provide both [[Varied Gameplay]] and an indirect way of having [[Difficulty Levels]] and [[Handicap Systems]]. If the [[AI Players]] can change their behavior due to how well people are gaming, this is one form of [[Dynamic Difficulty Adjustment]].
 +
 
 +
[[AI Players]] that control physical robots give rise to [[Robotic Players]].
  
 
=== Interface Aspects ===
 
=== Interface Aspects ===
 +
For [[Self-Facilitated Games]], the use of [[AI Players]] typically introduces a fair level of [[Excise]]. Examples of this can be found in the ''robot'' in [[Race for the Galaxy]] and playing [[Tic-Tac-Toe]] against 'MENACE'.
  
=== Narrative Aspects ===
+
In the case of computer games, [[AI Players]] can bypass physical interfaces which can make it difficult to provide [[Player Balance]]. This is especially evident for games with [[Mimetic Interfaces]] since it is clear that the [[AI Players]] are not competing under the same conditions.
 +
 
 +
The presence of [[Real World Gameplay Spaces]] make it necessary for [[AI Players]] to control [[Robotic Players]] if they should be able to take part of the game as equals.
  
 
== Consequences ==
 
== Consequences ==
 +
[[AI Players]] are a way to provide [[Agents]] that allow [[Multiplayer Games]] to be played as [[Single-Player Games]] or to be played with more players than people, for example to provide equal sizes in [[Teams]] in games with [[TvT]] gameplay. This is a way of creating [[Actor Detachment]] in games, but can be seen as throwing the baby out with the bathwater since [[Social Interaction]] is also removed. When they are not overly complex and their algorithms are known to players they can function as [[Game System Player]]. [[AI Players]] also allows the creation of [[Zero-Player Games]] when all players are replaced by [[AI Players]] (although this typically opens up additional interpretations about [[Meta Games]] or questioning if any gameplay occurs or not). Clearly, the use of [[AI Players]] can affect [[Performance Uncertainty]], especially if players can have access to the algorithms or can deduce them from observing gameplay. Likewise, since they have different cognitive abilities, the use of them affects [[Solution Uncertainty]]. When [[AI Players]] have [[Unpredictable Behavior]], they do not simply affect [[Performance Uncertainty]] but give rise to it as well as [[Player Unpredictability]].
  
== Relations ==
+
When [[AI Players]] are used to replace human players, for example to support [[Drop-In/Drop-Out]] as used in the [[Left 4 Dead series]], they give players a [[Possibility of Graceful Surrender]] (although this is only a partial solution in [[TvT]] gameplay in the [[Left 4 Dead series]] as game instances are closed down if no players exist on one side). This also opens up for [[Asynchronous Gameplay]].
  
 +
Although [[Enforced Agent Behavior]] can be used specifically to make [[AI Players]] have to follow suggestions or order given by people, this is somewhat superfluous since as [[Algorithmic Agents]] they always have an [[Enforced Agent Behavior]] to the rules defining them. When [[AI Players]] are used as a way to offer [[Difficulty Levels]], they also provide [[Smooth Learning Curves]] and supporting players in reaching [[Gameplay Mastery]] in that players can choose ones that suit their own skill levels.
 +
 +
Allowing players to program [[AI Players]] for being [[Mules]] or for be part of [[Zero-Player Games]] is an example of how players can be given [[Creative Control]] through the [[Game Element Insertion]] it can provide. This also opens up for [[Evolving Rule Sets]] since the [[AI Players]] can be considered part of the rule set, and when players try to adjust to other players code this can spark of [[Red Queen Dilemmas]]. Regardless of if players create the [[AI Players]] or not, making it possible to use them as replacements for one's own participation in a game allows [[Interruptibility]].
 +
 +
== Relations ==
 
=== Can Instantiate ===
 
=== Can Instantiate ===
[[AI Agents]]
+
[[Actor Detachment]],
 +
[[Agents]],
 +
[[Asynchronous Gameplay]],
 +
[[Creative Control]], [[Drop-In/Drop-Out]],
 +
[[Enforced Agent Behavior]], [[Game Element Insertion]],
 +
[[Game System Player]],
 +
[[Interruptibility]],
 +
[[Late Arriving Players]], [[Mules]], [[Parties]],
 +
[[Possibility of Graceful Surrender]],
 +
[[Robotic Players]],
 +
[[Varied Gameplay]],
 +
[[Zero-Player Games]]
 +
 
 +
==== with [[Creative Control]] ====
 +
[[Evolving Rule Sets]], [[Red Queen Dilemmas]]
 +
 
 +
==== with [[Difficulty Levels]] ====
 +
[[Gameplay Mastery]], [[Smooth Learning Curves]]
 +
 
 +
==== with [[Drop-In/Drop-Out]] ====
 +
[[Freedom of Choice]]
 +
 
 +
==== with [[Multiplayer Games]] ====
 +
[[Single-Player Games]]
 +
 
 +
==== with [[Self-Facilitated Games]] ====
 +
[[Excise]]
 +
 
 +
==== with [[Unpredictable Behavior]] ====
 +
[[Player Unpredictability]] and [[Performance Uncertainty]]
 +
 
 +
==== with [[Zero-Player Games]] ====
 +
[[Meta Games]]
  
 
=== Can Modulate ===
 
=== Can Modulate ===
 +
[[Multiplayer Games]],
 +
[[Performance Uncertainty]],
 +
[[Self-Facilitated Games]],
 +
[[Solution Uncertainty]],
 +
[[Team Strategy Identification]],
 +
[[Teams]],
 +
[[TvT]]
  
 
=== Can Be Instantiated By ===
 
=== Can Be Instantiated By ===
 +
[[Replays]]
 +
 +
[[Algorithmic Agents]] together with [[Own Agenda]]
  
 
=== Can Be Modulated By ===
 
=== Can Be Modulated By ===
 +
[[Difficulty Levels]],
 +
[[Dynamic Difficulty Adjustment]],
 +
[[Emotional Attachment]],
 +
[[Enforced Agent Behavior]],
 +
[[Handicap Systems]],
 +
[[Real World Gameplay Spaces]]
 +
 +
=== Possible Closure Effects ===
 +
-
  
 
=== Potentially Conflicting With ===
 
=== Potentially Conflicting With ===
 +
[[Player Balance]], [[Mimetic Interfaces]],
 +
[[Social Interaction]],
 +
[[Team Balance]]
  
 
== History ==
 
== History ==
New pattern created in this wiki.
+
New pattern created for this wiki by [[User:Staffan Björk|Staffan Björk]].
  
 
== References ==
 
== References ==
 +
<references>
 +
<ref name="Michie">Michie, D. 'Trial and Error', in Penguin Science Survey 1961, Vol. 2.</ref>
 +
<ref name="OXO">[http://www.dcs.warwick.ac.uk/~edsac/ Link] to the EDSAC emulator website, which includes the code for 'OXO'.</ref>
 +
</references>

Latest revision as of 08:09, 21 September 2016

AI Agents that are supposed to be able to function on a level comparable to players.

All games need players. However, there are not always enough people available and willing to play to fit the demands of a game's design and in these cases supplementing people with rule-based algorithms can be a solution. These AI Players provide a flexibility for when gameplay can occur and may also be able to offer pre-defined or customizable opponents to fit the level of challenge people may wish to have.

Examples

Already the first computer game, OXO - a computer-based version of Tic-Tac-Toe developed by Alexander S. Douglas, allowed a player to compete against the program itself[1]. Today nearly all multiplayer computer games have support for replacing people with computer opponents (e.g. the Age of Empires series, the Battlefield series, the Command and Conquer series, the Left 4 Dead series, and the Tekken series). For some of these games it may be unpractical to find enough people to fill all the player slots available, so the norm in these cases is that some or the majority of the players are actually AI Players (examples of where this can occur include the Europa Universalis series, the Civilization series, and the Need for Speed series).

Not all AI players need to be controlled by computers. A 'robot', really a set of instructions that a human needed to follow, was introduced in the expansion The Gathering Storm of the card game Race for the Galaxy. This 'robot' allows a single player to player against it as if a two-player instance of the game was being played. An even earlier example of an AI Player was 'MENACE' by Donald Michie. Although not the first AI Player for Tic-Tac-Toe it could get better after each time it played and was first implemented through the use of beans and about 300 matchboxes[2]. Another solution, that only works for a small range of games where interaction between players are very limited, is to use recordings of previous players actions. The ESP Game is an example of this.

Depending on which perspective one chooses to use, programming games such as Crobots and P-Robots either only have AI Players or are zero-player games.

Using the pattern

The creation of AI Players is the design of Algorithmic Agents that can take the role of players. This means that the Algorithmic Agents need to have an Own Agenda of winning the game or playing as good as possible, and may need to display Emotional Attachment to the outcomes as a substitute for the Social Interaction that commonly occurs among people playing the same game. For games with Parties or Teams, it also means that they have to be able to work within these, possibly including supporting Team Combos. While Team Strategy Identification can be demanding to support (due to the need for Negotiation) this can be mitigated through the possibility to express suggestions or orders as Performative Utterances and have the AI Players have the Enforced Agent Behavior to always follows these.

One aspect of this design is to consider if the choice of using AI Players can only be done at the beginning of them game or if this can change during gameplay. The first option allows Multiplayer Games can have more players than people playing it or than they can be played as if they were Single-Player Games while avoiding problems of Player Balance and Team Balance due to changes in players. The second option allows Late Arriving Players and Drop-In/Drop-Out that give players' a Freedom of Choice in how to synchronized their own play sessions with other players, but which may have problems with Player Balance and Team Balance unless they are pure Cooperation games. A special case here may be Mules, which are started by players (possibly after being created and programmed by them) to fill in for them to do Grinding (the parodical game Progress Quest can be seen as only letting a human set up a Mule and nothing else).

One less common choice for AI Players is make the game design demand that all players are AI Players. While not necessary, this is typically combined with letting players have the Creative Control to program the AI Players as is done in Crobots and P-Robots. Another uncommon choice for AI Players is to based them on Replays. Here the reason it is uncommon is probably because gameplay typically involves much interaction between the players which a recording is unlikely to be able to match up to (but see the ESP Game). Ghosts are close to this solution but clearly discernible as Replays and are thereby not perceived as players, in addition to not being able to interact with other game elements.

If several various types of AI Players are offered to players to choose from together with explanations of their difference in gaming and in skill, this can provide both Varied Gameplay and an indirect way of having Difficulty Levels and Handicap Systems. If the AI Players can change their behavior due to how well people are gaming, this is one form of Dynamic Difficulty Adjustment.

AI Players that control physical robots give rise to Robotic Players.

Interface Aspects

For Self-Facilitated Games, the use of AI Players typically introduces a fair level of Excise. Examples of this can be found in the robot in Race for the Galaxy and playing Tic-Tac-Toe against 'MENACE'.

In the case of computer games, AI Players can bypass physical interfaces which can make it difficult to provide Player Balance. This is especially evident for games with Mimetic Interfaces since it is clear that the AI Players are not competing under the same conditions.

The presence of Real World Gameplay Spaces make it necessary for AI Players to control Robotic Players if they should be able to take part of the game as equals.

Consequences

AI Players are a way to provide Agents that allow Multiplayer Games to be played as Single-Player Games or to be played with more players than people, for example to provide equal sizes in Teams in games with TvT gameplay. This is a way of creating Actor Detachment in games, but can be seen as throwing the baby out with the bathwater since Social Interaction is also removed. When they are not overly complex and their algorithms are known to players they can function as Game System Player. AI Players also allows the creation of Zero-Player Games when all players are replaced by AI Players (although this typically opens up additional interpretations about Meta Games or questioning if any gameplay occurs or not). Clearly, the use of AI Players can affect Performance Uncertainty, especially if players can have access to the algorithms or can deduce them from observing gameplay. Likewise, since they have different cognitive abilities, the use of them affects Solution Uncertainty. When AI Players have Unpredictable Behavior, they do not simply affect Performance Uncertainty but give rise to it as well as Player Unpredictability.

When AI Players are used to replace human players, for example to support Drop-In/Drop-Out as used in the Left 4 Dead series, they give players a Possibility of Graceful Surrender (although this is only a partial solution in TvT gameplay in the Left 4 Dead series as game instances are closed down if no players exist on one side). This also opens up for Asynchronous Gameplay.

Although Enforced Agent Behavior can be used specifically to make AI Players have to follow suggestions or order given by people, this is somewhat superfluous since as Algorithmic Agents they always have an Enforced Agent Behavior to the rules defining them. When AI Players are used as a way to offer Difficulty Levels, they also provide Smooth Learning Curves and supporting players in reaching Gameplay Mastery in that players can choose ones that suit their own skill levels.

Allowing players to program AI Players for being Mules or for be part of Zero-Player Games is an example of how players can be given Creative Control through the Game Element Insertion it can provide. This also opens up for Evolving Rule Sets since the AI Players can be considered part of the rule set, and when players try to adjust to other players code this can spark of Red Queen Dilemmas. Regardless of if players create the AI Players or not, making it possible to use them as replacements for one's own participation in a game allows Interruptibility.

Relations

Can Instantiate

Actor Detachment, Agents, Asynchronous Gameplay, Creative Control, Drop-In/Drop-Out, Enforced Agent Behavior, Game Element Insertion, Game System Player, Interruptibility, Late Arriving Players, Mules, Parties, Possibility of Graceful Surrender, Robotic Players, Varied Gameplay, Zero-Player Games

with Creative Control

Evolving Rule Sets, Red Queen Dilemmas

with Difficulty Levels

Gameplay Mastery, Smooth Learning Curves

with Drop-In/Drop-Out

Freedom of Choice

with Multiplayer Games

Single-Player Games

with Self-Facilitated Games

Excise

with Unpredictable Behavior

Player Unpredictability and Performance Uncertainty

with Zero-Player Games

Meta Games

Can Modulate

Multiplayer Games, Performance Uncertainty, Self-Facilitated Games, Solution Uncertainty, Team Strategy Identification, Teams, TvT

Can Be Instantiated By

Replays

Algorithmic Agents together with Own Agenda

Can Be Modulated By

Difficulty Levels, Dynamic Difficulty Adjustment, Emotional Attachment, Enforced Agent Behavior, Handicap Systems, Real World Gameplay Spaces

Possible Closure Effects

-

Potentially Conflicting With

Player Balance, Mimetic Interfaces, Social Interaction, Team Balance

History

New pattern created for this wiki by Staffan Björk.

References

  1. Link to the EDSAC emulator website, which includes the code for 'OXO'.
  2. Michie, D. 'Trial and Error', in Penguin Science Survey 1961, Vol. 2.