Throughout this page, references will be made to various in-game variables. These variables can be modified in the Oblivion.ini file, though they're not normally found there. Variables will be listed at the beginning of each subsection, along with their default values. After that, default values will generally be assumed. Also note that the formulas follow the standard Order of Operations rules, so multiplication and division are always calculated before addition and subtraction.
Summary
To move as fast as possible in the game you have to:
Basic Movement Speed
The basic movement speed formula is a fairly simple linear increase, based on your Speed attribute. This is then modified based on several factors, such as your encumbrance and weapon state (unequipped, sheathed, drawn).
Base Speed
Variables:
- fMoveCharWalkMin (Default: 90)
- fMoveCharWalkMax (Default: 130)
In its simplest form, your movement speed is your Speed attribute taken as a percent, on a scale of 90 - 130. So a Speed of 0 would produce a movement rate of 90, and a Speed of 100 would produce a movement rate of 130. Speeds above 100 will continue upwards linearly. Specifically, the formula is:
BaseSpeed = fMoveCharWalkMin + (fMoveCharWalkMax - fMoveCharWalkMin) * Speed / 100
The base movement is multiplied by several modifiers. A modifier of 1, therefore, means there's no change to the base speed for that modifier. Specifically, the formula used by Oblivion is:
LandSpeed = EncumbranceModifier * WeaponModifier * BaseSpeed * SneakModifier * MoveTypeModifier
Encumbrance Modifier
Variables:
- fMoveWeightMin (Default 0)
- fMoveWeightMax (Default 150)
- fMoveEncumEffect (Default 0.4)
- fMoveEncumEffectNoWea (Default 0.3)
The EncumbranceMultiplier formula has been determined by experimenting with changing settings and seems to be very accurate, but there are some small deviations that suggest some minor extra influences are missing. The full formula, as has been determined to this point is:
EncumbranceMultiplier = 1 - EncumEffectMultiplier * (fMoveWeightMin + WornWeight) / (fMoveWeightMax - fMoveWeightMin)
By default, however, fMoveWeightMin is 0.0 which makes the formula significantly simpler:
EncumbranceMultiplier = 1 - EncumEffectMultiplier * WornWeight / fMoveWeightMax
EncumEffectMultiplier is conceptually determined by the following table:
Mode | EncumEffectMultiplier |
---|---|
Weapon Equipped (at all, drawn or sheathed) |
fMoveEncumEffect |
No Weapon Equipped | fMoveEncumEffectNoWea |
WornWeight is the sum of all equipped weapons (excluding arrows), armor/shields, and jewelry using the real weight values shown on the Weapons and Armor pages, not the rounded ones displayed in-game. WornWeight is capped at the value of fMoveWeightMax - any weight exceeding this will not count towards encumbrance. This is then modified by perks from Expert/Master skills (see perks, below).
Perk variables:
- fPerkHeavyArmorExpertSpeedMult (Default 0.5) - At Expert, only half your Heavy Armor's weight counts towards WornWeight
- fPerkHeavyArmorMasterSpeedMult (Default 0.0)- At Master, none of your Heavy Armor's weight counts towards WornWeight (absurdly, this actually means you run faster than in cloth!)
- fPerkHeavyArmorSinkGravityMult (Default 15.0)
- fPerkLightArmorExpertSpeedMult (Default 0.0) - At Expert, none of your Light Armor's weight counts towards WornWeight
Weapon Modifier
Variables:
- fMoveNoWeaponMult (Default 1.1)
WeaponMultiplier can be determined by the following table:
Mode | EncumEffectMultiplier |
---|---|
Combat (weapon drawn) |
1.0 |
Non-Combat (weapon sheathed) |
fMoveNoWeaponMult |
In other words, by default, you move 10% faster when your weapon is sheathed. Unlike fMoveEncumEffect(NoWea) changing this value does change the game's behavior: setting it to 1.0 will give you a consistent speed whether your weapon is drawn or not.
Sneak Modifier
Variables:
- fMoveSneakMult (Default: 0.6)
Sneaking is a straight-forward modifier, reducing your movement speed to 60% of normal. So:
SneakModifier = fMoveSneakMult
Move Type Modifier
Variables:
- fMoveRunMult (Default: 3)
- fMoveRunAthleticsMult (Default: 1)
- fMoveSwimRunAthleticsMult (Default 0.1)
- fMoveSwimRunBase (Default 0.5)
- fMoveSwimWalkAthleticsMult (Default 0.02)
- fMoveSwimWalkBase (Default 0.5)
There are four different types of movement, each with their own formula. In all cases except walking, they are a base number plus an increment based on your Athletics. So for example, by default, your run speed is 3 times your base speed. Each point of Athletics adds 0.01 to that, for an effective running speed of up to 4 times your base speed. Altering fMoveRunAthleticsMult will cause your Athletics to be more or less effective, as appropriate. The formulas are:
Walking
MoveTypeModifier = 1
Running
MoveTypeModifier = fMoveRunMult + fMoveRunAthleticsMult * Athletics / 100
Swimming ("Walking")
MoveTypeModifier = fMoveSwimWalkBase + fMoveSwimWalkAthleticsMult * Athletics / 100
Swimming ("Running")
MoveTypeModifier = fMoveSwimRunBase + fMoveSwimRunAthleticsMult * Athletics / 100
Other Movement Types
Creatures
A creature's movement speed is based on the same formulas as above, but BaseSpeed is changed to use creature-specific speeds. Also, creatures are always considered to have a weapon drawn when it comes to encumbrance calculations.
Variables:
- fMoveCreatureWalkMin (Default: 5)
- fMoveCreatureWalkMax (Default: 300)
Creature BaseSpeed = fMoveCreatureWalkMin + (fMoveCreatureWalkMax - fMoveCreatureWalkMin) * Speed / 100
Flying
It is unknown what flying speed is used for, but like Creature speeds, it's based on the Base Speed formulas with different variables. It does not affect the movement rate of flying creatures.
Variables:
- fMoveMaxFlySpeed (Default 300.0)
- fMoveMinFlySpeed (Default 5.0)
FlySpeed = fMoveMinFlySpeed + (fMoveMaxFlySpeed - fMoveMinFlySpeed) * Speed / 100
Other Mysteries
- fSubmergedMaxSpeed (Default 2.0)
Notes
- Fatigue and encumbrance do not appear to have any effect on movement speed. The EncumbranceMultiplier is only affected by worn armor and carried weapons, and Strength does not help compensate in any way for equipped heavy armor and weapons.
- There doesn't seem to be a way to easily introduce fatigue and/or encumbrance based movement penalties by just tweaking game settings values. This means that it is not possible to have NPC and creatures "slow down when puffed or burdened" without adding scripting to every single NPC/creature. This makes Burden-based poisons pretty much useless unless they are strong enough to overburden and pin them down. Anything less than 100% encumbrance doesn't slow them down at all, but the final straw that overburdens them suddenly pins them to the spot. Draining Fatigue does help reduce the damage they deal, but it doesn't slow them down when they are chasing you.