Thor vs Hulk

Game design musing: New Damage for ST (GURPS)

This old (2010?) article was placed under the “Rules Bit” umbrella of minor rules tweaks for GURPS. But mucking with ST-based damage scores involves a number of considerations; it’s not really a “hey, gang, new rule tonight” kind of thing. So, this 2023 rewrite places the article under the “Game design musing” header, complete with “CAUTION” graphic noting that this is stuff for system hackers.

Intro: Refinishing the table

What’s wrong with GURPS‘ table linking ST scores to thrust and swing damage? Nothing! It’s done its job for decades, and so far no one’s gotten hurt. (Except all those on the target end of ST 14, 2d swings, of course.)

But a little thing like “it works well enough” never thwarts the compulsive rules hacker! Nay, the tinkerer must tinker.

Wouldn’t it be swell if damage followed ST in a neat, linear relationship? (Necessary, no; nice, sure, why not.) Maybe even so predictably that you barely need a table to tell you what damage you get with, say, ST 63? That’s not the case now, where damage doesn’t follow a consistent pattern connecting it to ST.

A thrilling recap of how this works in GURPS: Swing and thrust damage set their 1d levels at an arbitrary ST 13 and ST 10, respectively; from those uneven starting lines, they’re off! Not content with its initial lead of a couple points of damage, swing bolts ahead at the blistering pace of 1d every 4 ST, leaving thrust eating dust at its pace of only 1d every 8 ST. But swing is in trouble! It slams on the brakes while still a few ST shy of 30, slowing to the same 1d every 8 ST as thrust. There’s a gasp from the stands as swing then slows again at ST 60 to 1d every 10 ST, a pace slower than thrust! Could thrust close the gap? It presses its new-found advantage – for but a moment, before slowing to match swing’s pace at the ST 70 marker. From there on, both racers cruise at a pace of 1d per 10 ST through the infinite straightaway of the high-end Damage Table, thrust forever lagging a fixed 2d to the rear of swing. Got that?

The following is a dry-as-mummy-dust examination of damage that rises linearly with ST, using a reworked Damage Table offering three possible progressions. It’s purely for the sake of system tinkering, which makes it all of dubious value – but the resulting progression is so regular that just a small excerpt from its Damage Table on paper or in your memory will give you damage for any ST score. And that’s arguably kind of cool (for some values of “cool”).

New Damage Table

Check out this possible replacement (PDF below) for the familiar ol’ Damage Table found on p. B16.

The columns

Wait – three columns, instead of the familiar “Thrust” and “Swing” columns, and with the lame headers “Small”, “Medium”, and “Large”?

The set-up is for tinkering purposes, giving you three progressions to play around with. Here’s how they work:

Small: Damage rises with ST at a languid pace in this column: 1d every 15 ST.

Medium: With its neat progression of 1d every 10 ST, this column is the people-pleaser of the bunch. As in: “What’s damage for ST 90? Oh, that’d be 9d.” Yeah!

Large: Damage rises 1d every 6 to 7 ST – more specifically, 3d every 20 ST.

Comparing the progressions

Damage in the Large progression rises 1.5 times as quickly as damage in the Medium progression, which rises 1.5 times as fast as damage in the Small progression. For a given ST, Medium damage is 1.5 times Small damage and Large damage is 1.5 times Medium damage. (This is easy to see at ST 60, where the damage scores are 4d, 6d, and 9d, respectively.) The damage for a given ST score in the Medium column will also appear at (that ST x 1.5) in the Small column, or (that ST / 1.5) in the Large column.

Why the multiple of 1.5 between columns? It’s from an old idea of mine: if swing damage is to have a consistent relationship with thrust damage, 1.5 makes for a good multiple. In my experience, that does work well – through there’s nothing objectively “correct” about a 1:1.5 ratio between thrust and swing damage, and in fact, I’ve come to think the ideal ratio might be a bit larger.

