Getting the Size/Speed Range Table Right and Wrong

I love the Size and Speed/Range Table in GURPS. EABA has one too. I think both games get things right and wrong here, and since I have an idle moment, I want to say why.

What’s Right?

Where do these kinds of charts succeed? While there’s lots of small things, here are the big ones that occur to me:


Both charts (the SSR can be found on p. B550; “The Chart” is on p. 2.8 of EABA v2.01) cover the entire possible range of scaling and are logarithmic in nature. My personal experience is that this is nearly mandatory, since both gaming and real life happen on widely different scales.

This need not be frost giants and mortals, either. An aircraft carrier might well be the target of a light antitank weapon. A man might stomp on a bug. An industrial press might have hundreds – or thousands – of times the applied force capability of a human.

So something that accounts for scale is necessary.


GURPS chart has an easily memorized progression of values. There are six of them, and they repeat. 1, 1.5, 2, 3, 5, 7, then repeat at 10.

This progression is, without a doubt, one of the genius elements of the GURPS Size and Speed/Range table. Is all you need to know are those few numbers, plus that the penalty/bonus goes up +6 for 10x, and that 10 is -4, and 100 is -10. Mostly that means you can figure any penalty on the fly without looking at the chart, if you want.

EABA has an issue here. I’ll get to that in a moment.

Logs and Ratios

The awesome thing about both of these is that they theoretically allow some great mechanical work to be done with simple addition/subtraction because of the nature of the tables. Logarithms turn  multiplication and division into addition and subtraction.

The basis of a (base-10) logarithm is it’s basically the exponent that you need to raise 10 to in order to get what you want. So since 10 to the zero power is 1, the log(base10) of 1 is zero. The log of 10 is 1, 100 is 2, and the log of 50 is about 1.7.

Most usefully (at least to me), log tables allow easy determination of ratios. So if you have a ST score that measures applied force, then you can look at who has the advantage by simply comparing the scores, and the difference of the highest to the lowest gives you the ratio of the one to the other . . . or it would, but for the flaw in both charts.

What’s Not As Helpful

While the tables are pretty cool by themselves, they both suffer from flaws.

Where’s the Zero?

The GURPS chart, and four of the eight or nine relevant columns in EABA all set the place with zero penalty to some not-arbitrary number that’s not 1.0.
Why is this a problem? GURPS sets it to 2, which is man-high, and makes shooting or swinging at a man-sized target a no-penalty sort of thing. Sensible, right?
EABA seems to set each zero-penalty/zero-bonus at an appropriate place for the game designer’s purpose. Seems cool, right? I mean, you want the zero to be convenient?

Set the Zero to 1.0. Always.

I’m going to pick a nit here, and based on years of fiddling, just flat out say that if you’re going to use a log table like this, you always want to have the scale start with 1 being a bonus/penalty of zero.
Why? Because the logarithm of 1 is zero. And that makes lots and lots of other things work.
Consider GURPS: If you have a ST that lets you lift 1000 lbs, and you’re wrestling with someone whose ST score lets you lift 100 lbs, you’re 10x stronger than they are. The current SSR value for 1,000 is 16, while 100 is 10. Subtract them and you get 6. Which is actually 2 higher than the value it shoudl be (10), because of the offset. There’s an extra step in there that’s not necessary (subtract two from all results when dividing).
Likewise, if you take 5 and 2 and multiply them together, you get 10. Easy math that you can do in your head, of course. But the values for this are 2 and 0, giving 2, instead of 4. Again, you have to add 2 in order to get to the “real” answer.
Not too big a deal.
EABA suffers from a different problem. It uses eight different progressions. So the offset is different for each one. You have to use the chart.

Easy scaling is a win

