Difficulty

Difficulty in Risk of Rain 2 can refer to two things: initial difficulty and scaling difficulty.

Initial Difficulty
Initial difficulty in Risk of Rain 2 is selected along with the survivors before starting a run. The three difficulties are Drizzle, Rainstorm and Monsoon.

Drizzle.png Drizzle
Drizzle is an easier initial difficulty designed for a more relaxing experience.


 * Time affects scaling difficulty at 50% the normal pace.
 * Players have a +70 bonus to armor.

Rainstorm.png Rainstorm
Rainstorm is the default initial difficulty of the game.

Monsoon.png Monsoon
Monsoon is the hardest initial difficulty designed for players who seek a challenge.


 * Time affects scaling difficulty at 150% of the normal pace.

The Deicide achievement can only be obtained on this difficulty.

Scaling Difficulty
Scaling difficulty is a core mechanic of Risk of Rain 2. As a run progresses, the difficulty will steadily rise, making enemies both stronger and more numerous.

The steadily rising difficulty is represented in-game through a bar in the top right corner of the screen. This bar shows the selected initial difficulty, the current run timer and the current status of the scaling difficulty. As the bar progresses, it will pass through multiple named sub-difficulties in order:


 * Easy
 * Normal
 * Hard
 * Very Hard
 * Insane
 * Impossible
 * I SEE YOU
 * I'M COMING FOR YOU
 * HAHAHAHA

The HAHAHAHA sub-difficulty is endless, although enemies will keep leveling up and the difficulty will keep rising even if the changes are not visible on the bar.

In addition to the increase over time, every time an environment is completed, the difficulty will jump forward, which will cause a spike in difficulty, and the bar will also increase faster. This increase is exponential, which means that as more loops are completed, the game becomes exponentially harder.

Effects of difficulty
Each of these sub-difficulties contain two intermediate "notches". Every time a "notch" is reached, or the next sub-difficulty is reached, enemies will level up, which is indicated by a visual effect and a level-up sound similar to a player level-up, although with a lower pitch. Just like players, enemies gain 30% health and 20% damage (compared to their base values shown in the Logbook) per additional level.

In addition to enemy levels, the difficulty also affect the spawn rate of enemies. As the sub-difficulties progress, enemies will spawn faster and in greater numbers. After a while, stronger enemies will start to spawn outside of the teleporter event, including mini-bosses (such as Greater Wisps) and teleporter bosses (such as Stone Titans). Higher difficulty also increase the frequency of elites, and even allows for elite mini-bosses and teleporter bosses.

The final effect of difficulty is the cost of interactables. When reaching a new environment, the cost of chests, shrines of chance, turrets, etc. is calculated relative to the difficulty.

Multiplayer
The rules for scaling difficulty do not change in multiplayer, however, two numerical changes are applied: Unlike the first game, playing multiplayer solo (starting a server but not waiting for other players) will not change the scaling compared to "true" singleplayer.
 * The initial difficulty is higher, although this is not reflected on the bar. This is why the spawn rate is higher and chests are more expensive. Enemies still start at level 1 however.
 * Time has a greater effect on scaling difficulty (the bar advances faster). This is reflected on the bar, although the effect is subtle for a low player count.

The Math of Scaling Difficulty
The effect of difficulty on the game is centralized in a global number called the difficulty coefficient (coeff for short). This coeff is constantly re-evaluated and it is calculated as follows:

$$playerFactor = 1 + 0.3 \times (playerCount - 1)$$

$$timeFactor = 0.046 \times difficultyValue \times playerCount^{0.2}$$

$$stageFactor = 1.15^{stagesCompleted}$$

$$coeff = (playerFactor + timeInMinutes \times timeFactor) \times stageFactor$$

In these formulas, the variable


 * playerCount is equal to the number of players in the game (this includes disconnected players).


 * difficultyValue is equal to 1 for Drizzle, 2 for Rainstorm and 3 for Monsoon.


 * stagesCompleted is equal to the number of stages completed (includes A Moment, Fractured and Gilded Coast, but NOT Bazaar Between Time) this is the same number that shows up in the statistics screen at the end of the run.


 * timeInMinutes is the amount of minutes since the run started, incremented every second.

Therefore, in non-modded lobbies, the coeff will start at an initial value of 1 to 1.9 depending on the number of players. The bar will then progress linearly as time increases, going faster depending on the initial difficulty and/or the player count. Every time the players enter a new environment, the coeff increases by 15% of its current value, which causes the jump on the bar.

It is interesting to note that although sub-difficulties do not have any tangible effect on gameplay, they do signal an increase of the coeff by 1 (actually 0.99 but by the time the difference becomes significant, the sub-difficulty is already in its final stage). In singleplayer for example, the Easy sub-difficulty represents a range for the coeff of 1 to 2, while Medium is 2 to 3, etc.

Effect on enemy level
The enemy level is calculated using this formula:

$$enemyLevel = 1 + (coeff - playerFactor) / 0.33$$

No matter the number of players or difficulty, this means that enemies always start at level 1. As the coeff rises however, so does the enemy levels, and the faster the coeff increases, the more the effect becomes pronounced - especially when looping - as the exponential rise in the coeff is translated to enemy levels and therefore stats.

Effect on money costs
Whenever an environment starts, the cost of an interactable is derived from the following formula:

$$moneyCost = baseCost * coeff^{1.25}$$

The base cost is equal to what the interactable would cost in the first environment of a singleplayer run (for instance the base value of a chest is $25). Since the coeff starts at a higher value in multiplayer, chests are also equally more expensive.

Effect on enemy rewards
Whenever a monster spawns, its reward is directly multiplied by the current coeff :

$$enemyXPReward = coeff * monsterValue * rewardMultiplier$$ $$enemyGoldReward = 2 * coeff * monsterValue * rewardMultiplier$$

The monster value and reward multiplier are explained in more details in the Directors article.

Effect on spawn rate
Spawns are managed by the Directors, advanced systems that are responsible for spawning a variety of enemies matching the difficulty. The way the Directors spawn enemies is pretty complex, but the global overview is this:

As time goes on, the Director accumulates a number of "credits" that increase linearly with the coeff. Regularly, the Director will pick a random enemy to spawn depending on the environment spawn lists and spend credits to spawn a group of up to four. Weaker enemies such as Lemurians have a low cost while bosses like Magma Worms have the highest, with elite enemies costing 6 times the cost of the regular enemy.

This means that while the coeff is low, the Director will only spawn lone, weak enemies. As the coeff rises however, so does the Director's budget. This allows it to spawn larger groups of enemies, stronger enemies, more elites, etc.

The Director will also avoid spawning an enemy group that is "too cheap" for its current credit (defined as the cost of a full pack of elites, so 24 times the original enemy cost). This is why as time goes on, weaker enemies are less and less common and even disappear completely after a while. In previous versions, this meant that for particularly deep runs, the coeff became so large that even bosses became too cheap, which caused strange behavior such as teleporter bosses not spawning, eventually culminating into completely empty maps as coeff reached into the thousands and the Director endlessly accumulated credits it refused to spend. Now, to ensure the Director always has something to populate the map with, it will check if the selected monster group is not the most expensive the Director could spawn before it deems them too cheap to use.