Level scaling is a user-set difficulty setting, and a mechanic in Pillars of Eternity II: Deadfire which primarily changes the level of enemies up or down depending on the players level relative to the "recommended level" of the location or encounter.
Another, similarly-named mechanic is used to scale the effectiveness of specific armor and abilities based on a character's power level (including accuracy, bounce, damage, duration, penetration, projectile count, and armor rating). This is unrelated and is not covered here.
Scaling is done around estimations that the game has in place for the recommended level that the player should be in a specific location or encounter. Also called the "expected player level", it is pre-set by the games designers, and takes into consideration a number of factors that make the area more challenging for the player to traverse, including the average of the base/unscaled enemy levels in the area, the amount of enemies, traps, etc.
With level scaling on:
- If the player is below the recommended level, the creature's level is reduced to make combat more fair.
- If the player is above the recommended level, the creature's level is increased to make combat more challenging.
Note that it is the recommended level of an area, and NOT the base enemy level that is used to determine whether to scale up or down.
What it affects
- The level of non-player, non-companion characters and creatures, which is directly associated with its stats (health, attributes, etc.), as well as the passive and active abilities that are granted via the character's progression table.
- The level of any animal companions that the above character may have.
- Level scaling also indirectly gives a modifier to enemy Armor Rating and Penetration, where bonus levels give more and reduced levels give less.
- Bonus penetration is calculated with
LevelAdjustment / 2 * 1, where the level adjustment is the difference between the characters level-scaling adjusted level, and their base level. In this case every level difference gives ± 0.5 Penetration.
- Similarly, bonus armor is calculated with
LevelAdjustment / 3 * 1. In this case, every level difference gives ± 0.333... Armor Rating.
- Bonus penetration is calculated with
- The displayed difficulty level of quests (also "quest level"). This is done so that a quest accurately represents the level of creatures found in the areas the quest has you exploring. Note that the quest level itself does NOT influence level scaling, it is simply used as an indicator of the average difficulty of the locations and encounters found within the quest.
- The displayed difficulty level of encounters shown on the world map, similar to above.
- The displayed difficulty level of locations, though this is not actually shown.
Scaling can be set to
- None: No level scaling adjustments are done, regardless.
- Critical Path: Only apply to "Critical Path". Quests, areas, and encounters (as well as the characters spawned within) can marked as such. Critical path quests include main quests and faction quests, and not side quests and tasks.
- All: Apply to all quests, areas and encounters. Within this, checks are made to determine whether the quest/area/encounter is considered side content, or critical path content. The difference being in the tables used to adjust values.
The settings also list a "Only scale upwards" option. This simply makes it so that the levels aren't dropped if the player is below the recommended level.
Changes to level scaling settings do not affect characters currently in combat.
Level scaling occurs as a series of direct adjustments to the level of a non-player character or creature. Each character has their own minimum and maximum allowed adjustment, but most are bound to within -50 to +50 levels from their base level (though this is essentially unrestricted, since characters never reach this level).
Player vs. expected level adjustments
The difference between player's current level, and the expected level is calculated (with
player - expected), and then the game refers to a table to determine the exact modifier. If the difference is within the minimum and maximum expected difference (inclusive of those values), the associated adjustment is used.
For example, if the expected level is 10, and the player level is 16, that's a +6 difference, so the adjustment will be +4.
Depending on whether the character is spawned as part of critical path or side content, a different table is used - although these tables contain the same values, so critical path and side content aren't actually scaled any differently. However, note that side content isn't scaled if the level scaling is set to "Critical Path" only.
For named, non-generic characters (specified with the
IsNamedCharacter field), scaling via the critical path or side content tables is ignored. They instead use the "Named character" table, which is similar but caps out at +6 instead of +4, meaning they're still a threat to players that exceed the recommended level by 6.
Party size adjustment
A second adjustment that the game makes to the character level is based on the size of the player's party, versus the expected size of the party for an area (instead of expected/recommended level).
However, in the current version of the game, the associated table always returns zero, so the party size is never actually considered. In addition the expected party size for every location is -1, with the exception of Motare o Kōzi which has an expected party size of 5. This may have been a scrapped feature.
Another table exists, which would grant ±1 level for every party member over/under the expected party size, but it is not used.