A detailed consideration of such is a topic for another place – Game design musing: Swing vs thrust damage: What’s the difference? (GURPS), to be exact. For now, this article explores its topic using three sample damage progressions connected to each other through a multiple of 1.5.

Filling in the numbers

On the Table, damage below 1d is filled in using the method known as “I guess this looks OK”.

From there on up, the three progressions rise slowly compared to GURPS‘ Thrust and Swing progressions. That means a given damage score, like “1d+1” or “3d”, can get repeated over quite a few levels of ST.

To break up the monotony, I’ve inserted “nd-2″ and “nd+3″ values. This creates a smoother progression, though not without issues – mainly with the aesthetics of an order that bounces between number of dice: “1d, 1d+1, 2d-2, 1d+2, 2d-1, 1d+3, 2d…”

If you don’t care for the look, replace “2d-2” with “1d+1” or “1d+2” and replace “1d+3” with “2d”, repeating that process throughout the Table, for a more classic GURPS look. (If anyone actually cares, I’ll add an alternate Table with that change. For the moment, though, bear with me and with the Table above.)

All you need to know

Here’s what’s nice about properly linear progressions: knowing just a smidgen of a progression lets you nab damage for any ST, even under a different linear progression.

Here’s a mini Table (“Fun Size”, as candy makers would have you call it) that shows only the Medium progression (1d damage per 10 ST) for ST 10 to 20, plus low-ST damage for completeness. There’s no damage shown for ST 40, but it’s obvious: 4d. And ST 63? That’s ST 13 plus another 50 ST, so damage is 1d+1 plus 5d, or 6d+1. How about ST 107? That’s ST 17 plus another 90 ST… so, 2d-1 plus 9d, or 11d-1.

But what about the full Table’s Small and Large columns? They’re not shown here at all, but they don’t need to be.

The Small column progresses (1 / 1.5) times as fast as the Medium column. So its damage for, say, ST 12 is the same as the damage for ST 8 (that’s 12 / 1.5) in the Medium column, or 1d-1. And how about ST 55? Damage should be the same as that for ST 37 (that’s 55 / 1.5, rounded up) in the Medium column. Which also isn’t shown here, but damage for ST 37 would be 2d higher than damage for ST 17, and thus 4d-1.

The Large column progresses 1.5 times as fast as the Medium column. So what’s the damage for ST 97 in the Large column? It should be the same as damage for ST 146 (that’s 97 x 1.5, rounded up) in the Medium column. Which would be 13d higher than damage for ST 16, and thus 14d+2. It checks out.

I’m not saying this is faster than using a proper full Table! I merely note for the system hackers that a proper linear progression, especially one as easy as “1d per 10 ST”, lets you derive any damage score from just a small range of damage scores.

Bonus (obvious) tip: There’s typically no need to be exact with damage scores for monster attacks and the like! If damage is 1d per 10 ST and a dragon has ST 88, ignore tables and just give its bite a damage score of 8d or 9d, or something in between like 8d+2. Done.

Putting the Table to work

Thrust and swing damage: pick your columns

You’ve got three columns to work with. Which do you want to use as your Thrust damage and which you want to use as your Swing column?

The Small column looks nice as a Thrust column and the Medium column as a Swing column, yielding the very familiar pairing of 1d-2 thrust damage and 1d swing damage at ST 10. Perfect!… or not. From ST 11 upward, damage rises much more slowly than in GURPS. Thrust damage reaches 1d at ST 14, the same as GURPS, which is nice, but it doesn’t hit 2d until ST 29, instead of GURPS‘ ST 21. Swing damage, meanwhile, doesn’t reach 2d until ST 20, instead of GURPS‘ ST 14!

Let’s instead audition the Medium and Large columns for the roles of Thrust and Swing columns. Thrust damage now rises 1d every 10 ST, almost as fast as it does in GURPS. Swing damage rises 1d every 6 or 7 ST – definitely a slower pace than in GURPS, but not wildly so. And it maintains that pace, without oddly slacking off later as it does in GURPS. Past ST 60, it yields higher swing damage than GURPS does!

