Friday, July 22, 2011

Catapult Variation in Chainmail

As we saw previously, there's a marginally-interesting optional rule at the end of the catapult rules for Chainmail. It says:
Fire Optional: Roll two different colored dice. One color is for an overshoot and the other is for an under-shoot. To decide which number of use you take the higher of the two. Miss is in inches, shown by dice spots. If they tie then the rock lands at the specified range. This method is simple but effective. [CM, p. 12-13]
Recall that both fireballs and giant rock-throwing refer back to these catapult rules for their resolution (throughout both the Chainmail Fantasy Supplement and Original Dungeons & Dragons Vol 1-3). For example, this same variation rule pops up again for the giants in Holmes blue-book D&D:
Giants can throw rocks like a catapult, range 200 feet with a 20 foot hit area. Each rock does 2 dice of damage to anything it hits. A giant can throw one rock every 5 melee rounds.

There are several ways to calculate catapult (giant) fire. This one is adapted from CHAINMAIL. If figures are being used on a table, the giant estimates the range to his target and throws. The actual distance is then measured. Two six-sided dice of different colors are then rolled. One color is an overshoot and the other an undershoot. To decide which number to use, take the greater. The miss is in inches, shown by the die spots. If they tie the rock lands at the specified range. Anything within 2 inches of the impact is hit. If figures are not used, treat the thrown rock as an arrow or other missile on the combat table. [Holmes D&D, p. 26]
I'll have more to say about the overall giant-throwing rules in the future, but I'll stick to my brief, main point for today -- That variation rule is crazy-ass broken! If you roll two dice for over/under variance and take the "higher" (in both versions above) then that's biased towards being as far away from your target as possible. As one example, notice that it's impossible to land exactly 1 inch away -- a (1,1) tie lands on the bulls-eye, but otherwise (1,x), lands on whatever that other number is (x>1). Here's a histogram of all the possible results:


Have you ever seen a probability distribution look like that? No, that's just plain nuts. So my guess is there was a typo and the word "higher" should properly be replaced with "lower". (Or the original writer was just in a rush and didn't properly think it through. Or they actually played that way and didn't realize how batshit crazy it was.) Here's what the probability distribution looks like if you replace the word "higher" with "lower":


Ah, that's more like it. That's what you'd call a "triangular" distribution, with the maximum probability mass at the target (central distance x=0), and sloping off evenly to each side. Basically each of the tails have been inverted; it's now quite likely to land 1" off the target (in fact, the most likely absolute distance), and it's impossible to be as far as 6" away (maximum 5"). Note also that this is exactly equivalent to: roll 2d6, and every point away from 7 is the distance from your target (over or under). And if you added more dice to this model (like roll 3d6, vary by points away from 10 or 11, etc.), then the the histogram would look more like a properly bell-shaped curve; the limiting distribution being, as is the case in any partially-sane universe: the Normal Curve (as per the central limit theorem).

Excel spreadsheet of full data here.

8 comments:

  1. I think that you get the same probability curve if you roll 2d6, and treat one as a positive number and the other as a negative number, then sum for the result. This was the method used by the Feng Shui rpg, IIRC.

    ReplyDelete
  2. I didn't like that the skill of the crew or other considerations did not modify their chances of hitting anything. Perhaps a modification of plusses and minuses to allow the player to switch out d4s for the d6s if they have an advantage or a d8 or d12 if they have a disadvantage.

    On the other hand, seeing the crestfallen look of your opponent as he plopped a boulder in the midst of his own heavy foot while aiming for your wolf cavalry was always fun.

    ReplyDelete
  3. Alan: Yes, that's also equivalent.

    Limpey: I agree that there's other issues even if the "greater/lesser" issue were fixed. For example, the variation doesn't scale with distance of the shot or anything (ability to drop it 1" ahead is almost nil; then about as likely to fall somewhere behind you).

    ReplyDelete
  4. Nice, Dan! I wonder if this mechanic couldn't be used as a generic skill check -- one that incorporates the ideas of variance that you touched on in another of your blog posts. Roll two dice, d20s say, and take the difference, add/subtract appropriate bonuses, et voila. The closer the difference is to zero the better the result. Easy tasks or more skilled individuals have a larger range of success (e.g., difference within 5, etc). Harder tasks or less skilled individuals need to get closer to the ideal zero difference. Crazy difficult tasks need to get zero difference with particular numbers (e.g. both dice odds, both dice >15, etc.)

    You could also account for difficulty / skill by changing dice. E.g., move from d20s to d10s.

    Heck, you could even hash up a way to use this as system for dealing with opposed rolls (e.g., duels). Both sides roll their dice. Smaller difference wins.

    Come to think of it, here's a new attack resolution system based on opposition as opposed to everyone getting their turn to attack. Two opponents roll their two dice. Lowest difference wins. Winner rolls d20+damage dice+bonuses. Amount over AC (ascending) is HP of damage.

    You've certainly given me a lot to mull over.

    ReplyDelete
  5. Hey, Mel -- Yeah, I think potentially those are good ideas. Definitely the idea of rolling dice and trying to get in the "middle" (with more liberal criteria for more skilled characters) is a better model of what people intend when they say "roll to a bell curve".

    Sometimes I worry about the granularity available in such a system (like as you say, we've only got a few different types of dice to swap in & out). But I think you've got some good pieces to start with there.

    ReplyDelete
  6. Ok, I'm going to clutter your blog with another comment.

    Yeah, granularity is definitely an issue. I punched up 200 trials in Excel for rolling pairs of each dice type (d20 to d4). I calculated the probability of the result falling within a difference of 0, 1, 2,... Here are the results out to differences of 5.


    diff d20 d12 d10 d8 d6 d4

    0 .05 .06 .07 .13 .14 .27
    1 .14 .22 .25 .35 .38 .60
    2 .22 .38 .44 .53 .64 .85
    3 .34 .47 .58 .71 .79 1.0
    4 .39 .61 .72 .84 .91 n/a
    5 .46 .70 .83 .92 1.0 n/a

    Let's say that "Medium" means a diff of 5 or less. "Hard" means a diff of 2 or less. "Heroic" means a diff of 0. With a d20, this means raw probabilities of approximately .46, .22, and .05.

    Say a character wants to jump 10' up in the air to grab a rope in order to escape an oncoming stream of lava. The DM judges that this is "Hard," and tests strength. The character rolls 2 d20s, and gets a 5 and a 8, for a diff of 3, which would mean a failure, BUT the character happens to have a strength bonus of +1, and that means that he just managed to jump up and grab the rope.

    Minimal calculations. No table look up, and the method (rolling two dice and hoping to minimize "error") just seems more "right" as a means of testing whether something was correctly done.

    The problem is how to capture getting better with experience. The probabilities given for the d20 feel right to me for a 1st level character. As a character levels up the natural thing to do would be to lower the dice types every couple of levels. This is fine from the d12 on down, but the jump from the d20 to the d12 is too large.

    ReplyDelete
  7. Mel -- Good stuff to look at! That does match my intuition that granularity would be an issue, I'm not sure how you'd solve that elegantly. Back in my "normalizing resolutions" post I had to resort to a table which simulated normal-curve rolls, I couldn't immediately find a way out of that.

    ReplyDelete