Difference between revisions of "Algorithmic Agents"
(→Relations) |
(→Using the pattern) |
||
Line 16: | Line 16: | ||
== 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 use of [[Algorithmic Agents]] by necessity require game designer to consider what [[Agents]] should exist in the game and what algorithms control their behavior. | ||
+ | Which algorithms to use is not only a question of creating them, but also considering who can create them. The most common case is that they are created in advance by game designers but another possibility is to allow players to create the algorithms, e.g. through [[Action Programming]]. | ||
− | 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]] or [[Boss Monsters]] but [[Algorithmic Agents]] can also be used to control [[Avatars]], thereby creating [[AI Players]]. [[Companions]] | + | 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]] or [[Boss Monsters]] but [[Algorithmic Agents]] can also be used to control [[Avatars]] or [[Characters]], thereby creating [[AI Players]]. The latter can also be used to create [[Companions]], e.g. so [[Teams]] can be created with players, either through having [[Mutual Goals]] or having individual [[Continuous Goals| Continuous]] and [[Supporting Goals]] in relation to the players' goals. [[Enemies]] and [[Companions]] may both be [[NPCs]] but these may also have their [[Own Agendas]] independent of player goals. [[Agents]] may of course also change what role they have during gameplay, either due to [[Narration Structures]] which may in turn cause [[Surprises]] or as effects of players' actions through use of the pattern [[Actions Have Social Consequences]]. One example of this can be found in the [[Fallout series]], where players' [[Companions]] may abandon or attack players who start behaving differently than when they started to cooperate. |
However, players may not perceived [[Enemies]], [[Companions]], or [[NPCs]] as [[Agents]] if their behavior is too predictable<ref name="Lankoski2007"/> even if the entities diegetically convey that relation and behavior. Instead, players may reduce them to [[Converters]], [[Containers]], [[Obstacles]], or [[Traps]]. Although this may be impossible to hinder if players achieve [[Game Mastery]] or simply play long enough, there are many ways to make this take longer time. [[Initiative]] and [[Contextualized Conversational Responses]] can all make the [[Algorithmic Agents]] function more in relation to the current context in their [[Game Worlds]], while [[Awareness of Surroundings]] and [[Actions Have Diegetically Social Consequences]] forces players to consider what the [[Algorithmic Agents]] can sense. [[Emotional Attachment]], [[Own Agenda]], [[Sense of Self]], and [[Goal-Driven Personal Development]] all show ways of how to prolong the time until the [[Algorithmic Agents]] are no longer seen as [[Agents]]. For games aiming at [[Replayability]], [[Open Destiny]] can also be required since otherwise overarching patterns for the [[Algorithmic Agents]] may be found and their apparent agency might lessen. Many of these solutions require the development of AI systems and require extensive testing to ensure their functionality is what is intended. A complementary approach to this creating [[Unpredictable Behavior]] through the use of [[Randomness]] or [[Ambiguous Responses]] (the latter famously used for the same reason in the computer program ELIZA<ref name="ELIZA"/>). | However, players may not perceived [[Enemies]], [[Companions]], or [[NPCs]] as [[Agents]] if their behavior is too predictable<ref name="Lankoski2007"/> even if the entities diegetically convey that relation and behavior. Instead, players may reduce them to [[Converters]], [[Containers]], [[Obstacles]], or [[Traps]]. Although this may be impossible to hinder if players achieve [[Game Mastery]] or simply play long enough, there are many ways to make this take longer time. [[Initiative]] and [[Contextualized Conversational Responses]] can all make the [[Algorithmic Agents]] function more in relation to the current context in their [[Game Worlds]], while [[Awareness of Surroundings]] and [[Actions Have Diegetically Social Consequences]] forces players to consider what the [[Algorithmic Agents]] can sense. [[Emotional Attachment]], [[Own Agenda]], [[Sense of Self]], and [[Goal-Driven Personal Development]] all show ways of how to prolong the time until the [[Algorithmic Agents]] are no longer seen as [[Agents]]. For games aiming at [[Replayability]], [[Open Destiny]] can also be required since otherwise overarching patterns for the [[Algorithmic Agents]] may be found and their apparent agency might lessen. Many of these solutions require the development of AI systems and require extensive testing to ensure their functionality is what is intended. A complementary approach to this creating [[Unpredictable Behavior]] through the use of [[Randomness]] or [[Ambiguous Responses]] (the latter famously used for the same reason in the computer program ELIZA<ref name="ELIZA"/>). | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
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 | 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 |
Revision as of 14:13, 17 November 2010
Algorithms created to provide what appears to be intentional behavior.
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.
Contents
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 control, 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 players create the algorithms/instructions and the outcomes are fixed unless some external factor is changed (e.g. the position of the other robots in RoboRally. In contrast, programming games such as Crobots and P-Robots challenge players to create better algorithms than other players before gameplay begins.
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. Which algorithms to use is not only a question of creating them, but also considering who can create them. The most common case is that they are created in advance by game designers but another possibility is to allow players to create the algorithms, e.g. through Action Programming.
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 or Boss Monsters but Algorithmic Agents can also be used to control Avatars or Characters, thereby creating AI Players. The latter can also be used to create Companions, e.g. so Teams can be created with players, either through having Mutual Goals or having individual Continuous and Supporting Goals in relation to the players' goals. Enemies and Companions may both be NPCs but these may also have their Own Agendas independent of player goals. Agents may of course also change what role they have during gameplay, either due to Narration Structures which may in turn cause Surprises or as effects of players' actions through use of the pattern Actions Have Social Consequences. One example of this can be found in the Fallout series, where players' Companions may abandon or attack players who start behaving differently than when they started to cooperate.
However, players may not perceived Enemies, Companions, or NPCs as Agents if their behavior is too predictable[1] even if the entities diegetically convey that relation and behavior. Instead, players may reduce them to Converters, Containers, Obstacles, or Traps. Although this may be impossible to hinder if players achieve Game Mastery or simply play long enough, there are many ways to make this take longer time. Initiative and Contextualized Conversational Responses can all make the Algorithmic Agents function more in relation to the current context in their Game Worlds, while Awareness of Surroundings and Actions Have Diegetically Social Consequences forces players to consider what the Algorithmic Agents can sense. Emotional Attachment, Own Agenda, Sense of Self, and Goal-Driven Personal Development all show ways of how to prolong the time until the Algorithmic Agents are no longer seen as Agents. For games aiming at Replayability, Open Destiny can also be required since otherwise overarching patterns for the Algorithmic Agents may be found and their apparent agency might lessen. Many of these solutions require the development of AI systems and require extensive testing to ensure their functionality is what is intended. A complementary approach to this creating Unpredictable Behavior through the use of Randomness or Ambiguous Responses (the latter famously used for the same reason in the computer program ELIZA[2]).
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
Eladhari, M. & Lindley, C. A. Player Character Design Facilitating Emotional Depth in MMORPGs
Stimulated Planning
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.
Predictability
Relations
Can Instantiate
Agents, Mules Conflict Cooperation AI Players NPCs Companions Enemies Converters, Containers, Obstacles, or Traps
Can Modulate
Can Be Instantiated By
Can Be Modulated By
Initiative Awareness of Surroundings Contextualized Conversational Responses Emotional Attachment Own Agenda Sense of Self Goal-Driven Personal Development Open Destiny Ambiguous Responses Unpredictable Behavior
Possible Closure Effects
Stopping to consider Algorithmic Agents as Agents may cause the removal of Emotional Attachment
Potentially Conflicting With
History
New pattern created in this wiki.
References
- ↑ Lankoski, P. & Björk, S. (2007). Gameplay Design Patterns for Believable Non-Player Characters. DiGRA 2007 Conference.
- ↑ Wikipedia entry
Acknowledgments
Karl-Petter Åkesson