Sound good? I think it does – except for the higher damage these progressions confer on ST 10 (thrust 1d, swing 1d+2) and elsewhere in the typical PC range. A change that adds a point or two to PCs’ damage may not sound like a big deal, but it’s significant down at the 1d level.

Oh, one more possibility to play with: you’re free to try the Small column as your Thrust column and the Large column as your Swing column, ignoring poor Medium. But that leaves you with swing damage that’s more than twice thrust damage in most places – a multiple much too high for my tastes.

Using all three columns?

Who says you have to pick two columns from the Table? If you have creative ideas for all three, use ’em! For example, use the Large column for swing damage, the Medium column for thrust damage, and the Small column for actions that could cause harm, but typically less than a punch (throws and slams?). Or use the Small column for unarmed attacks (with no further -1 to damage for a punch), the Medium column for armed thrusts, and the Large column for armed swings.

The three columns offer a lot of possibilities for system hackers.

Using just one column?

Feeling minimalist? If one of the Table’s three progressions strikes your fancy, why not use it for both thrust and swing damage?

I don’t recommend eliminating the distinction between thrusts and swings; it’s a classic and fun part of GURPS. But there’s an argument to be made for a simplified GURPS that uses only one ST-based damage progression as the base for any weapon damage, and then lets the weapons’ stats fully create the difference between thrust and swing damage.

A number of GURPS players have experimented with using thrust damage as the base for all weapon strikes, with a flat amount like +2 added for a swing. I outline a similar approach in Game design musing: Simplifying ST-based thrust and swing damage (GURPS), with one difference: the suggestion for a variable difference between thrust and swings, from +0 for a small weapon with no appreciable swing effect, to +1 for a small baton or knife, +2 for larger one-hand weapons, and +3 and up for even bigger weapons.

To take this sort of approach, choose the ST-based damage progression that you like most, then set a thrust damage add and swing damage add on a per-weapon basis, however you like. For example, you could use the Medium damage progression for thrust damage, then set a punch’s damage to thrust-3, a small weapon’s damage to thrust-2 for a thrust or a swing, a baton’s damage to thrust-2 for a thrust or thrust+0 for a swing, a larger weapon’s damage to thrust+1 for a thrust or thrust+4 for a swing, and so on. With the right numbers, you’ll get very GURPS-like results for weapons used at the appropriate level of ST, while keeping that Medium column’s nifty “1d per 10 ST” progression.

A few issues

Dealing with too-low damage at high ST

Let’s say you like the Small and Medium columns as your Thrust and Swing columns, what with their neat mimicking of GURPS-like damage scores around ST 10. But then there’s that oh-so-slow increase from there…

Is there a way to boost damage for higher ST, without giving up the columns’ neat linear progressions? Some ideas, in increasing order of system hack magnitude:

  1. Be sure to use up-to-date 4e melee weapon stats from later publications like Martial Arts and Low-Tech, or from Dungeon Fantasy Roleplaying Game, instead of from Basic Set. These boost damage a bit for some large weapons, helping out those high-ST swingers.
  2. Use GLAIVE mini, which recreates some big swung weapons with a bit of a damage boost.
  3. Without GLAIVE mini, go ahead and give GURPS‘ big weapons a boost anyway. This could be a fiat-based +1 or even +2 damage to weapons you feel are underpowered. Or you could set a rule-based scheme, perhaps something like this: All melee weapons take an across-the-board -1 to damage, but then gain +1 damage per full min ST 6 listed on the weapon table (as long as min ST is met). The new result is -1 damage for min ST 0-5 weapons, no mod for min ST 6-11, +1 damage for min ST 12-17, +2 damage for min ST 18-23, etc. The important effect for typical games is +1 damage for listed weapons like the great axe or halberd.
  4. Implement some damage bonus for particularly solid blows, such as +1 damage per die for every full 5 points of success on the TH roll, or similar bonuses for high skill. (This would be cumulative with other damage bonuses, such as that from All-Out Attack.) The point is to use +x damage per die, or some other mechanism that sets a higher bonus for higher ST, effectively boosting the ST-based damage progression.

