Difference between revisions of "Algorithmic Agents"

From gdp3
Jump to: navigation, search
Line 9: Line 9:
  
 
=== Examples ===
 
=== Examples ===
Already most of the earliest computer games, including OXO (a computerized version of [[Tic-Tac-Toe]]), [[Asteroids]], [[Space Invaders]], and the [[Bomberman Series]] made use of algorithms to control opponents to the players. It is still used in many games, e.g. in the [[Assassin's Creed Series|Assassin's Creed]], [[God of War series|God of War]], [[Need for Speed Series|Need for Speed]], [[Doom series|Doom]], [[Quake series|Quake]] series. In these case the [[Algorithmic Agents]] are also used to provide opponents but in games such as [[Fable II]], [[Fallout Series]], [[NetHack]], and [[Torchlight]] they also control animals that accompany the players' characters.
+
Already most of the earliest computer games, including OXO (a computerized version of [[Tic-Tac-Toe]]), [[Asteroids]], [[Space Invaders]], and the [[Bomberman Series]] made use of algorithms to control opponents to the players. It is still used in many games, e.g. in the [[Assassin's Creed Series|Assassin's Creed]], [[God of War series|God of War]], [[Need for Speed Series|Need for Speed]], [[Doom series|Doom]], [[Quake series|Quake]], and [[Civilization (video games) series|Civilization]] series. In some of thees cases (i.e. [[Tic-Tac-Toe]], [[Need for Speed Series|Need for Speed]], [[Civilization (video games) series|Civilization]], and, somewhat paradoxically, multiplayer versions of [[Doom series|Doom]], [[Quake series|Quake]]), the [[Algorithmic Agents]] replaces human opponents while in other cases being part of the game world. The [[Left 4 Dead Series]] uses [[Algorithmic Agents]] not only for the infected that attack the players' characters, but also to control other player characters if there are not four people available. In all these case the [[Algorithmic Agents]] are also used to provide opponents but in games such as [[Fable II]], [[Fallout Series]], [[NetHack]], and [[Torchlight]] the [[Algorithmic Agents]] also control animals that accompany the players' characters.
  
 
[[Algorithmic Agents]] are also used to provide a basis of behaviors to agents in a game which players can then modify, as for example in the [[Lemmings Series|Lemmings]] and [[Sims Series]], or indirectly controlled, of which the  [[Black & White series]] is an example. Games such as [[RoboRally]] and [[Space Alert]], where players have to choose several actions together before they are enacted, can also be seen as examples of games that use [[Algorithmic Agents]] even if the outcomes are fixed if no outside influences interfere with them. In contrast, programming games such as [[Crobots]] and [[P-Robots]] challenge players to create better algorithms than other players.
 
[[Algorithmic Agents]] are also used to provide a basis of behaviors to agents in a game which players can then modify, as for example in the [[Lemmings Series|Lemmings]] and [[Sims Series]], or indirectly controlled, of which the  [[Black & White series]] is an example. Games such as [[RoboRally]] and [[Space Alert]], where players have to choose several actions together before they are enacted, can also be seen as examples of games that use [[Algorithmic Agents]] even if the outcomes are fixed if no outside influences interfere with them. In contrast, programming games such as [[Crobots]] and [[P-Robots]] challenge players to create better algorithms than other players.
 
The [[Left 4 Dead Series]] uses [[Algorithmic Agents]] not only for the infected that attack the players' characters, but also to control other player characters if there are not four people available.
 
  
 
== Using the pattern ==
 
== Using the pattern ==
 +
The use of [[Algorithmic Agents]] by necessity require game designer to consider what [[Agents]] should exist in the game and what algorithms control their behavior.
 +
 +
The types of [[Agents]] available depends primarily on how they relate to players and their goals. [[Enemies]] have [[Preventing Goals]] compare to the players' goals and are typically [[Units]] but [[Algorithmic Agents]] can also be used to control [[Avatars]], thereby creating [[AI Players]].[[Companions]] partake in [[Team Play]] with players, either through having [[Mutual Goals]] or having individual [[Continuous Goals| Continuous]] and [[Supporting Goals]] in relation to the players' goals. [[NPCs]]
 +
 +
[[Narrative Structures]]
 +
 +
However,
  
 +
[[Obstacles]]
 +
[[Traps]]
  
  
Line 22: Line 29:
 
[[Action Programming]]
 
[[Action Programming]]
  
Agents
 
 
Avatars
 
Avatars
 
Initiative
 
Initiative
Line 36: Line 42:
 
Mules
 
Mules
 
Stimulated Planning
 
Stimulated Planning
Enemies
 
  
[[Companions]]
 
[[NPCs]]
 
 
[[Algorithmic Agents]] are powerful tools to make sure a game includes [[Conflict]], since game designer can create them with [[Preventing Goals]] to the players' goals and be sure that these will be acted upon (which is not always the case when given to players).
 
  
 
Programming games such as [[Crobots]] and [[P-Robots]] let players have indirect [[Conflict]] in the sense that they try to create [[Algorithmic Agents]] that are in [[Conflict]] with each other due to [[Elimination]] goals.
 
