## Monday, October 3, 2011

### Book of War Core Rules Justification Part 1

So last week, I presented the Book of War Core Rules in an Open Game Content format, and discussed why the scales were determined as they were. I pointed out that we use a fundamental conversion rate of 1 BOW turn = 3 D&D rounds, and the basic combat mechanic is to roll a d6 for mass attacks (with success on 3/4/5/6 for no armor/leather/chain/plate, i.e., divide d20 target numbers by 3 and round down). So now you could ask two questions:

Why the 1 turn = 3 rounds equivalence? Am I just slavishly copying what Gygax set down in Swords & Spells (and Niles in Battlesystem)? Answer: No, I was ready to use something else if it created an elegant and statistically correct mechanic. But, it turns out that the 1:3 rate is particularly special.

And, granted that the 3/4/5/6 hit rule (divide targets by 3) is convenient and easy to remember, but is it an accurate portrayal of mass scale attacks (noting that hit points, 1:10 men, and 1:3 rounds have all been abstracted away)? Answer: Yes, as you can see below.

So, take a step back to the point before I'd settled on either the core hit mechanic or the 1:3 round equivalence. I wrote a short computer program that simulates a couple million random D&D-style combats and investigates the results. You can check out the Java code version for the program below (released under GPL v.2):

What this program does is create a separate table for each possible round ratio from 1 to 6. Each table is a matrix of different key ACs (in the none/leather/chain/plate categories) and possible target Hit Dice. For each combination we run 10,000 rounds of simulated combat each. (We assume that attackers are all normal men/1st level; hit dice and damage are 6-sided as in OD&D; and that 1:10 figures are meeting along a 5-man front face, such that 5 attacks are delivered each round. When one man dies, another steps up from behind him to take his place.)

We then take the total number of men killed, and turn that into an average number of figures killed per turn (i.e., mean or "expected value"; which is also a probability-per-turn if between 0 and 1). For multi-Hit-Dice types, multiply by the HD to pro-rate this to a chance of a "figure hit" per turn. Finally, convert that probability to a d6 target value, by computing (7-6*p) and rounding off. The output appears in the following text document:

Now, most of those numbers are kind of a garbled mess, except that one table in particular looks quite memorable, namely this one:

Core Mechanic @ 3 round(s) per turn:

 HD
AC 1 2 3 4 5 6 7 8
--------------------
10 3 3 2 2 2 2 2 2
7 4 4 4 3 3 3 3 3
4 5 5 5 5 5 4 4 4
1 6 6 6 6 6 6 6 6

So this immediately attracted me, in that if we set the time scale at 1 turn = 3 rounds, then you get this super-easy to memorize core mechanic (reading down the first few columns): a figure of normal men need to roll a 3/4/5/6, on average, to score a "figure hit" against a 1- or 2-HD target, in each of the basic armor categories. And that's really why I chose it.

A few comments: Note that a single die roll here actually represents 15 normal D&D attacks (sword-thrusts or arrow-shots; 5 men in the front line × 3 rounds per turn). When I say a "figure hit", that's actually the elimination of 10 Hit Dice worth of damage (which is a whole 1:10 figure eliminated for 1st-level types, or half of a 2-HD group, etc.)

And the other thing that can be noted here is that technically, it gets marginally easier to score a hit against higher-HD types (by the 8-HD level, most of the target numbers have decremented by one). But we already knew this: Higher Hit Dice are actually devalued in terms of hits taken (from two years ago: proof one; proof two). Short explanation: Low-HD monsters "waste" more received damage as they quickly dip below zero hit points; while high-HD types will suffer full value from the same hits. Nevertheless, in this context I'm happy to gloss over the technicality for the sake of simplicity: we give high-HD types full value in terms of hits taken, thereby giving them an extra bit of a boost.