Dealing with too-high damage at low ST

Let’s say you like the Medium and Large columns as your Thrust and Swing columns, what with their more GURPS-like progressions. But now you’ve got everyone in the typical human ST range delivering thrust and swing damage a point or two higher than in GURPS

Is there a way to rein in damage a bit, or otherwise address the changed effects? Some suggestions:

  1. Don’t fix the “problem”! Enjoy how muscle-powered damage just got deadlier at the modest ST level.
  2. Introduce this site’s house rule for grazes, which boosts combat realism while reducing damage for many blows.
  3. Get ambitious and offset the progressions’ higher damage by reducing all ST-powered weapon damage by 2 points. A punch now delivers thrust-3 damage, not thrust-1; a thrusting broadsword deals thrust and swing-1 damage, not thrust +2 and swing+1; and so on. It’s a big change, but it does the job!
  4. Keep the progressions’ boosted ST-based damage, but introduce this site’s house rule for Toughness, or otherwise confer modest DR (or similar protection) upon all creatures of reasonable resilience.
On adding protection

Of the above, 4. has a disproportionately greater effect on lower ST, offsetting the progressions’ boosting of ST in that range and thus effectively boosting the effectiveness of higher ST. It’s interesting enough to merit a closer look.

The noted Toughness house rule introduces resilience from thick muscles that’s as effective as DR in shrugging off punches but less effective against slashes and stabs. Alternatives that steer clear of house rules include DR with the Tough Skin limitation or, of course, plain old DR for simplicity.

Whatever the form of protection, awarding it to all creatures (perhaps at a default rate of 1 level per 5 ST) makes for a notable difference from stock GURPS. On the plus side, it very nicely models the ability of creatures (and especially action heroes who boast above-average protection) to fully shrug off minor hurts, which speeds up play a bit. And the protection nicely offsets the Medium and Large columns’ boosted damage at modest ST. It all creates an interestingly realistic model.

There’s an issue, though: what about damage from hazards, spells, guns, and other harmful impacts not based on an attacker’s ST? To restore the system’s intended degree of hurt caused by these things, you’ll need to boost their damage as well. One solution: boost damage from all such sources by +1 per die. It’s a simple fix but also a system-wide change, so test with care.

Dealing with per-die damage adds

Speaking of per-die damage boosts: how should you implement per-die boosts from All-Out Attack (Strong) and the like when damage bounces between numbers of dice in my progression “1d, 1d+1, 2d-2, 1d+2, 2d-1, 1d+3, 2d…”?

As noted earlier, this progression is simply my attempt to create smoother-rising progressions; it’s not necessary. Modify your own Table to use only “1d, 1d+1, 1d+2, 2d-2, 2d…”, as GURPS does, and there’s no problem.

Better yet, whatever “dice+adds” values you place in your Table, just match damage bonuses to the progression, not to actual damage dice. That is, if you’re using a linear damage progression of 1d per 8 ST, then let All-Out Attack (Strong) yield a damage bonus of +1 per 8 ST. If your linear damage progression is 1d per 10 ST, then make the damage bonus from Weapon Master +1 per 10 ST or +2 per 10 ST, as skill dictates. (The latter can be neatly restated as +1 per 5 ST.) And so on.

Actually, if you’re taking this approach, you’re free to set a given damage bonus however you like. If you’ve got a damage progression of 1d per 10 ST, but want to make All-Out Attack (Strong) more appealing, then go ahead and set its damage bonus to +1 per 8 ST or +1 per 6 ST or whatever you like. It’s your hack-fest.

Further hacking the Table

Adding progressions