Programming games such as [[Crobots]] and [[P-Robots]] let players have indirect [[Conflict]] in the sense that they try to create [[Algorithmic Agents]] that are in [[Conflict]] with each other due to [[Elimination]] goals.
Line 60: Line 61:
  
 
== Consequences ==
 
== Consequences ==
 
+
[[Algorithmic Agents]] are powerful tools that can make sure a game includes [[Conflict]], since game designer can create them with [[Preventing Goals]] to the players' goals and be sure that these will be acted upon (which is not always the case when given to players). However, [[Algorithmic Agents]] can just as well used to support [[Cooperation]] through [[Companions]].
  
 
== Relations ==
 
== Relations ==
Line 67: Line 68:
 
[[Agents]], [[Mules]]
 
[[Agents]], [[Mules]]
 
[[Conflict]]
 
[[Conflict]]
 +
[[Cooperation]]
 +
[[AI Players]]
 +
[[NPCs]]
 +
[[Companions]]
 +
[[Enemies]]
  
 
=== Can Modulate ===
 
=== Can Modulate ===
 +
[[Units]]
 +
[[Avatars]]
  
 
=== Can Be Instantiated By ===
 
=== Can Be Instantiated By ===

Revision as of 12:39, 26 May 2010

Agents that are described and enacted through algorithms.

Many games worlds contains more entities such as animals, people, monsters, or robots that have behaviors that are not decided by players. To make this possible these entities are instead have more or less complex rules, algorithms, that decide which actions they should take. The simplest only contain a couple of rules taking not consideration to what the other players or entities have done while the most complex have processes for learning under which contexts one should perform what actions.

Examples

Already most of the earliest computer games, including OXO (a computerized version of Tic-Tac-Toe), Asteroids, Space Invaders, and the Bomberman Series made use of algorithms to control opponents to the players. It is still used in many games, e.g. in the Assassin's Creed, God of War, Need for Speed, Doom, Quake, and Civilization series. In some of thees cases (i.e. Tic-Tac-Toe, Need for Speed, Civilization, and, somewhat paradoxically, multiplayer versions of Doom, Quake), the Algorithmic Agents replaces human opponents while in other cases being part of the game world. The Left 4 Dead Series uses Algorithmic Agents not only for the infected that attack the players' characters, but also to control other player characters if there are not four people available. In all these case the Algorithmic Agents are also used to provide opponents but in games such as Fable II, Fallout Series, NetHack, and Torchlight the Algorithmic Agents also control animals that accompany the players' characters.

Algorithmic Agents are also used to provide a basis of behaviors to agents in a game which players can then modify, as for example in the Lemmings and Sims Series, or indirectly controlled, of which the Black & White series is an example. Games such as RoboRally and Space Alert, where players have to choose several actions together before they are enacted, can also be seen as examples of games that use Algorithmic Agents even if the outcomes are fixed if no outside influences interfere with them. In contrast, programming games such as Crobots and P-Robots challenge players to create better algorithms than other players.

Using the pattern

The use of Algorithmic Agents by necessity require game designer to consider what Agents should exist in the game and what algorithms control their behavior.

The types of Agents available depends primarily on how they relate to players and their goals. Enemies have Preventing Goals compare to the players' goals and are typically Units but Algorithmic Agents can also be used to control Avatars, thereby creating AI Players.Companions partake in Team Play with players, either through having Mutual Goals or having individual Continuous and Supporting Goals in relation to the players' goals. NPCs

Narrative Structures

However,

Obstacles Traps


No Player Influence Action Programming

Avatars Initiative Awareness of Surroundings Contextualized Conversational Responses Emotional Attachment Own Agenda Sense of Self Goal-Driven Personal Development Open Destiny Ambiguous Responses Unpredictable Behavior Mules Stimulated Planning


Programming games such as Crobots and P-Robots let players have indirect Conflict in the sense that they try to create Algorithmic Agents that are in Conflict with each other due to Elimination goals.

Algorithmic Agents can be used to create AI Players, so that Multiplayer Games can be played with only one (or in some cases zero) players. While this make is possible to make Multiplayer Games into Single-Player Games or

Using Algorthimic Agents in conjunction with the Avatars or Units players control offers distinctly different design opportunities. If they have already been developed to be able to take the role of players when there are not enough humans, as for example in the Left 4 Dead Series, it is easy to

They can be used to support


Diegetic Aspects

Interface Aspects

Narrative Aspects

Consequences

Algorithmic Agents are powerful tools that can make sure a game includes Conflict, since game designer can create them with Preventing Goals to the players' goals and be sure that these will be acted upon (which is not always the case when given to players). However, Algorithmic Agents can just as well used to support Cooperation through Companions.

Relations

Can Instantiate

Agents, Mules Conflict Cooperation AI Players NPCs Companions Enemies

Can Modulate

Units Avatars

Can Be Instantiated By

Can Be Modulated By

Potentially Conflicting With

History

New pattern created in this wiki.

References

Acknowledgments

Karl-Petter Åkesson