This one is a problem more unique to EABA. GURPS uses a progression that is 6 levels of progression for each x10 (it actually uses several progressions in various places: 1 – 2 – 5- 10 and 1 – 3 – 10 being the go-to alternatives). But it uses that progression as an approximate, and what it lacks in precision it makes up for in being easy to memorize.
EABA chose to get more precise with its progression, by expanding the scale. x1000 is +20. So if you’re going to do this, you have to memorize 20 levels of the chart. It also blends units of time for “ease” of communication (seconds to to minutes), but conveniently this is mitigated by one of the steps actually being x60, so that becomes fairly natural.
Still, 20 levels per x1000 is not terribly helpful.

Fix it?

I’ll confine my comments to GURPS here, in that I think it could benefit from resetting the zero to 1 yard or 1 yard per second (size and speed). For one thing, one yard is one hex. Boom, now that’s a natural unit to base a scale on. It’s also roughly the height of the human torso, which is the default thing to shoot or swing at in the rules anyway.
But the real reason I want to do it is so that you can just use logs for ratios and stuff. Mostly you can get away with this, since the bonus/penalty involved in a ratio doesn’t require back-conversion into “real” units. If you have a strength for 1,000 lbs (16) and a strength for 100 lbs (10), the delta is 6. Move on to game-mechanical things and don’t worry about subtracting 2 to get 4, so you can read the chart and get the ratio of 10.
But it is pretty handy to be able to do actual math if you need to.

Parting Shot

Why do I even care? I’ve been fiddling with two things.

The first has been eliminating ST rolls, and the recent discussion of Log ST in Pyramid #3/83 by none other than Sean Punch himself has me fiddling a lot with moving the basis of rolls to DX and HT, while using power or weight ratios to get bonuses and penalties to the rolls. This concept has a LOT going for it.
The other is to eliminate HP tracking from the game, by looking at penetration/injury values as a ratio of damage number to resistance value (basically damage-to-HP ratio), but not tracking the individual ticks, but rather the “Conditions,” for a familiar D&D-based term.
GURPS already has this, by the way, in many respects. A mortal wound is more than half your HP in injury (2 level offset on the SSR table). Crippling thresholds are defined as ratios and can easily be expressed as offsets on the table. Death and KO thresholds are multiples of HP anyway. Again, very friendly from a log-table perspective.
So for GURPS, anyway, I think there are a bunch of artifacts that can be removed with proper consideration.
Now I just have to write it up.

