Difference between revisions of "Action Programming"
(→Relations) |
|||
(38 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
[[Category:Patterns]] | [[Category:Patterns]] | ||
+ | [[Category:Set-up Patterns]] | ||
[[Category:Action Patterns]] | [[Category:Action Patterns]] | ||
− | |||
[[Category:Needs references]] | [[Category:Needs references]] | ||
− | |||
''The choosing of one or more actions for future execution.'' | ''The choosing of one or more actions for future execution.'' | ||
− | + | Although games need to let players perform actions that can affect the game state and the outcome of game instances, this does not need to be done directly. One way of making this indirect is forcing players to first choose what actions to done, possible a sequence of actions or rules for how actions should be selected, and then as they gameplay progresses make these actions take places. This type of gameplay structure is called [[Action Programming]]. | |
=== Examples === | === Examples === | ||
− | + | Turn-based games like [[Drachen Delta]], [[RoboRally]], and [[Space Alert]] can let players set up the sequence of future actions through the placing cards in particular orders. For those games cards are enough since the actions are limited an general (e.g. move left or right) but given the map structure in [[Diplomacy]] this is not sufficient - here one instead write down one's next moves on paper. The game [[Ricochet Robots]] make the whole programming process a mental exercise that needs to be done under time pressure which is then to be enacted to prove its correctness. [[:Category:Roleplaying Games|Roleplaying Games]] can allow [[Action Programming]] by players telling the game masters what they want to do. A mechanized version of this is the ''Wait'' maneuver in [[GURPS]] where players can specify an action and a trigger which can interrupt the normal turn sequences. | |
− | + | ||
The computerized version of [[Space Hulk (video game)|Space Hulk]] lets the player control the actions of other space marines through entering a tactical mode where specific actions can be set for all squad members; this mode can however only be used for limited amounts of time and the time can only be replenished by being in an action mode where only one marine can be controlled. The [[Fallout series]] lets players chosen which actions to perform in combat using action point system which has been maintained as the ''Vault-Tec Assisted Targeting System'' which functions like the [[Space Hulk (video game)|Space Hulk]] system but only regarding the player's character. | The computerized version of [[Space Hulk (video game)|Space Hulk]] lets the player control the actions of other space marines through entering a tactical mode where specific actions can be set for all squad members; this mode can however only be used for limited amounts of time and the time can only be replenished by being in an action mode where only one marine can be controlled. The [[Fallout series]] lets players chosen which actions to perform in combat using action point system which has been maintained as the ''Vault-Tec Assisted Targeting System'' which functions like the [[Space Hulk (video game)|Space Hulk]] system but only regarding the player's character. | ||
[[Action Programming]] can be taken one step further by allowing players to do actual coding, something found in the games [[Crobots]] and [[P-Robots]]. This code can then determine completely how units behave in the game which any further need or possibility of human interference. | [[Action Programming]] can be taken one step further by allowing players to do actual coding, something found in the games [[Crobots]] and [[P-Robots]]. This code can then determine completely how units behave in the game which any further need or possibility of human interference. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
== Using the pattern == | == Using the pattern == | ||
+ | [[Action Programming]] requires decisions on which actions that can be programmed, and how many actions can be programmed in one go. These two aspects of the pattern are typically done by setting up a [[Limited Set of Actions]] and some form of system of [[Budgeted Action Points]]. [[Token Placement]] can be used to drive the [[Budgeted Action Points|Budgeted Action Point]] system but then typically leaves a bit more [[Freedom of Choice]] since the actual execution may have options on how to be performed; [[Role Selection]] has similar consequences but usually not considered a budgeted action system since the whole budget only allows one role to be chosen. For the planning of actions to be possible, the action need to have some level of [[Perceivable Consequences]] but influence from outside sources (e.g. other players' engaging in their own [[Action Programming]]) are typically used to limit this. | ||
− | + | A design decision regarding [[Action Programming]] is when it should be done. If done before gameplay begins, i.e. as part of set-up phases, it can create [[Meta Games]] and [[Zero-Player Games]]. When done during gameplay, most often in [[Planning Phases]], this can create [[Tension]] if part of [[Real-Time Games]] or performed under [[Time Limits]] (e.g. [[Space Hulk (video game)|Space Hulk]]), making it more common in [[Turn-Based Games]] (although these may cause [[Downtime]] if [[Analysis Paralysis]] is created by the [[Action Programming]]). | |
− | + | ||
− | [[ | + | |
− | + | ||
− | [[ | + | |
− | + | ||
− | [[ | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | [[ | + | |
− | + | ||
− | [[ | + | |
The possibility of setting up future action through [[Action Programming]] can be seen as an indirect way of affecting the gameplay if there is no feedback system to the player, or that feedback system has high enough latency. When used in this way, [[Action Programming]] can be seen as a way of letting players have some effect in games even in those that have [[No Direct Player Influence]] or are [[Zero-Player Games]]. | The possibility of setting up future action through [[Action Programming]] can be seen as an indirect way of affecting the gameplay if there is no feedback system to the player, or that feedback system has high enough latency. When used in this way, [[Action Programming]] can be seen as a way of letting players have some effect in games even in those that have [[No Direct Player Influence]] or are [[Zero-Player Games]]. | ||
=== Interface Aspects === | === Interface Aspects === | ||
− | For games where the [[Action Programming]] is not a [[Meta Games|Meta Game]] it is quite likely that some type of [[Secondary Interface]] is needed, | + | For games where the [[Action Programming]] is not a [[Meta Games|Meta Game]] it is quite likely that some type of [[Secondary Interface Screens|Secondary Interface Screen]] is needed, as for example in [[Space Hulk (video game)|Space Hulk]] or the [[Fallout series]]. Board Games that are to use [[Action Programming]] in the game need to use some form of [[Bookkeeping Tokens]] instead, [[Space Alert]] and [[RoboRally]] uses [[Cards]] but even pen and paper can work as [[Diplomacy]] shows. [[Ricochet Robots]] is an exception to this in not making use of any tokens but instead making a [[Memorizing]] challenge of being able to reproduce one's planned actions. |
== Consequences == | == Consequences == | ||
− | [[Action Programming]] allows the construction of [[Algorithmic Agents]] such as [[Mules]], and thereby support [[Enforced Agent Behavior]] also. | + | The presence of [[Action Programming]] in a game leads to both [[Performance Uncertainty]] and [[Player Unpredictability]], especially when players need to program many steps at once. [[Action Programming]] requires players to consider and initiate future actions and events in [[Planning Phases]], and thereby makes [[Tactical Planning]] a requirement for gameplay as players need to considering the [[Delayed Effects]] of the [[Action Programming]]. The programming of future actions provide [[Creative Control]] not only in the specific actions possible to choose but sometimes also in the triggers and algorithms determine which actions should be performed. In this sense [[Action Programming]] allows the construction of [[Algorithmic Agents]] such as [[Mules]], and thereby support [[Enforced Agent Behavior]] as well. Since [[Action Programming]] is often done on specific game elements (as in the case for example in both [[RoboRally]] and [[Space Alert]]), it is created from [[Abilities]] but cannot be seen as actual [[Abilities]] of those game elements. |
+ | |||
+ | Players can typically not correct mistakes made early in sequences of [[Action Programming]] due to them being [[Delayed Effects]]. Even so, they typically need to enact or watch the sequence of actions which follow. Waiting to know if they have made mistakes can give rise to [[Anticipation]] and [[Tension]], while seeing the mistakes take place can provide [[Spectacular Failure Enjoyment]]. [[RoboRally]] and [[Space Alert]] are games which often gives rise to this. | ||
+ | |||
+ | [[Action Programming]] as part of what one does during game sessions can create [[Analysis Paralysis]] in [[Multiplayer Games]] that are also [[Turn-Based Games|Turn-Based]], and [[Tension]] depending if it is part of a [[Real-Time Games|Real-Time Game]]. When the [[Action Programming]] is not actual part of the gameplay (as in programming robots for [[C-Robots]]), it instead creates [[Meta Games]] and if the players need to perform the game state update this can lead to [[Excise]]. | ||
== Relations == | == Relations == | ||
=== Can Instantiate === | === Can Instantiate === | ||
[[Algorithmic Agents]], | [[Algorithmic Agents]], | ||
+ | [[Creative Control]], | ||
+ | [[Delayed Effects]], | ||
[[Enforced Agent Behavior]], | [[Enforced Agent Behavior]], | ||
+ | [[Excise]], | ||
+ | [[Meta Games]], | ||
[[Mules]], | [[Mules]], | ||
+ | [[Performance Uncertainty]], | ||
+ | [[Planning Phases]], | ||
+ | [[Player Unpredictability]], | ||
+ | [[Spectacular Failure Enjoyment]], | ||
+ | [[Tactical Planning]] | ||
+ | |||
+ | ==== with [[Delayed Effects]] ==== | ||
+ | [[Anticipation]], | ||
+ | [[Tension]] | ||
+ | |||
+ | ==== with [[Multiplayer Games]] and [[Turn-Based Games]] ==== | ||
+ | [[Analysis Paralysis]] | ||
+ | |||
+ | ==== with [[Real-Time Games]] or [[Time Limits]] ==== | ||
+ | [[Tension]] | ||
=== Can Modulate === | === Can Modulate === | ||
[[No Direct Player Influence]], | [[No Direct Player Influence]], | ||
+ | [[Turn-Based Games]], | ||
[[Zero-Player Games]] | [[Zero-Player Games]] | ||
=== Can Be Instantiated By === | === Can Be Instantiated By === | ||
− | [[ | + | [[Abilities]], |
+ | [[Budgeted Action Points]], | ||
+ | [[Cards]], | ||
+ | [[Limited Set of Actions]], | ||
+ | [[Perceivable Consequences]], | ||
+ | [[Role Selection]], | ||
+ | [[Token Placement]] | ||
=== Can Be Modulated By === | === Can Be Modulated By === | ||
− | + | [[Bookkeeping Tokens]], | |
− | + | [[Memorizing]], | |
+ | [[Secondary Interface Screens]] | ||
=== Potentially Conflicting With === | === Potentially Conflicting With === | ||
+ | - | ||
== History == | == History == | ||
− | New pattern created | + | New pattern created for this wiki by [[User:Staffan Björk|Staffan Björk]]. |
== References == | == References == |
Latest revision as of 16:09, 23 July 2016
The choosing of one or more actions for future execution.
Although games need to let players perform actions that can affect the game state and the outcome of game instances, this does not need to be done directly. One way of making this indirect is forcing players to first choose what actions to done, possible a sequence of actions or rules for how actions should be selected, and then as they gameplay progresses make these actions take places. This type of gameplay structure is called Action Programming.
Contents
Examples
Turn-based games like Drachen Delta, RoboRally, and Space Alert can let players set up the sequence of future actions through the placing cards in particular orders. For those games cards are enough since the actions are limited an general (e.g. move left or right) but given the map structure in Diplomacy this is not sufficient - here one instead write down one's next moves on paper. The game Ricochet Robots make the whole programming process a mental exercise that needs to be done under time pressure which is then to be enacted to prove its correctness. Roleplaying Games can allow Action Programming by players telling the game masters what they want to do. A mechanized version of this is the Wait maneuver in GURPS where players can specify an action and a trigger which can interrupt the normal turn sequences.
The computerized version of Space Hulk lets the player control the actions of other space marines through entering a tactical mode where specific actions can be set for all squad members; this mode can however only be used for limited amounts of time and the time can only be replenished by being in an action mode where only one marine can be controlled. The Fallout series lets players chosen which actions to perform in combat using action point system which has been maintained as the Vault-Tec Assisted Targeting System which functions like the Space Hulk system but only regarding the player's character.
Action Programming can be taken one step further by allowing players to do actual coding, something found in the games Crobots and P-Robots. This code can then determine completely how units behave in the game which any further need or possibility of human interference.
Using the pattern
Action Programming requires decisions on which actions that can be programmed, and how many actions can be programmed in one go. These two aspects of the pattern are typically done by setting up a Limited Set of Actions and some form of system of Budgeted Action Points. Token Placement can be used to drive the Budgeted Action Point system but then typically leaves a bit more Freedom of Choice since the actual execution may have options on how to be performed; Role Selection has similar consequences but usually not considered a budgeted action system since the whole budget only allows one role to be chosen. For the planning of actions to be possible, the action need to have some level of Perceivable Consequences but influence from outside sources (e.g. other players' engaging in their own Action Programming) are typically used to limit this.
A design decision regarding Action Programming is when it should be done. If done before gameplay begins, i.e. as part of set-up phases, it can create Meta Games and Zero-Player Games. When done during gameplay, most often in Planning Phases, this can create Tension if part of Real-Time Games or performed under Time Limits (e.g. Space Hulk), making it more common in Turn-Based Games (although these may cause Downtime if Analysis Paralysis is created by the Action Programming).
The possibility of setting up future action through Action Programming can be seen as an indirect way of affecting the gameplay if there is no feedback system to the player, or that feedback system has high enough latency. When used in this way, Action Programming can be seen as a way of letting players have some effect in games even in those that have No Direct Player Influence or are Zero-Player Games.
Interface Aspects
For games where the Action Programming is not a Meta Game it is quite likely that some type of Secondary Interface Screen is needed, as for example in Space Hulk or the Fallout series. Board Games that are to use Action Programming in the game need to use some form of Bookkeeping Tokens instead, Space Alert and RoboRally uses Cards but even pen and paper can work as Diplomacy shows. Ricochet Robots is an exception to this in not making use of any tokens but instead making a Memorizing challenge of being able to reproduce one's planned actions.
Consequences
The presence of Action Programming in a game leads to both Performance Uncertainty and Player Unpredictability, especially when players need to program many steps at once. Action Programming requires players to consider and initiate future actions and events in Planning Phases, and thereby makes Tactical Planning a requirement for gameplay as players need to considering the Delayed Effects of the Action Programming. The programming of future actions provide Creative Control not only in the specific actions possible to choose but sometimes also in the triggers and algorithms determine which actions should be performed. In this sense Action Programming allows the construction of Algorithmic Agents such as Mules, and thereby support Enforced Agent Behavior as well. Since Action Programming is often done on specific game elements (as in the case for example in both RoboRally and Space Alert), it is created from Abilities but cannot be seen as actual Abilities of those game elements.
Players can typically not correct mistakes made early in sequences of Action Programming due to them being Delayed Effects. Even so, they typically need to enact or watch the sequence of actions which follow. Waiting to know if they have made mistakes can give rise to Anticipation and Tension, while seeing the mistakes take place can provide Spectacular Failure Enjoyment. RoboRally and Space Alert are games which often gives rise to this.
Action Programming as part of what one does during game sessions can create Analysis Paralysis in Multiplayer Games that are also Turn-Based, and Tension depending if it is part of a Real-Time Game. When the Action Programming is not actual part of the gameplay (as in programming robots for C-Robots), it instead creates Meta Games and if the players need to perform the game state update this can lead to Excise.
Relations
Can Instantiate
Algorithmic Agents, Creative Control, Delayed Effects, Enforced Agent Behavior, Excise, Meta Games, Mules, Performance Uncertainty, Planning Phases, Player Unpredictability, Spectacular Failure Enjoyment, Tactical Planning
with Delayed Effects
with Multiplayer Games and Turn-Based Games
with Real-Time Games or Time Limits
Can Modulate
No Direct Player Influence, Turn-Based Games, Zero-Player Games
Can Be Instantiated By
Abilities, Budgeted Action Points, Cards, Limited Set of Actions, Perceivable Consequences, Role Selection, Token Placement
Can Be Modulated By
Bookkeeping Tokens, Memorizing, Secondary Interface Screens
Potentially Conflicting With
-
History
New pattern created for this wiki by Staffan Björk.
References
-
Acknowledgments
-