Energy randomisation

From CrawlWiki
Jump to: navigation, search
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.


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.


  • 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.


  1. (0.28.0)