Difference between revisions of "Energy randomisation"

From CrawlWiki
Jump to: navigation, search
m (History)
m (Useful Info)
 
(12 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{obsolete}}
+
{{version031}}
'''Energy randomisation''' (also called '''random energy''' or '''speed randomisation''') is a game mechanic designed to add unpredictability to monster behavior, and to nerf [[pillar dancing]]. Monsters normally get to take a number of monster turns per player turn based on their speed: fast monsters act more often, slow act less.  
+
'''Energy randomisation''' (also called '''random energy''' or '''speed randomisation''') is a game mechanic that makes monster movement unpredictable. Most of the time, monster actions are deterministic: a 100% [[monster speed|speed]] monster does 1 action per 1.0 [[turn]], for instance. When moving, this can be modified.
  
Each enemy movement has a 1/3 chance of being either 0.1 turns quicker, 0.1 turns slower, or having normal speed<ref>{{source ref|0.28.0|monster.cc|5570}}</ref>. Random energy accumulates until there is enough energy for an extra move or until there is not enough energy to move at all, which happens with the same probability. For example, an extremely lucky 10 speed monster can get an extra move each 10 turns of movement.
+
==Useful Info==
 +
In [[0.31]], random energy only applies when a hostile monster moves towards a player that's moving away.  
  
This can give a pursuer enough energy to move ''and'' attack during their turn, or you'll occasionally gain a tile in order to flee upstairs. The aforementioned pillar dancing will eventually create that space, given enough time. A monster can only get energy randomisation while moving; attacking or casting spells requires fixed amounts of energy.
+
When this is the case, the monster has a 1/3 chance to move either +0.1 turn quicker, -0.1 turn slower, or at normal speed.<ref>{{source ref|0.28.0|monster.cc|5570}}</ref>
  
Additionally, friendly monsters' movement speed is intentionally non-random to avoid traffic jams.
+
When a monster gets an [[attack of opportunity]], it does not get random energy. Instead, it has a 1/2 chance to either get -0.1 turn, or move normally. This can be thought of as "negative random energy". Monsters that would've eligible for an attack of opportunity, but do not actually get to attack, still get random energy.
 +
 
 +
===Concept of Energy===
 +
Specifically, a monster's actions are measured by "energy". Energy accumulates based off monster speed: a normal, 100% [[monster speed|speed]] monster gets 10 energy / 1.0 [[decaAut]], while a 200% speed monster gets 20 energy / 1.0 decaAut. "Random energy" adds +/- 1 energy per tile moved.
 +
 
 +
It normally takes 10 energy to do an action. Every action, monsters act only if they have enough energy, storing what's left.
 +
*Say a 10-speed monster has 9 energy left over. It gains +10 energy per turn. If it gets +1 from random energy, it has a net total of 20 energy, allowing for 2 movements at once.
 +
*Said monster is left at 0 energy. If on the next turn it moves and gets a -1 from random energy, it ends up at -1 energy. On the turn after, it only gets 9 energy - thus, it lags behind.
 +
 
 +
An incredibly lucky monster can get an extra move every 10 rounds. But, more often, it causes the move-twice, lag-behind pattern as shown above.
  
 
==Name==
 
==Name==
The name "energy randomisation" comes from the fact that the manner in which monsters move is described as "energy" in Crawl's code, with DEFAULT_ENERGY referring to moving at the same speed as any other action the monster takes. Hence, energy randomisation is inflicting randomness into this "energy". It can also be referred to as "speed randomisation", although this may falsely imply that the randomisation applies to all actions, not just movement.
+
As stated above, the name "energy randomisation" comes from the fact that monsters' actions are measured by "energy" in the code. DEFAULT_ENERGY would move at the same speed as any other actions - hence energy randomisation is inflicting randomness into this energy.  
 +
 
 +
It can also be referred to as "speed randomisation", although this may falsely imply that the randomisation applies to all actions, not just movement.
  
 
==History==
 
==History==
*Energy randomisation was removed in [[0.29]]. Its anti-pillar dancing purpose was replaced with the much stricter [[attacks of opportunity]].
+
*In [[0.31]], energy randomisation was re-introduced, with the intent to make [[attacks of opportunity]] less harsh. Compared to previous versions, it only happens when monsters ''pursue'' a player that's moving away. Previously, monsters could move twice even when you were waiting, attacking, etc.
 +
*Energy randomisation was removed in [[0.29]]. Its anti-pillar dancing purpose was replaced with the much stricter attacks of opportunity.
 
*In [[0.7]], enemies can no longer spend a random energy turn in order to attack twice.
 
*In [[0.7]], enemies can no longer spend a random energy turn in order to attack twice.
 
*Energy randomisation was first introduced in [[0.6]].
 
*Energy randomisation was first introduced in [[0.6]].

Latest revision as of 16:38, 15 January 2024

Version 0.31: This article is up to date for the latest stable release of Dungeon Crawl Stone Soup.

Energy randomisation (also called random energy or speed randomisation) is a game mechanic that makes monster movement unpredictable. Most of the time, monster actions are deterministic: a 100% speed monster does 1 action per 1.0 turn, for instance. When moving, this can be modified.

Useful Info

In 0.31, random energy only applies when a hostile monster moves towards a player that's moving away.

When this is the case, the monster has a 1/3 chance to move either +0.1 turn quicker, -0.1 turn slower, or at normal speed.[1]

When a monster gets an attack of opportunity, it does not get random energy. Instead, it has a 1/2 chance to either get -0.1 turn, or move normally. This can be thought of as "negative random energy". Monsters that would've eligible for an attack of opportunity, but do not actually get to attack, still get random energy.

Concept of Energy

Specifically, a monster's actions are measured by "energy". Energy accumulates based off monster speed: a normal, 100% speed monster gets 10 energy / 1.0 decaAut, while a 200% speed monster gets 20 energy / 1.0 decaAut. "Random energy" adds +/- 1 energy per tile moved.

It normally takes 10 energy to do an action. Every action, monsters act only if they have enough energy, storing what's left.

  • Say a 10-speed monster has 9 energy left over. It gains +10 energy per turn. If it gets +1 from random energy, it has a net total of 20 energy, allowing for 2 movements at once.
  • Said monster is left at 0 energy. If on the next turn it moves and gets a -1 from random energy, it ends up at -1 energy. On the turn after, it only gets 9 energy - thus, it lags behind.

An incredibly lucky monster can get an extra move every 10 rounds. But, more often, it causes the move-twice, lag-behind pattern as shown above.

Name

As stated above, the name "energy randomisation" comes from the fact that monsters' actions are measured by "energy" in the code. DEFAULT_ENERGY would move at the same speed as any other actions - hence energy randomisation is inflicting randomness into this energy.

It can also be referred to as "speed randomisation", although this may falsely imply that the randomisation applies to all actions, not just movement.

History

  • In 0.31, energy randomisation was re-introduced, with the intent to make attacks of opportunity less harsh. Compared to previous versions, it only happens when monsters pursue a player that's moving away. Previously, monsters could move twice even when you were waiting, attacking, etc.
  • Energy randomisation was removed in 0.29. Its anti-pillar dancing purpose was replaced with the much stricter attacks of opportunity.
  • In 0.7, enemies can no longer spend a random energy turn in order to attack twice.
  • Energy randomisation was first introduced in 0.6.

References

  1. monster.cc:5570 (0.28.0)