19 thoughts on “Getting the Size/Speed Range Table Right and Wrong

  1. I've experimented with using Wound Thresholds and fatigue-based bleeding in GURPS, but I've never gotten them to a state I was willing to share with anyone else. I do think Wound Thresholds are a better system, especially for dealing with guns: you can get shot with a pistol 7 times and if nothing hits anything vital, you're hurt and bleeding but not crippled. That's not really possible in GURPS right now: even 7 minimal hits from a 9mm puts the average person well below -1xHP and into the death check range.

    I'm looking forward to what you come up with, is what I'm saying.

  2. Not being a math based person I only vaguely understand concepts like 'Logarithmic' it would help me to see the table you are suggesting to follow the discussion

  3. Thinking about it more, having the GURPS SSR 0 at 2 yards is useful for the primary purpose of the SSR: calculating to-hit penalties for ranged attacks. Your reset version gives a crippling penalty (-6) to hit a target that is only 10 yards away. The current penalty of -4 is bad enough, but your version is pretty crazy.

    It's a problem that the SSR isn't convenient for comparing ratios. But it's more convenient that the SSR can easily be used to calculate ranged penalties =)

    1. You could always use SSR+2 for SSR penalties, though that's kind of extra math, and ooften. Shifting the SSR really depends on how many things rely on it in its current form (RPM penalties, combat penalties, etc.), and on its altered form (I'm curious to see more concrete examples of what Doug wants to do here).

  4. Two others worth considering:

    DC Heroes (Greg Gorden, 1985) had the most brutal log scale I've seen, ×2 per +1. I don't have a copy to hand, but I believe it had a unified scale similar to:

    Torg (also Greg Gorden, 1990) has a "Value Chart" with ×10 per +5 (1, 1.5, 2.5, 4, 6, 10). Zero is one second, one kg, one metre or $1. (Unfortunately they screwed up slightly because a combat round is a nominal ten seconds long, so an average person can sprint at around half the speed of sound.) This also had one-on-many and many-on-one modifiers, which streamlined group actions. So if you have six guys with Strength 10 trying to lift something, they collectively get +4 to a single roll.

    They used the log scale in various clever ways: speed value plus time value = distance travelled, strength value minus weight value = distance you can throw an object, etc.

    1. Blame DC Comics for the DC Heroes scale – they had to fit Robin and Superman in the same game. It got pretty fuzzy at normal human levels. Torg had some weirdness like the pushing rules and caps on ability – e.g., Lifting skill dramatically increased how much you could lift until you hit the cap for your race, at which point it gave a bonus to efforts to push skill. Fudge has a pretty well thought out log scale, though I would change it to *10/+6 (it isn't quite that now.)

  5. Your discussion of wounding reminded me of Savage Worlds – roll damage against a toughness+armor threshold to determine how severe the effect is. Really helped me cement how that would work in more realistic play than SW usually espouses.

  6. Strictly speaking, since GURPS uses a quadratic scale, half of base HP is actually more like 1/4 damage or around -4 on the proposed log scale. And a 1 HP would be about 1/100 of the damage needed to drop a 10 HP normal human to 0 in one blow (-12 on the proposed log scale.) So rather than using HP, use some kind of damage threshold based on ST. Beat the threshold by 1 and you've scored a solid hit, equivalent to 1 HP of damage in the old system. Beat it by 8 and you've caused a major wound and possible knockdown. Beat it by 12+ and that's the equivalent of dropping someone to 0 HP. Pain Penalty is -1 plus an additional -1 for every 2 over the threshold up to -4.

    Impaling and cutting weapons might get a multiplier that only applies after beating the damage threshold. I'd have to think about the mechanics of this.

    I'd recommend looking up the damage systems for Fudge and Mutants & Masterminds, if you haven't already. They have some useful ideas for handling logarithmic damage.

    The advantage of using a damage threshold a la Fudge is that it makes scaling combat much easier and makes negative numbers for ST and damage meaningful.

    Hope this post makes sense – I can clarify if it doesn't.

    1. I've been playing with that sort of wound level system for a while. It can work, but it opens up real cans of worms when dealing with certain things, especially stacked defenses, stacked cover, and armor piercing, and how the damage randomizes at low levels.

      Another good source of inspiration is the original GDW "Striker" combat system for Traveller, which was probably the earliest logarithmic system to be worked out in great detail. Striker's log tables cover results from punches and swords up through tactical nuclear weapons but were optimized for vehicle and body armor combat with high-tech weapons.

    2. By stacked defenses, I mean the difficulty of handling things like "shooting through cover" and "okay, the lizard man with armored scale skin is wearing chainmail while hiding behind a tree when he's hit".

      In GURPS you can do that without too much problem if you retain the standard "thickness of armor is linear with DR" that is used for the current HP and DR system, but this is not ideal for stuff like superheroes where you really want a more Mutants and Masterminds style log system that uses a much faster curve progression – but the later system doesn't work very well if you're trying to be realistic in other respects with GURPS style super detailing of damage.

  7. The concept is not new, even if not fully chart-ified in the past. Hero System is a "doubling every +3" system for things like Strength, and I think Bill Willingham's Underground (Mayfair Games) also had a progression-based chart.

    There's good/bad, optimum/non-optimum to all of these, and it often depends on what you are looking for and what the system is trying to do. DC Hero's "doubling per +1" is indeed brutal, but probably necessary if you are going to put Batman and Superman in the same scene and not have to fill Superman's sheet with 12-digit Strength values. GURPS works pretty good at the human level, but is human-oriented enough that going to superheroic levels is often a problem. And EABA has its quirks, too. It doubles every +3 for Strength and every +2 for everything else (and as designer I can tell you that took a -lot- of tweaking). And you don't have to memorize 20 levels. If you know that each +2 is x2 and each +1 is x1.4 (or for most purposes, x1.5), then if you know a particular value it is pretty easy to scale up or down. For instance, 25 meters is a ranged difficulty of 12. What's the difficulty at 50 meters (x2 distance), 100 meters (x4 distance) or 12 meters (x1/2 distance)? You didn't have to memorize 20 levels or even look at the table to figure it out. The same could be said for -any- of the other games with regular progressions.

    I will disagree and say you can't actually set x1.0 to zero and have things work out if you want to do "table math" -and- have the values be useful in game terms in relation to things like Strength rolls and the particular game's dice conventions. I -think- that values are usually set to minimize the number range and math for the normal expectation of play. So, a GURPS default target size of +0 means no math operation is needed for the default target size. Which happens to be a unit of measure that is not 1.0. Setting default human size to "1" (for a +0 modifier) would means the game's measurement scale has to go from being in yards to being in "person heights".

    1. Hi Greg! Nice to see your comments here. Glad you brought up HERO, one of the better examples of a doubling-based scaling system.

      GURPS might actually work better with a default of about "1" for human size for the simple reason that the GURPS "+-0 to hit" can and often is applied to attacks against the torso.

      This is actually a problem at the moment, as the hit location penalties for various locations don't really match with their actual target area. GURPS has a "+0 to hit torso" and also a "+0 to hit any random hit location."

      But the torso is closer to a one yard/meter high target than a two yard target! And GURPS 4th edition assumes attacks vs. specific hit location are standard….

      So I think GURPS could work with a 1 yard or meter default at +0 and still stay on human scale by a simple redefinition of "SM 0 = size of human torso target area".

    2. Could be. Someone should try making a "generic universal chart" and see exactly what a "value of 1" for a "+0 modifier" works for the basic scales of mass, distance, and time, and then "how often things double" needs to be for a range of human attributes that is dice-friendly. And how different will the results look from existing tables? There is always room for improvement in the art of game design.

    3. Greg: Hello, and welcome to GB. Very glad you dropped by, and I will likely respond to your feedback in a post of its own, because burying it in the comments doesn't do it justice.

      I'll also note: 3G3 was a fairly major inspiration for my own work on ballistics for GURPS, so thanks for that!

  8. It's interesting to read about Logarithmic systems (I hadn't realised GURPS was or EABA), as that's what mine is ( It does double every +2 for weight/strength/density/range, double every +5 for height, half chance of fail every +3 on dice rolls (i.e. lograthmic decay of probability), double every +1 for skill costs. The way height and weight are used as bonuses sounds similar to what you're discussing, and instead of hit points it uses wound penalties, i.e. -3 for a human or a dragon is the same proportion of damage.
    I too have wrestled with the progression – should it be "pure" 1,1.5,2,3,4,6,8,…512,768,1024 or "sanitised" so that it goes to 500,750,1000 (as it appears EABA does). In the end I preferred the first, as +2 is always doubled, and this fails in the sanitised version.

  9. I just found this while hunting for something else. It’s an interesting idea.

    The 1-3-10 and 1-2-5-10 progressions are ALSO derived from the SSR table. The table is based on the sixth root of 10. This is very convenient for linear dimensions because then 1-2-5-10 is based on 10^-3 (linear scale squared for area-based mechanics) and 1-3-10 is based on 10^-2 (linear scale cubed for volume-based mechanics). It’s adaptable to all kinds of situations and with some fudging basically covers everything a typical game would encounter.

    The math can be invisible to the player; he just sees himself skipping one or two values each time in the same memorizable progression.

    I’m excited by the Log Strength system that Kromm proposes in Know Your Own Strength. IMO it’s the future of GURPS, though I’d tweak the values a bit to be more intuitive. But like your idea for wounding, it would take some serious engineering to fit the current system. In particular, ranged attacks are a core mechanic; you’d want some way to avoid constantly adding and re-adding the same penalty every time you roll. There’s a good reason why the system zeros at 2yds.

Leave a Reply

Your email address will not be published. Required fields are marked *