Maybe you like the idea of neat linear relationship between damage dice and ST, but you want different (probably faster) progressions than my samples. Make ’em up! A progression in which damage increases by 1d every 4 ST mimics GURPS‘ swing damage progression (well, before it gets all squirrelly at higher ST values). A progression in which damage increases by 1d every 8 ST mimics GURPS‘ thrust damage progression (until very high ST). Between those two, you could set a progression by which damage increases by 1d every 6 ST, or 1d every 5 ST, if you’ve use for such.

Get fancy if you like. How about a Large column and a Small column that progress at an exact 2:1 ratio, with the two separated by a Medium column that differs from either neighbor by a square-root-of-two multiple? Sure, if you’ve got a use for it…

Adjusting baselines

The problem with any neatly linear progression, whether those in the Table above or potentially new ones, is that you might like the progression but not its baseline, i.e., the ST at which 1d occurs. As discussed already, choosing the Table’s Medium and Large columns as your Thrust and Swing damage columns means having to deal with a base 1d thrust damage and 1d+2 swing damage at ST 10. A thrust linear damage progression of 1d per 8 ST means a ST 10 character deals thrust damage greater than 1d. And a 1d per 4 ST swing damage progression means 1d at ST 4, 2d at ST 8, and 2d+2 at ST 10!

This is addressed above, particularly under “Dealing with too-high damage”. But the adjustments discussed there only go so far. If you need to further adjust low-ST damage, the remaining solution is to fudge your progression at the low end. Arbitrarily set 1d damage at the ST level where you want 1d damage to occur. Fill in damage scores for all ST scores below that as you see fit. Then start your neat linear progression – 1d per 5 ST, 1d per 8 ST, whatever you like – from that 1d point onward.

That’s essentially how GURPS‘ thrust and swing damage progressions work: they are neatly linear with ST (at least for a while), but only from their arbitrarily set 1d baselines onward. So if you want to do the same, don’t feel bad; there’s precedent. (I merely note that by doing so, you don’t get the truly linear progression that’s the point of this article’s exploration. But if the result works for you, then it works for you!)

Wrapping up

There’s no need to replace your GURPS Damage Table with something new; it does what it’s meant to do. But if you’re attracted by that idea of neat “nd damage per x ST”, the above looks at some approaches and sticky points.

In my own mucking about, I’ve liked the in-play feel of this combo:

  1. Use my Table’s Medium and Large progressions as thrust and swing damage
  2. Award DR-like protection to all characters to mitigate the higher damage dealt by those progressions at low ST
  3. Enhance large weapons’ stats to boost the lower damage those progressions create at higher ST

Then again, I like a lot of goofy things. How about you? Have you found any modified scheme for ST-based damage that works nicely for you?


