Modeling Movement Rates

   I recently modeled movement rates for Violence Spells Gods and Politics based on my own experiences in track and cross-country competition.1


SPEEDunits moved per round, which may be meters or yards.2
PACEmultiple of SPEED from x1, walking, to x6, sprinting.
Fatigue CheckTOUGHNESS resistance versus fatigue. CR = 11 + pace
IntervalPeriod between Fatigue Checks based on pace of movement.
FatigueAccumulates with each failed resistance check.
Effect: -1 SPEED, cumulative. Increase action complexity.


x13 hours*9 miles (SPEED)
x21 hour6 miles (2/3 SPEED)
x320 minutes3 miles (1/3 SPEED)
x45 minutes1 mile (1/9 SPEED)
x51 minute450 yards/meters. 1/4 mile
x61 round54 yards/meters
* - only if already fatigued
After 24 miles in one day, the character receives 1 point of fatigue.


   The most important statistic characters have for these mechanics in my game is SPEED. SPEED is an integer representing the distance in either yards or meters which a character can walk in 6 seconds, one round. Characters can move more quickly than this by increasing their pace. Pacing is measured in multiples of SPEED from x1, walking, to x6, sprinting. Each round, a character can only move at one pace. Any movement made at a pace greater than x1 must be made all at once within the round either with the primary action, or with a reaction. The distance moved at a x1 pace can be distributed however the player wishes.

   The baseline SPEED which a normal person moves in VSGP is currently 9. This can be bumped up to 10 by taking the advantage "Fast", or reduced to 8 if the character is "Slow". This worked out well for two reasons. First, a character with 10 SPEED who is sprinting (x6 pace) moves at 10 meters per second which is not far from the real limits of human potential3. And second, a character with 9 SPEED walking (x1 pace) covers 3 miles or 5.4 kilometers per hour both of which are close to average speeds for normal people walking in the real world. Since these have hit the mark precisely for both the top extreme and average of what I am trying to achieve for human speed, I am happy with the numbers.

   Let me back up a second since I glossed over something that might not be obvious to you. I am not hand waving the distance covered over different periods. I determined how many rounds are in a minute (10) or an hour (600), multiplied SPEED by that number, and then multiplied by the pace to get the distance traveled. Walking for an hour is 600 rounds x9 SPEED x1 pace for 5400 meters (or yards) per hour (about 3 miles). Sprinting for an hour, an improbable feat to say the least, would be for 600 rounds at x9 SPEED by x6 pace resulting in 32,400 meters distance (almost 18.5 miles). I also like that a SPEED 9 character running a x4 pace for 5 minutes runs a mile. 9 SPEED x4 pace = 36 meters per round. 5 minutes equals 50 rounds so the distance is 36 m/r x 50 r = 1800 m, or 1.1 miles. If you use yards instead of meters, you are only 40 yards in excess of a mile, 1760 yards.

   Sustaining accelerated paces over long distances poses an obvious problem that I can not solve using the SPEED stat alone. I looked into my own experience as a mid to long distance runner to sort this out, and concluded that TOUGHNESS should also be a factor.4 What separates runners over longer distances is not just their raw speed, but their ability to resist fatigue while maintaining their pace. Exceptional endurance often enables a runner to maintain a faster pace than another who may naturally have a quicker stride but lacks the stamina or the will to make use of it. A SPEED 9 runner with a x5 pace, for example, covers 5 more meters per round than a SPEED 10 runner with a x4 pace. And if you provide penalties to SPEED from fatigue then this becomes an almost realistic model with three moving parts (speed, pace, and fatigue).5

   The first thing I decided was that the CR for a TOUGHNESS resistance check for fatigue would be 11 + pace + fatigue. Pace in this context is an integer. So a x1 pace has a value of 1, and x6 a value of 6. Fatigue is the number of times the character has failed to resist fatigue in a row. Fatigue is thus cumulative. Each point of fatigue a character accumulates, their current SPEED is reduced by 1. And when fatigued the complexity of all physical actions is increased by one factor.

   The next thing I decided is how often the character makes fatigue checks. These are imperfect, perhaps slightly too infrequent for realism, but they scale properly for each increment which is suitable enough to guide the decisions players make. In order to avoid fatigue or remove a point of it, the character rests as long as the interval. There are a few exceptions to this rule. Moving at x1 does not introduce fatigue checks unless the character has a point of fatigue. After 24 miles traveled during the day, even with rests in between moves, 1 point of fatigue is automatically accumulated.


   I also have encumbrance rules. Different sized characters can carry more items than smaller characters. This is identified as a carry limit. Each item beyond the limit reduces speed by 1. I'm also contemplating having wielded items reduce speed based on size, but this starts to get complicated and fussy so I'm not sure. The definition of an item for this purpose is a significant one. A coin has no effect. A sack filled with coins is 1 item. Likewise, a candle does not count, but something large or heavy like a coil of rope or a crowbar does.

