User talk:Abo
Running/Encumberance/Fatigue[edit]
I've been looking at all the running/encumberance/fatigue mods out there and am not happy with any of them. I'm thinking of putting together something that ties them all together in a a coherent and simple way. I'm definitely from the minimalist KISS school of programming, so I'd rather sacrifice features than have something stupidly complex. I also have a motto "arbitary thresholds and limits don't scale", so I always favour continuous functions over sudden "you are now VeryTired" steps.
I've started by figuring out and documenting the current movement formulas.
Ideal features of a Running/Encumberance/Fatigue mod should be;
- Running backwards should be slower than running forwards. It would be nice if running backwards was faster than walking backwards, but still not as fast as going forwards.
- Running backwards should not drain any attributes like speed or athletics. Draining attributes has a negative impact on other actions, in particular speed affects light armour skill. Dodging backwards should not mean you become easier to stab. This means it should be done by OBSE control munging to PWM running on/off. See [Backwards Running] for an example.
- Fatigue levels should affect movement speeds. The more fatigued you are, the slower you go. As exhaustion means you are genuinely impaired, draining attributes is fine for this. In fact, it may make sense to have fatigue drain all attributes so that exhaustion has a more real impact on all actions. However, many other actions such as combat damage is already impacted by fatigue, so perhaps just draining speed is best.
- Encumberance modifies how fast fatigue is drained when doing things. It should be scaled such that being "over encumbered" is the point where fatigue drains even when standing still. This means you should be able to pick up something heavier than you can carry indefinitely and quickly move it a short distance as your fatigue rapidly drains to zero.
- Your movement speed should modify how fast fatigue is drained. Note that as you get fatigued when running, your running speed will decrease, which will drecrease the drain rate of your fatigue. At some point your running speed will be slow enough that your fatigue drain matches your fatigue regeneration rate. This is your "marathon running pace" that can be sustained indefinitely. Also, since encumberance affects the drain rate, the more you are carrying the slower your "marathon running pace" will be. For 50% encumberance, "marathon running pace" should be at around 50% fatigue, and 50% speed drained.
- fatigue induced drains should show as a spell affect icon, making it easy to see that the reason your speed attribute is red is you are fatigued.
- When fatigue gets low, you get a visual and audio warning. The degree of visual and audio should vary depending on how fatigued you are. The hitshader and a panting sound would be nice, with the intensity, volume, and frequency of bluring and panting increasing as you get more exhausted.
- When fatigue hits zero, you fall over...
- perhaps health damage should also impact on fatigue... is it reasonable that you can sprint just as far and fast when you are fully healthy as nearly dead? If low health drains fatigue, then you also get low health visual/audio warnings for free from the low fatigue warnings.
- As much of this as possible should be implemented using Oblivion game settings instead of scripts. This way they have the same impact on all NPC's and creatures. AFAIK, there is no "global scripts" that can be easily modified so they apply to all NCPs and creatures. This means script based speed/fatigue/encumberance affects can only apply to the player, as it's unreasonable to try and add scripts to all NPC's and creatures.
Unfortunately, many of these features cannot be done without scripting. This means things like "marathon running speed" will only apply to the player, and other NPC's and creatures will not exhibit the sprint -> slow down -> jog behavior for sustained running. Also, NPC's will not experience the increased fatigue drain caused by encumberance, so burden spells and poisons will still be useless.