Header image: Thor hits Hulk. I don’t know what happens next, but my inner oracle predicts it’s “Hulk hits Thor”.


  • Douglas Cole

    One nice thing about the scaling you have +10ST = 1d damage, is that it works rather well on the same scale as guns.

    In GURPS right now, a 1d pi attack might have a KE of X. That same projectile that does 2d damage has KE of 4x.

    For your table, ST10 is 1d, ST20 is 2d, ST40 is 4d. The Basic Lift goes up as 1, 4, 16. Just like the KE of a projectile weapon. This would have the effect of making ST-based projectile attacks MUCH more realistic in terms of damage progression.

    In fairness to GURPS, there is a very straight-forward progression in the current sw damage right now; each point of ST gives you one point of sw damage. Each two points of ST give one more point of thr. The intercepts are odd, but the progression is linear and easy. Well, easy to figure out, but not game on the fly.

    Your table, other things aside, further unifies GURPS damage ratings in terms of their penetrative value. If nothing else, that’s a good thing.

    • tbone

      The additions to damage from ST work as you say at a limited range, but not at higher ST; starting at around ST 70 or so, damage is +10 ST = +1d damage, for both thrust and swing alike. That’s one of my minor beefs with ST; lack of a true consistent progression is what prevents ST-based damage from meshing in interesting (and possibly useful) ways with damage from firearms etc.

      If a revised, consistent damage progression does interact nicely with considerations of firearms and penetration and so on, I’m glad to hear of that as another benefit!

  • Douglas Cole

    What is swing, really? It’s one way to represent a multiplication of impact force due to getting more muscles involved, winding up, etc.

    By putting swing as a multiplier (specifically about a 1.5 multiplier) of thrust, you’re saying leverage can basically double the striking power of a blow (which in GURPS is represented by sqrt(2) as much damage).

    Extending this a bit, ALL weapons and swings and whatever…effectively all multipliers to impact energy, should just get per-die bonuses to some basic damage. Fist loads and most thrust weapons would either change damage type, force the weapon to take the damage instead of the fist, add an armor divisor, add reach…but not really do that much more than what an unarmed person can do in terms of penetrative power.

    Not sure to what extent this passes the reality test for thrust weapons.

    • tbone

      “What’s a swing” is a good question. I don’t know how big a factor “more muscles” is, though certainly different muscles are involved. Maybe more importantly, a swing can accelerate the striking hand over a longer distance than a thrust can, and so builds up more speed (at the expense of taking longer). The striking point on the weapon ends up moving at an even greater speed – the further from the hand the point is, the faster it is (though the entire system is slowed somewhat by the weapon mass and the distribution of that mass, especially when much of it is far from the hand, so the net result gets hard to compute…)

      And then there’s more… But stepping away from physical detail and jumping to game play, right, my suggestion would suggest twice the power for swings, equating to about 1.5 times the damage. Just keep in mind that I’m not saying that’s a “right” number for any reason, just one that plays well (in that the swing’s damage multiplier is high enough to make it often worthwhile, but not so high that the thrust is never a higher-damage option).

      Per your suggestion, yes, that could be handled instead by thrust damage with a +1 or +2 bonus per die. Basic thrust damage itself, too, could be reworked as you say, as some basic (punching, I presume) damage with a number of immediate special effects, without necessarily a damage bonus over that basic damage.

      All that said, I think GLAIVE’s basic setup is how I would handle melee damage if creating a GURPS-like framework from scratch: Drop any thrust vs swing damage progression entirely. Have only a single, basic progression for ST-based damage, which handles unarmed strikes; then give any weapon a +X damage add for thrust and a separate +Y damage add for swing. That sensibly sets the thrust vs swing damage difference as dependent upon the weapon’s characteristics.

  • Keith

    Small for thrust, med for swing, large for slams using DFRPG Rules and I think I’ve got my damage rules.

    I’ll play test large for slams using DFRPG Slam rules with full damage for knock back and half dmg being crushing full body injury, loser makes DX or falls (take falling dmg in detailed games). Use DFRPG Knockback rules to calculate Knockback on each slammer based on full Knockback damage. Reduce speed and role DX accordingly

    I’ll buff thrusts giving a +2 for chinks in armor. Only -4 on rapid strikes, -3 multiple parties.

    Buff swings by adding +1 dmg for each of U parry, 2 hands required, and unready after a swing,

    Tinkering a bit but maybe reach 3 swing weapons get large dmg when swing at reach 3.

    • tbone

      At a glance, the slam rules seem fine. (If they end up boosting knockback distances a bit, that’d be a good outcome to me; RAW knockback distances for slams and shoves can be disappointingly low, meaning it’s often not worth trying the actions.)

      Tinker away! If you post results somewhere, I’d be interested in seeing them.

  • fellrant

    I am so digging all of this content as of late! Lots of meaty stuff.

    I agree that thrust/swing is a signature GURPS thing, but I am so tempted to just drop it. I like getting into the weeds, or I wouldn’t be interested in GURPS in the first place, but I’m very mindful of cognitive overhead, and I like a lot of bang for my buck, so to speak. Thrust/swing is fun, but it just doesn’t do much, and it’s one more stat on the ol’ character sheet. Next time I run GURPS, I think I’m just gonna grab that medium progression and call it a day.

    Still, I wouldn’t vote to kill it for 5e; it is, as you say, a classic.

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.