Character movement speed and encumbrance.

Users who are viewing this thread

Marek15

Veteran
Out of curiosity i decided to do a little testing to figure out how much both encumbrance and athletics affect movement speed. The results were rather disappointing.

The setup was simple: run a fixed distance between two points in a village at different levels of of encumbrance and athletics, without any perks.
The distance in the test was ~32m. The encumbrance levels were at 0 as a baseline, 40 to represent tier 5 & 6 troops and 124 as a unrealistic extreme.

The results:
Athletics / encumbrance040124
08.20s9.51s14.40s
3006.27s6.75s8.17s

This data sadly bring two mayor issues to light:
1. The speed bonus from athletics is too low at only 30% for 300 athletics. 50% would make a more significant difference as well as being more in line with the difference between the average person and a athlete.
2. The speed penalty from encumbrance is far too small. At 40 weight and 0 athletics the penalty is only 14% and at 300 athletics just a tiny 7%.

At this point there is effectively no tradeoff between armor and mobility, characters are barely slowed down by even the heaviest of armor.
 
It's a meme skill for streamers to role play. Any possibility it uses a different formula in battle then in domestic walking? That would be a good change for QOL so I expect it's not the case lol
People complained (we see this very often...) that chars ran to fast, not they run too slow....
 
Out of curiosity i decided to do a little testing to figure out how much both encumbrance and athletics affect movement speed. The results were rather disappointing.
...
At this point there is effectively no tradeoff between armor and mobility, characters are barely slowed down by even the heaviest of armor.
This was a requested adjustment to be slower.
 
I decided to peek into the code to see how movement speed is calculated and what i found was... rather annoying, but i will spare you my rambling about that.
So i made a personal mod to change the formula into effectively this: Base speed * (1 + (Athletics * (0.5 / 300))) / (1 + (Encumbrance / 120)).

The result of this was that most troops have roughly the same speed since the heavy equipment of high tier troops would cancel out their athletics bonus.
Only when combining high athletics and low encumbrance would the player be fast enough to catch up to fleeing looters for example, but still not as fast as pre 1.5.10.
Only issue i encountered was that certain units had too little athletics relative to their encumbrance. But that can be fixed by tweaking the weight of equipment and athletics value of those units.

Would you kindly open SandboxAgentStatCalculateModel.cs and turn this:
Code:
float maxValue = (float) (0.7 * (1.0 + 3.0 * (double) DefaultSkillEffects.AthleticsSpeedFactor.PrimaryBonus));
float num4 = MBMath.ClampFloat((float)(0.7 + ((double)maxValue - 0.7) / 300.0 * (double)effectiveSkill1) - Math.Max((float)(0.2 * (1.0 - (double)DefaultSkillEffects.AthleticsWeightFactor.GetPrimaryValue(effectiveSkill1) * 0.01)), 0.0f) * num1 / (float)weight, 0.0f, maxValue);
Into this:
Code:
float maxValue = (float) (0.7 * (1.0 + 5.0 * (double) DefaultSkillEffects.AthleticsSpeedFactor.PrimaryBonus));
float num4 = MBMath.ClampFloat((float)(0.7 + ((double)maxValue - 0.7) / 300.0 * (double)effectiveSkill1) / (1 + (num1 / 120)), 0.0f, maxValue);
Pretty please ?
 
Back
Top Bottom