Monday, September 11, 2017

OED Monster Database

One of the places that OD&D can be most successfully criticized is in its presentation of the monster listing. In many places in the original work key details are missing, contradictory, or left to the DM (e.g., all of the normal and giant animals that appear in the encounter charts). As of the first supplement, one had to look in at least four different places for all of a monster's information: (1) the main table (HD, AC, MV, etc.), (2) the alternative attacks/damage listing, (3) the alignment category, and (4) the main text description, each of which appeared in different far-flung sections, even different books for one monster. The overall situation is what motivated release of the Monster Manual as the first hardcover book, which compiled all the statistics from OD&D monsters in one place, before any other volumes of the AD&D rules.

Below you'll find the OED Monster Database, a compilation I've made over the years for OD&D monster statistics, in line with my OED games and house rules. This gives me a convenient one-stop resource for OD&D monster statistics when I'm writing other material. One might ask: Why not just use the Monster Manual? One reason is that I very much like to stick with the original d6-based hit dice, attacks, and damage, as found in the LBBs (i.e., we do not recognize the alternative monster hits starting in Supplement I). Moreover, here are other reasons why I think this exercise was worthwhile:
  1. Provides a consolidated listing of OD&D-style monster statistics.
  2. Creates automatic summary stat blocks for insertion to adventures (see sheet 2).
  3. Software can provide data-integrity checks for monster records.
  4. Software also assesses "equivalent hit dice" valuations for encounter balancing and XP awards.
  5. Forced me to think through any ambiguous adjudication cases in code (this prompted many "rules archeology" investigations and margin notes that you see on this blog).
Generally I've compiled everything I could find from OD&D Vol-2, Sup-I, land creatures from Sup-II, and TSR (The Strategic Review) No. 1 and 2 -- for a total of 147 monsters. Not included are aquatic monsters from Sup-II, demons from Sup-III, or deities from Sup-IV. For things like giant animals I turned to the Monster Manual and back-ported the information there, translating variant damage into units of d6's as we would normally expect/prefer.

Among the things you'll see is that any kind of special ability is given a keyword (and optionally one numerical parameter) for readability by my "Monster Metrics" program (more on that this Saturday); hopefully a knowledgeable DM can parse what those notes mean. The third-to-last column shows the EHD (equivalent hit dice) as determined by that program. A number of monsters are fundamentally outside the ability of my model to determine EHD, and so indicated by an asterisk (*). These would include monsters with expansive wizard-type spell ability or need spells to defeat -- for example: oozes with weapon immunity, or elementals/golems hit only by +2 or better magic weapons.

XP Awards by EHD


Let's consider XP awards for a minute. My preference is to award XP by simply multiplying HD by 100 (and this is supported by evidence of a fundamentally linear relationship between risk and HD). Of course, this method from OD&D Vol-1 overlooks the value of special abilities. Sup-I introduced a variant XP table, and a secondary column to award bonuses for special abilities (which was of course carried forward into later editions like Holmes, B/X, AD&D, etc.). But in most of these works the DM still needs to make a subjective decision about what abilities warrant this bonus -- and I would argue in many cases it vastly undervalues some very nasty abilities (esp. on creatures with low HD).

There's a much easier way to do this, without any new tablature required or DM subjectivity, by just assigning a revised hit die value for XP purposes, which I've taken to calling "equivalent hit dice" (EHD). I gauge this with my Monster Metrics program by running several thousand fighters of different levels at each monster until we can determine a "fair" fight in each case. But the core of this idea (as simple as it is) predates the Sup-I and later variant XP charts, appearing first (briefly) in The Strategic Review, Vol. 1, No. 2 (Summer 1975), p. 4:
For purposes of experience determination the level, of the monster is equivalent to its hit dice, and additional abilities add to the level in this case. A gorgon is certainly worth about 10 level factors, a balrog nut [sic] less than 12, the largest red dragon not less than 16 or 17, and so on. The referee's judgement must be used to determine such matters, but with the foregoing examples it should prove to be no difficulty.
This seems like a much more elegant way to assess the risk/reward of exotic monsters, and it's also the simplest measurement model I could construct in my software, so this is what I now include for each monster (where appropriate) in the Monster Database. Let's just briefly compare the sample evaluations from TSR #2 to what comes out of my program for EHD:


So we can see that, compared to our model, Gygax seemed to to undervalue the more exotic special abilities of monsters (in this case: petrification, immolation, and fire breath), which is consistent with his low valuation for specials in the variant Sup-I XP tables. Perhaps on closer inspection we could generously grant that Gygax's numbers correctly assess the minimum fighter level which could possibly match the creature man-to-man, but this is not an ideal metric of the danger to parties of several men of lower or higher levels.

Finally, let's look at the distribution of the EHD values currently recorded in the monster database:


Here we see that the distribution is a nice logarithmic curve, with the largest number of monsters at the lowest level (EHD 1-5), and decreasing regularly after that. (If we zoom in a bit more we'd see that the highest number of monsters are actually the level of EHD 2, outnumbering EHD 1 by a small margin.) This seems to be useful for a fantasy campaign, and nicely echo the curves we'd expect to see in demographic and economic statistics from real-world data.


That being said, here's the link to the OED Monster Database, in the ODS Open Document Spreadsheet format: 


30 comments:

  1. This is great. All this work your doing over the years has really given me a lot to think about (and change) in my own homebrew game.
    Have you ever looked into factoring Number Appearing vs EH/HD to come up with some sort of "encounter Challenge" metric?
    Like a rat is EHD 0, but does the fact that you can have up to 100 of them impact the challenge to your 1000 robo-fighters?

    ReplyDelete
    Replies
    1. Well, that's a good question. The design of the EHD measure (which includes masses of monsters against high-level fighters) should support simply multiplying the (average?) monster numbers by the EHD.

      So the average giant centipede batch should be 7x1 = 7 EHD, an average gnoll clan 110x2 = 220 EHD, etc.

      Delete
    2. Yeah, that is what I am wondering.
      It "should", is there a way to test if it does.

      Delete
    3. It is an intriguing question. If I get some extra time, that would take some programming to check on that.

      Delete
    4. If I'm understanding your system right (and I'm not sure I am), it shouldn't be linear.

      If you're fighting 20 orcs who are pouring down a narrow hallway to fight you one on one, that will be linear; you're going to take roughly 20 times the damage than from 1 orc.

      But if you're fighting 20 orcs in a 10' wide hallway where 2 can melee abreast and 2 can shoot you with arrows over the top, it's more like you're fighting ~74 orcs. It still takes you 20 times longer to kill them all compared to a single orc, but they're getting 4 attacks a turn almost the entire time.

      Even at low numbers it can be a big difference if you fight four goblins, all of whom can attack you at the same time, then it's like an N(N+1)/2 situation and the damage you end up taking will be more like you fought ten goblins one by one. Assuming spherical goblins, etc.

      Delete
    5. Reading more, I definitely did not understand the system! Though I'll leave my comment up as a standing observation I guess.

      Delete
    6. Thanks for the comment. Just to document what would be my response:

      The simulator does handle "mob" combat of, for example, 6 orcs beating on 1 fighter at a time, or vice-versa. It searches to find the most "balanced" fight at each level, and takes a weighted total of risk/HD across all those levels. For example, it finds as balanced 2 orcs vs. one 1st level fighter; 10 orcs vs. one 10th level fighter; and various other points in between. In this simple case it's easy to see that on average one orc is worth 1 HD of fighter across all the various levels (and none of the cases simulated were one-on-one at a time).

      Delete
    7. I noticed the 6-attackers-max while poking around in the code. Unfortunately I can't run Java on my computer to mess with it.

      From a basic DPS point of view, an orc expects to hit an AC 5 fighter 35% of the time and do 3.5 damage per hit, or 1.225 per attack. Six orcs attacking all together expect to do 7.35 per round. A 17th level fighter has 17*4.5 hit points and should only be able to take 10-11 rounds of this treatment. A fighter's offensive ability caps out at killing one orc per round, so I find it hard to believe a 17th level fighter is evenly matched against 17 orcs.

      Even if a level K fighter was balanced against K orcs, adding 1 orc means another round of 6 attacks the fighter has to take, and the 7.35 points of damage from that outstrips the fighter's 4.5/level HP gain. So a level K+1 fighter facing K+1 orcs is worse off and it would not be stable.

      I made a really simple C program
      https://pastebin.com/raw/SnXiLhDp
      And the results are like what I was expecting; a 17th level fighter starts to lose more than 50% of matches when there are 13 orcs or more, and wins only 3% of the time against 17 orcs.

      Looking around in your code a little more.... I think what I'm missing are feats! I guess they are making all the difference.

      Delete
    8. or not, it looks like feats are disabled by default..

      Delete
    9. The MonsterMetrics program basically agrees with you. I just bumped the max level up and it's pegging a fair (50%) fight for a Ftr17 against 12 orcs (for Ftr18, 13 orcs).

      Against a Ftr10, it's saying the fair fight is against 8 orcs. Maybe I misspoke above or didn't actually run it when I wrote something different above.

      The full results look like this (each subsequent value is the worth of one orc versus a fighter of one more level): Orc 1/2 1/2 1/3 1/4 1/5 1/5 1/6 1/7 1/8 1/8 1/9 1/10 1/10 1/11 1/11 1/12 1/12 1/13

      Delete
    10. I know, I think previously I was looking at the level 12 entry (normally the last one) instead of the actual 10th level entry. Thank you for looking for a way to double-check these results!

      Delete
  2. This is an awesome resource.
    Thanks for sharing!

    ReplyDelete
  3. Thanks for another excellent resource!

    ReplyDelete
  4. There's a bunch of formulas like level that don't work when opened in Libreoffice on Linux.

    ReplyDelete
    Replies
    1. Same problem, but formulas break in Excel on Win10. Works fine in Libreoffice however.

      Delete
    2. Thank you, that's good for me to know -- I guess I should replace those formulas with fixed fields to avoid that. I think the only place on the first sheet with any formulas is "Level" and "HD#", right? Do the stat blocks on sheet 2 work correctly, or are those glitched up, too?

      Delete
    3. Stat blocks do not work for me.
      #NAME?
      for all fields but the first page reads fine.

      Just to clarify, do you award XP for EHD or for HD?

      Delete
    4. Rando: Dang (on the stat blocks).

      On XP, I award the EHD × 100 points.

      Delete
    5. Level and Statblock don't work. The problem with level seems to be whatever "com.microsoft.switch" is doing.

      Delete
    6. Thanks for that feedback. I'll plan to do some testing on my office copy of Excel next week to see what might be fixable.

      Delete
  5. Delta, above you mention 4 places necessary to describe a monster. I get three of them but not one of them: #2 alternative attacks and damage listing. Where is this listed? I only remember this stuff in the general descriptions.

    ReplyDelete
    Replies
    1. As of Supplement 1 Greyhawk, you have the "Attacks and Damage by Monster Type (Addition)" listings. E.g.:

      - OD&D monsters reference table is in Vol-2 p. 3-4, but their alternate attacks/damage are in Sup-I, p. 16-18.
      - Sup-I monster reference table is on p. 33, but attacks/damage likewise on p. 18-19.
      - Sup-II monster table is p. 14, but attacks/damage on p. 13, and so forth.

      Delete
    2. Okay, thanks, got it. Now I know why I didn't recognize it. I don't really use the supplements. I'm a LBB man! Fight on!

      Delete
    3. Major respect for that! :-)

      Delete