-11 (1)*
Same2 (1)*
+13 (1)*
+25 (1)*
* - First penalty is for the largest item.
Second item has at most a penalty of 1.


   And that covers it.

   Yes, I am aware that this is far more than it needs to be. I will probably cut it into a bite sized chunk before I finalize this. The point of sharing this in a post was to show real world human speeds, codified in a game and based on my experience. I was surprised to see how close D&D comes to reality with its 30 feet per move rule.

  1. I had originally left these rules out because I was not interested in playing with figurines on a tabletop. I wanted to handle all this in the narrative of play, but my older son was disappointed. He likes moving pieces about on a board.

  2. The reason for ambiguous units, either yards or meters, is that I wanted to allow players to use units they were familiar with, and the two are similar enough in length for my purposes. A German I chat with online regularly needled me about using imperial units instead of metric, and said it would be welcomed by European players if I switched over. I decided to meet him halfway.

  3. I particularly like that the "Fast" advantage almost perfectly expresses my intentions behind Advantages. I want Advantages to represent above average characteristics which approach but do not exceed the limits of human potential. All characters are otherwise average individuals of their species in terms of their physical characteristics.

  4. I was a competitive runner in cross-country (5k ranging between 14 and 15 minutes depending on the course), and in track in the 800 (1:54), and the mile (4:20), and marginally competitive in the 400 (54), but perhaps the most remarkable thing about my success is that I am not exceptionally fast. When I was not in peak condition, average people of reasonable fitness could match me in a short sprint. I only ran about a 12 second 100 at best when in top shape and rested, which was embarrassing to me at the time given how dominant I was in my events. Teammates who I would lead in my events for the duration, and beat by a full lap in a mile, would often beat me by several steps in a 100. It was not my speed, but my experience, and determination which enabled me to win races because I was able to push myself to my limit and sustain it whether the distance was 400 meters or 5000. I was the guy who would sometimes chase the rabbit, and maintain a lead to the end in order to beat a faster runner who would've killed me in the last 100 meters. The trick was knowing the razor thin edge of my top speed and pushing up against it no matter how much it hurt for the duration. I beat many runners who had far greater fundamentals because they were inexperienced at that age while I had been running with my father since I was 6. They were not running at the limit of their potential while I believe that I was. Before completing high-school I severely injured my knee so I never again reached the level I had been competing at. Despite this I have since run between 14:40 to 15:30 or so 5k's several times without causing myself any problems, and without any real training. I have not trained to be in peak form since I was 18, even in college when I trained with the team, I was not training to be in top racing form. I had moved on at that time. The point to this being that even with a fucked up knee and just basic, and random jogging as exercise, a 5 minute mile is not a big deal if you are in decent shape and of at least average or slightly better than average speed which I believe I am. You don't need speed necessarily to be a fast runner. You can be a middle of the road kind of guy in terms of speed like me and make up for it with other advantages if the distance is long enough. And the distance doesn't have to be that long. A 1/4 mile is long enough that an exceptional sprinter with poor endurance will be beaten by a slower footed guy like me who pushes all out and holds it for the duration. In fact, at the start of track season the mid-distance runners would consistently beat the sprinters, because they were not yet in peak shape, while the mid-distance runners were already as fast in terms of speed as they were likely going to get in addition to having greater endurance from the fall-winter cross-country season running 5k races on muddy trails up and down hills.

  5. At least using SPEED and pace along with TOUGHNESS for fatigue checks at intervals based on the pace, seems simple to me, and I have yet to be tripped up by it in play. Still I probably need to test it more. Cutting stuff to barest simplicity is usually best, and I am obviously not there yet. I suspect the solution is to abstract these mechanics in to a few simple options, and cut the rest.