If you like (and have the programming capacity), then you can take this little simulation and modify it to check out the results if any of your assumptions about basic D&D combat differ from mine. (Or check my code to make sure I didn't make any mistakes.) Here's one modification that immediately springs to mind: What if you play D&D by post-Greyhawk (OD&D Supplement I) rules, wherein hit dice are 8-sided, and weapons like a sword, battleaxe, or polearm also do 8-sided damage? Let's see the modified results of that right now:
Core Mechanic @ 3 round(s) per turn:[Modified for 8-sided hits and damage] HDAC 1 2 3 4 5 6 7 8--------------------
10 4 3 2 2 2 2 2 27 4 4 4 3 3 3 3 34 5 5 5 5 5 5 4 41 6 6 6 6 6 6 6 6
Well, as you might guess, that's basically the exact same thing with one notable exception: 1-HD men in "no armor" would be hit on a 4 instead of a 3. (And I guess there's one other number that's different if you look closely enough, at the 6HD level.) So as long as your battles don't commonly feature lots of completely unarmored normal men joining the fight, then you can call this "close enough", and be confident that the Book of War system functions exactly the same, on average, as any other version of classic D&D.

1. I've been curious about the simulations you ran. In looking over the java code, I see that what you modeled was analogous to what is sometimes known as a "meat-grinder" battle: you essentially set up two battlelines 5 men wide, with effectively infinite rear ranks available, and set them to pounding on one another.

The potential problem I see is that you're not looking at things like how long it takes to kill a particular 10-man figure; you're looking at how long it takes to kill 10 men, given that there are ALWAYS 5 men being attacked.

I'm sick right now so my brain isn't functioning at full capacity, and it's possible that this all comes out in the wash. But it's setting off alarms in my head. Any thoughts on this?

2. Hi, Leland -- I'd say you're correct, and that it's intentional. Units are presumed fungible in the sense that any men available fill in the line as needed. So, once 10 men total are killed from anywhere, we remove a figure to reflect that.

In some sense we treat the standing figures as the "hit points" for the overall unit. Perhaps an alternative would be to track hits to each individual figure, but I think that's neither justified nor feasible. In fact, one of my priorities was to have no paperwork involved for the game whatsoever (all information is given by the figures on the table).

3. I can appreciate the desire to limit record-keeping, and the notion of figures as tangible representations of unit step-losses.

I think another thing that bothers me a bit is the fact that your simulation is one-sided: you're not modeling the give-and-take of two forces fighting it out; you're modeling one force wailing on an endless succession of target dummies. In "true" OD&D-style combat, one force would make one attack, then the other force would re-form to fill in gaps due to losses and make their attack, and then the next round would begin; after three such exchanges you would see how many men were left in each force. You're not accounting for the reduction in combat effectiveness caused by taking casualties in the early parts of a three-round turn.

Of course, the simulation becomes significantly more complex when you try to account for this kind of thing. But without this, I think that BoW may exhibit a pretty significant "first-mover" or more properly "first-whacker" advantage. (This is present to some degree in any situation like this without simultaneous combat resolution and losses, but it's exacerbated by collapsing three rounds of attacks into one roll before the defender gets a chance to inflict losses.)

I look forward to reading more about your design decisions; I've been playing around with a somewhat similar concept for 3.x D&D for a while now and it's useful to see what others are thinking.

4. Leland, the man-to-man model here is indeed simply that on each side's round, combatants can make a short move (to fill in the line if needed) and then attack.

You're correct that there is definitely a first-attacker advantage to BOW, and that's considered to be beneficial to gameplay in several ways. (a) It gets the action started and avoids defensive or small-maneuver standoffs. (b) It allows us to abstract away any "charge" move/hit bonus, and let the natural first-mover effect take care of that. (c) It highlights the special nature of pikes in defensive formation, for example.
{"extraction_info": {"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 0, "mathjax_display_tex": 0, "mathjax_asciimath": 1, "img_math": 0, "codecogs_latex": 0, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0, "katex": 0, "math-container": 0, "wp-katex-eq": 0, "align": 0, "equation": 0, "x-ck12": 0, "texerror": 0, "math_score": 0.4987844228744507, "perplexity": 1308.7785826801332}, "config": {"markdown_headings": true, "markdown_code": true, "boilerplate_config": {"ratio_threshold": 0.18, "absolute_threshold": 10, "end_threshold": 15, "enable": true}, "remove_buttons": true, "remove_image_figures": true, "remove_link_clusters": true, "table_config": {"min_rows": 2, "min_cols": 3, "format": "plain"}, "remove_chinese": true, "remove_edit_buttons": true, "extract_latex": true}, "warc_path": "s3://commoncrawl/crawl-data/CC-MAIN-2018-13/segments/1521257647299.37/warc/CC-MAIN-20180320052712-20180320072712-00445.warc.gz"}