New OOTS products from CafePress
New OOTS t-shirts, ornaments, mugs, bags, and more
Page 1 of 2 12 LastLast
Results 1 to 30 of 34
  1. - Top - End - #1
    Halfling in the Playground
    Join Date
    Jun 2020

    Default Computing Dragon CRs from first principles

    I am unable to get the CR calculation process discussed on pg 274 of the DMG to consistently yield the CRs cited for many of the published dragons. I am hoping someone can point out where I'm going wrong.

    The process of calculating dragon CRs is more complicated for Adult and Ancient dragons (which have legendary actions), but since I'm seeing CR discrepancies even for lowly wyrmlings, I'll start with them.

    In the table below, the 'CR' column is what the MM and GDOF cite as the official CR for wyrmlings of the specified color. The 'CR0' column represents the value I obtain when I follow the process discussed on DMG-274 (identifying offensive CR and defensive CR and taking the average of these values, rounding fractions .5 and greater upward, fractions below .5 downward). If the 'CR0' column ends with an asterisk (*), it means my computed CR matches the published CR, whereas a missing asterisk means my CR does NOT match the published CR). This means my code is failing to produce the published CRs for Red, Copper, Emerald and Crystal wyrmlings (but manages to get all the others correct).

    Code:
    /----------+---------+----+------\
    | Color    | Source  | CR |  CR0 |
    |----------+---------+----+------|
    | Red      | MM-98   |  4 | 3.0  |
    | Blue     | MM-91   |  3 | 2.5* |
    | Green    | MM-95   |  2 | 1.5* |
    | Black    | MM-88   |  2 | 1.5* |
    | White    | MM-102  |  2 | 2.0* |
    |----------+---------+----+------|
    | Gold     | MM-115  |  3 | 3.0* |
    | Silver   | MM-118  |  2 | 2.0* |
    | Bronze   | MM-109  |  2 | 2.0* |
    | Copper   | MM-112  |  1 | 1.5  |
    | Brass    | MM-106  |  1 | 1.0* |
    |----------+---------+----+------|
    | Topaz    | GDOF-19 |  3 | 2.5* |
    | Amethyst | GDOF-6  |  2 | 2.0* |
    | Sapphire | GDOF-16 |  2 | 2.0* |
    | Emerald  | GDOF-13 |  1 | 1.5  |
    | Crystal  | GDOF-10 |  1 | 2.0  |
    \----------+---------+----+------/
    Let's consider a Red Dragon Wyrmling and step through the CR calculating process in detail. Here is the breakdown:

    Code:
    Inputs:
     - iCR:   4 (initial estimate, affects computed attack bonus)
     - HP :  75 (10d8 + 30; avg 45 + 10HD*+3 (Con 17))
     - AC :  17 (natural=17)
     - Att:   6 (+2 prof bonus from ~CR 4, +4 for Str 19)
     - DPR:  22
        - Att1: fire breath (24) against 2.0 targets once per 3.0 rounds
        - Att2: bite (9) against 1.0 targets once per round
        - DPR = 24*2*0.333 + 9*1*0.667
              = 16.3 + 6.3
              = 22.7
        - damage comes more from effects with saving throws than attacks
     - RIV
        - immunity to fire
    
    Adjustments:
     - resistances/immunites: 1 immunity
        - no impact on CR
    
    Outputs:
     - dCR: 3 (1 + 2) = 3
        - effective HP=75 suggests AC 13 and CR 1
        - adjust dCR by 2 ((effective AC - expected AC)/2 = (17-13)/2)
     - oCR: 3 (3 + 0) = 3
        - damage comes more from effects with saving throws than attacks
          (using Save DC rather than Attack Bonus in DMG-274 table)
        - effective DPR=22 suggests DC 13 and CR 3
        - adjust oCR by 0 ((effective. dc - expected dc)/2 = (13-13)/2)
     - fCR: 3 ((3 + 3)/2 = 3)
    The CR calculating process involves:

    • Step 1: Expected Challenge Rating. I'm using the published CR as the expected CR (referred to as iCR in the breakdown above). This influences the dragon's profiency bonus, which in turn affects attack damage, save DCs and other things that can affect CR.
    • Step 2: Basic Statistics. The HP, AC, and attack bonus are from the Red Wyrmling stat block on MM-118. Computing damage per round (DPR) can, in general, be complicated (we need to identify the best damage dealing attacks, account for recharges, handle legendary actions, etc.), but is easiest for wyrmlings. See the 'Overall Damage Output' paragraphs in DMG-278 for some details. In particular, note this sentence "If a monster's damage output varies from round to round, calculate its damage output each round for the first three rounds of combat, and take the average."

      We need to take special traits, actions and reactions (step 13 from DMG-278) into account, and the 'Breath Weapon' entry in the table on DMG-280 notes that we are to assume breath weapons affect 2 opponents who both fail their saves. The Red wyrmling's fire breath does 18hp on average. Since breath weapons have a recharge value of 5, it is available (on average) once during the first 3 rounds. So the average damage from the dragon's breath weapon is 18 * 2 * 0.333 = 12. On rounds where the breath weapon isn't available (2 out of 3), the wyrmling can bite for an avg of 9hp of damage against one opponent, so the average damage is 9 * 1 * (2/3) = 6.33. Thus, the DPR is 12 + 6.33 = 18.33 (rounded down to 18 ... see the white dragon example on DMG-278 that mentions that 54.666 is rounded down to 54, not up to 55).
    • Step 3: Adjust Statistics. Not relevant for our purposes.
    • Step 4: Final Challenge Rating. This is where we need to compute the defensive CR and offensive CR and take their average. See the details on DMG-274 for how defensive and offensive CRs are computed, and how they use the "Monster Statistics By Challenge Rating" table on DMG-274.

      • From the 'Outputs' section of my breakdown above, we can see in the 'dCR' bullet that a creature with 75 HP usually has an AC of 13 and a CR of 1. Since our Red Wyrmling has an AC of 17, we are to adjust the base CR (1) upward by (17-13)/2 = +2, so our defensive CR (dCR) is 2+1 = 3
      • When computing the offensive CR, we need to determine whether the creature does more damage from attacks, or from effects with saving throws, as this determines whether we use the 'Attack Bonus' or 'Save DC' columns of the "Monster Statistics By Challenge Rating" table. Our wyrmling does on average 16.3hp from fire breath (DC-based) vs 6.3hp from bites (attack-based), so we use the 'Save DC' column. From my breakdown, we can see that a creature with a DPR of 22 usually has a save DC of 13 and a CR of 3. The wyrmlings save DC is also 13, so we do not need to adjust the base CR ... our offensive CR is 3.
      • The final CR is the rounded average of defensive and offensive CRs, which in this case is (3+3)/2 = 3. Which is NOT the 4 cited for the Red Wyrmling on MM-98.


    What am I missing here?

    I can provide breakdowns for any of the other wyrmlings if it helps, but this message is already way longer than I wanted it to be. I'm hoping someone can identify what I'm missing. I'd recommend just computing the CR from first principles and seeing whether you get a value of 4 (if so, you can explain what you did that I forgot to do).

    As I hinted at earlier, discrepancies in wyrmling CRs is only the tip of the iceberg. 6 of the 15 young dragons give differing CRs. And for adult and ancient dragons I've computed 4 different CRs for each dragon: CR0 with no legendary actions, CR1 with one legendary action, CR2 with two legendary actions, and CR3 with three legendary actions. 4/15 adult dragons match when using CR0, a different 4/15 match when using CR1, 1/15 matches using CR2, none match when using CR3 .. and 6/15 do not match the published CR across any of these four computed CRs. When considering ancient dragons, 1/15 matches CR0, 7/15 match CR1, 5/15 match CR2, 0/15 match CR3, and 2/15 did not match against any of them. All of which highlights that I'm missing something, or the published CRs are rather inconsistent, or both. The following table shows all the hits and misses.

    Code:
    /----------+----------+---------+----+-------+-------+-------+-------\
    | Color    | Age      | Source  | CR |   CR0 |   CR1 |   CR2 |   CR3 |
    |----------+----------+---------+----+-------+-------+-------+-------|
    | Red      | wyrmling | MM-98   |  4 |  3.0  |       |       |       |
    |          | young    | MM-98   | 10 | 10.0* |       |       |       |
    |          | adult    | MM-98   | 17 | 16.0  | 18.0  | 19.0  | 20.5  |
    |          | ancient  | MM-97   | 24 | 23.0  | 24.5  | 26.0  | 26.0  |
    |----------+----------+---------+----+-------+-------+-------+-------|
    | Blue     | wyrmling | MM-91   |  3 |  2.5* |       |       |       |
    |          | young    | MM-91   |  9 |  9.0* |       |       |       |
    |          | adult    | MM-91   | 16 | 14.5  | 16.5  | 17.5  | 18.5  |
    |          | ancient  | MM-90   | 23 | 22.0  | 23.0* | 24.5  | 25.0  |
    |----------+----------+---------+----+-------+-------+-------+-------|
    | Green    | wyrmling | MM-95   |  2 |  1.5* |       |       |       |
    |          | young    | MM-94   |  8 |  7.0  |       |       |       |
    |          | adult    | MM-94   | 15 | 14.0  | 16.0  | 17.0  | 18.0  |
    |          | ancient  | MM-93   | 22 | 20.0  | 21.5* | 23.0  | 23.0  |
    |----------+----------+---------+----+-------+-------+-------+-------|
    | Black    | wyrmling | MM-88   |  2 |  1.5* |       |       |       |
    |          | young    | MM-88   |  7 |  7.0* |       |       |       |
    |          | adult    | MM-88   | 14 | 13.5* | 15.0  | 16.5  | 17.0  |
    |          | ancient  | MM-87   | 21 | 19.5  | 21.5  | 22.5  | 23.5  |
    |----------+----------+---------+----+-------+-------+-------+-------|
    | White    | wyrmling | MM-102  |  2 |  2.0* |       |       |       |
    |          | young    | MM-101  |  6 |  7.0  |       |       |       |
    |          | adult    | MM-101  | 13 | 13.5  | 14.5  | 16.0  | 16.5  |
    |          | ancient  | MM-100  | 20 | 18.5  | 20.0* | 21.0  | 22.0  |
    |----------+----------+---------+----+-------+-------+-------+-------|
    | Gold     | wyrmling | MM-115  |  3 |  3.0* |       |       |       |
    |          | young    | MM-115  | 10 | 10.0* |       |       |       |
    |          | adult    | MM-114  | 17 | 16.5* | 18.5  | 19.0  | 20.5  |
    |          | ancient  | MM-113  | 24 | 22.0  | 24.0* | 25.5  | 26.0  |
    |----------+----------+---------+----+-------+-------+-------+-------|
    | Silver   | wyrmling | MM-118  |  2 |  2.0* |       |       |       |
    |          | young    | MM-118  |  9 | 10.0  |       |       |       |
    |          | adult    | MM-117  | 16 | 15.5* | 17.5  | 18.5  | 19.5  |
    |          | ancient  | MM-116  | 23 | 21.0  | 23.0* | 24.5  | 25.0  |
    |----------+----------+---------+----+-------+-------+-------+-------|
    | Bronze   | wyrmling | MM-109  |  2 |  2.0* |       |       |       |
    |          | young    | MM-108  |  8 |  8.5  |       |       |       |
    |          | adult    | MM-108  | 15 | 14.5* | 16.5  | 17.5  | 18.5  |
    |          | ancient  | MM-107  | 22 | 21.5* | 22.5  | 24.0  | 24.5  |
    |----------+----------+---------+----+-------+-------+-------+-------|
    | Copper   | wyrmling | MM-112  |  1 |  1.5  |       |       |       |
    |          | young    | MM-111  |  7 |  6.5* |       |       |       |
    |          | adult    | MM-111  | 14 | 12.5  | 14.0* | 15.5  | 16.0  |
    |          | ancient  | MM-110  | 21 | 18.0  | 20.0  | 21.0* | 22.5  |
    |----------+----------+---------+----+-------+-------+-------+-------|
    | Brass    | wyrmling | MM-106  |  1 |  1.0* |       |       |       |
    |          | young    | MM-105  |  6 |  6.0* |       |       |       |
    |          | adult    | MM-105  | 13 | 11.5  | 13.0* | 14.5  | 15.0  |
    |          | ancient  | MM-104  | 20 | 17.0  | 19.0  | 20.0* | 21.0  |
    |----------+----------+---------+----+-------+-------+-------+-------|
    | Topaz    | wyrmling | GDOF-19 |  3 |  2.5* |       |       |       |
    |          | young    | GDOF-18 | 10 | 10.0* |       |       |       |
    |          | adult    | GDOF-18 | 17 | 15.0  | 17.0* | 17.5  | 19.0  |
    |          | ancient  | GDOF-17 | 24 | 21.5  | 23.5* | 25.0  | 25.5  |
    |----------+----------+---------+----+-------+-------+-------+-------|
    | Amethyst | wyrmling | GDOF-6  |  2 |  2.0* |       |       |       |
    |          | young    | GDOF-6  |  9 |  9.5  |       |       |       |
    |          | adult    | GDOF-5  | 16 | 15.0  | 17.0  | 18.0  | 19.5  |
    |          | ancient  | GDOF-5  | 24 | 21.5  | 23.5* | 25.0  | 25.5  |
    |----------+----------+---------+----+-------+-------+-------+-------|
    | Sapphire | wyrmling | GDOF-16 |  2 |  2.0* |       |       |       |
    |          | young    | GDOF-14 |  7 |  6.5* |       |       |       |
    |          | adult    | GDOF-14 | 14 | 12.0  | 13.0  | 14.0* | 15.0  |
    |          | ancient  | GDOF-14 | 21 | 18.5  | 20.0  | 20.5* | 22.0  |
    |----------+----------+---------+----+-------+-------+-------+-------|
    | Emerald  | wyrmling | GDOF-13 |  1 |  1.5  |       |       |       |
    |          | young    | GDOF-12 |  7 |  6.5* |       |       |       |
    |          | adult    | GDOF-12 | 14 | 12.0  | 13.0  | 14.5  | 15.5  |
    |          | ancient  | GDOF-11 | 21 | 18.0  | 20.0  | 20.5* | 22.0  |
    |----------+----------+---------+----+-------+-------+-------+-------|
    | Crystal  | wyrmling | GDOF-10 |  1 |  2.0  |       |       |       |
    |          | young    | GDOF-9  |  6 |  7.0  |       |       |       |
    |          | adult    | GDOF-9  | 13 | 11.5  | 12.5* | 13.5  | 14.5  |
    |          | ancient  | GDOF-8  | 20 | 17.0  | 18.5  | 19.5* | 20.5  |
    \----------+----------+---------+----+-------+-------+-------+-------/
    You might be wondering why I'm spending so much effort on this. What I really want to do is compute CRs for dragons that are modified/augmented in various ways, but before I can trust the CRs produced for these modified dragons, I want my algorithm to be producing consistently correct CRs for the published dragons. More on this in subsequent posts.

  2. - Top - End - #2
    Orc in the Playground
     
    RedWizardGuy

    Join Date
    Sep 2015

    Default Re: Computing Dragon CRs from first principles

    I think the answer here might be simpler than you want to hear; the DMG was not finished when the Monster Manual first came out, it was published months later. The MM challenge ratings were probably eyeballed a bit for what monsters felt like, rather than determined with hard math. That explains, for instance, why the t-rex is a higher CR than the largely superior giant ape, or why some beasts hit way harder than their CR would suggest (giant poisonous snakes).

  3. - Top - End - #3
    Dwarf in the Playground
     
    RedKnightGirl

    Join Date
    Aug 2012
    Gender
    Male

    Default Re: Computing Dragon CRs from first principles

    Additionally, I remember hearing that the CRs for dragons were artificially deflated in order to make them feel more dangerous and climactic. I haven’t looked for any sources on this, and it conflicts a little with your calculation of the wyrmling’s CR as lower than listed, but it may account for some discrepancies.

    In general, though, CR is wildly variable. I rarely use it as anything more than a vague guideline for encounter construction, and I completely ignore the calculations when making a monster of my own.

  4. - Top - End - #4
    Ettin in the Playground
     
    Chimera

    Join Date
    Dec 2015

    Default Re: Computing Dragon CRs from first principles

    Quote Originally Posted by meta-dnd View Post
    What am I missing here?
    The CR rules in the DMG seems to be an (inexact) method of determining a challenge rating for a not-yet-existing monster. It doesn't seem to be the absolute method that the designers used to assign CRs to the monsters in the MM. On one hand, this does speak to the general limits to the applicability of a score like CR in general. On the other hand, it's unsurprising that something as complex as 'how much of a challenge is this monster going to be for my players (who may have some significant variations in capabilities)?' should be hard to capture in a number governed by a relatively simple formula.

  5. - Top - End - #5
    Titan in the Playground
     
    Valmark's Avatar

    Join Date
    May 2017
    Location
    Montevarchi, Italy
    Gender
    Male

    Default Re: Computing Dragon CRs from first principles

    From where did you take the gem dragons' stats? Asking mostly for curiosity. I got a friend who'd like to know that we got official stats for those.

    Dragons are purposefully overtuned (some of them, anyway) if I'm not wrong- that said, it could also be that whoever made those monsters was neither the one (assuming it was only one) that made the DMG guidance nor looked at them.

    It's also true that, unless I'm mistaken, those are guidelines- as such even official monsters are likely not expected to follow them to the letter.

  6. - Top - End - #6
    Barbarian in the Playground
     
    MindFlayer

    Join Date
    Mar 2008

    Default Re: Computing Dragon CRs from first principles

    What's GDOF? I have been googling furiously and can't find anything on canon 5E gem dragons other than the sapphire dragon stat block that was in that dice promo.

    I can tell you for certain that the Monster Manual is rife with obviously incorrect numbers - for example, one I just happened to work out is that page 207 confirms for absolutely certain that the weretiger stat block is just plain incorrect. The save dc on their pounce should be 13, not 14. So we know going in the book is prone to errors that have never been errataed.

    I show all my work below, but you got two numbers wrong on the red dragon wyrmling: you calculated its bite damage as 9 (it is 12) and you ignored its saving throw proficiencies for calculating defensive CR (see DMG p279, Step 15). Its true CR is pretty definitely 4.

    Let's do a Red Dragon Wyrmling, because I don't really know how CRs work, and this'll be a fun learning experience for me:
    Defensive CR: 75 HP is CR 1, adjusted to 3 for AC. It may adjust to 4 for the flying speed; the DMG says to only do this if it can do damage "at range", and it's unclear if 15 feet is enough distance to qualify. Since 15 feet is melee range for a Large creature's reach weapon, I'm going to rule against this. It does adjust to 4 for having proficiency in 4 saves (effective AC 19).
    Defensive CR: 4 (could be 5 if I'm wrong).
    Offensive CR: We immediately have a problem - the Wyrmling's breath is against a save and its bite is against AC. The DMG says to pick the one the monster "relies on" more and use only that one. I'm going to do this three different ways.
    Weighted Average: I ignore the DMG's guidance and calculate the CRs for the two attacks independently, and then average them based on how often they fire.
    Bite: 12 damage at +6 to hit is offensive CR 1 for the damage, adjusted to 2 for the accuracy.
    Breath (assuming it hits two targets): 48 damage at save DC 13 is CR 7 base, adjusted to 6 for accuracy.
    Weighted Offensive CR: (6 + 2*2)/3 = 3 1/3, which you could round down to 3 or not (we're violating the DMG, so do whatever you like).
    Relies on more has two subinterpretations, but for this, we need the net damage total, which is a weighted average. (12*2+48)/3 = 72/3 = 24 even (you got the bite damage wrong, incidentally). This is for the rule that you pick the to-hit bonus or the save DC based on which the monster relies on more. That's CR 3 base, before we adjust it one of two ways:
    Relies on means the one that happens more often: +6 to hit is +1 CR for CR 3, so CR 4.
    Relies on means the one that deals more damage on average: the breath weapon amortizes to 16 dpr, which is better than the bite's 12. DC 13 to hit is spot on for CR 3, so no adjustment.

    So the defensive CR is 4-5, and the offensive CR is 3-4. That means the CR of the Red Dragon Wyrmling is no lower than 4 (3.5 rounded up) and no higher than 5 (4.5 rounded up). I would conclude from the MM entry that my ruling on the breath weapon was correct, and that's the only way to reach CR 5, so the Wyrmling must be CR 4.

    Wyrmling abilities that don't affect CR:
    Type: Not a humanoid, so it takes higher levels to be mind controlled. Doesn't matter to CR.
    Speed: CR doesn't scale with a foe that goes faster, and climb speeds don't matter. I explained above why I did not adjust for the fly speed.
    Save "Quality": Unlike PC classes, which always have a "good" save proficiency (Dex/Wis/Con) and a "bad" one (Str/Int/Cha), save proficiency quality doesn't affect CRs. Only quantity matters.
    Damage Immunities: You need 3 or more of these to affect CR, so the Fire Immunity doesn't matter.
    Offensive typing: the breath being fire and the bite being piercing and fire don't impact the CR.
    Senses: Arbitrarily good senses never impact CR.
    Languages: Knowing Draconic and only Draconic has no bearing on CR.
    Last edited by quindraco; 2021-04-22 at 01:01 PM.

  7. - Top - End - #7
    Barbarian in the Playground
     
    MindFlayer

    Join Date
    Mar 2008

    Default Re: Computing Dragon CRs from first principles

    Copper is harder, because I have no idea if or how the slowing breath should impact offensive CR.

    Defensive CR: HP 22 is CR 1/8, adjusts to 1 + 1/8 for AC, adjusts to 2 + 1/8 for saves.
    Offensive CR: Breath weapon (acid) is DPR 12 at save DC 11. Bite is DPR 7 at +4 to hit. That's average DPR (7*2+12)/3 = 26/3 = 8 2/3. Rounded down to 8, that's DPR 8, or base CR 1/2.
    Adjustment based on hit bonus: 1/2.
    Adjustment based on save DC: -1/2, so 0.

    The average of 2+1/8 and 0 is 1. The average of 2+1/8 and 1/2 is 1. Since the monster is listed as CR 1, I don't know how you got 1.5.
    Last edited by quindraco; 2021-04-22 at 09:54 AM.

  8. - Top - End - #8
    Barbarian in the Playground
     
    MindFlayer

    Join Date
    Mar 2008

    Default Re: Computing Dragon CRs from first principles

    Recapping my above two posts:

    The correct CR of a Red Dragon Wyrmling is pretty definitely 4, and you miscalculated its bite damage and save proficiencies.
    The correct CR of a Copper Dragon Wyrmling is pretty definitely 1, and I have no idea how you got to 1.5. You may have boosted its offensive CR due to the slowing breath?
    I can't do gem dragons - I don't have their statblocks and Google has no idea what GDOF is.

    EDIT: I may have miscalculated defensive CRs - I modified it by 1 for 4 saves directly, instead of modifying AC. I'll go redo my math and double check right now.
    EDIT 2: By coincidence, redoing it the right way worked out to the same results.
    Last edited by quindraco; 2021-04-22 at 09:54 AM.

  9. - Top - End - #9
    Ettin in the Playground
     
    Chimera

    Join Date
    Dec 2015

    Default Re: Computing Dragon CRs from first principles

    Quote Originally Posted by quindraco View Post
    I can tell you for certain that the Monster Manual is rife with obviously incorrect numbers - for example, one I just happened to work out is that page 207 confirms for absolutely certain that the weretiger stat block is just plain incorrect. The save dc on their pounce should be 13, not 14. So we know going in the book is prone to errors that have never been errataed.
    Not to put too fine a point on this, but unless the book states that these numbers are supposed to fit a specific formula, it is a deviation from a what one might expect, not an error.

  10. - Top - End - #10
    Titan in the Playground
     
    Daemon

    Join Date
    May 2016
    Location
    Corvallis, OR
    Gender
    Male

    Default Re: Computing Dragon CRs from first principles

    I will also note that save DCs, attack values, etc. are conceptually arbitrary for monsters. Only PCs have a rule that they must be based on a particular ability score at all (ie DC = 8 + proficiency + MOD, ATK = proficiency + MOD). Now of course most of the monsters do follow those patterns, because it's easy to do. But not following those patterns doesn't necessarily mean there's an error, it could mean that they chose differently for that monster.

    I will also note that there's text saying that the last step in all CR calculations is playtesting, and that doing so may alter the CR. One source (I forget where) notes that, by the book, an Ogre should be CR 1. But since in playtesting they noted that it was easy for an ogre to KO a level 1 PC in one round (and thus was a bigger threat), they bumped it to CR 2.

    CR is an art, not a science. And it isn't the be-all and end-all--it's a first-pass filter to narrow the band of things you have to consider when making an encounter. That's about it.
    Dawn of Hope: a 5e setting. http://wiki.admiralbenbo.org
    Rogue Equivalent Damage calculator, now prettier and more configurable!
    5e Monster Data Sheet--vital statistics for all 693 MM, Volo's, and now MToF monsters: Updated!
    NIH system 5e fork, very much WIP. Base github repo.
    NIH System PDF Up to date main-branch build version.

  11. - Top - End - #11

    Default Re: Computing Dragon CRs from first principles

    Quote Originally Posted by Willie the Duck View Post
    Not to put too fine a point on this, but unless the book states that these numbers are supposed to fit a specific formula, it is a deviation from a what one might expect, not an error.
    Especially since Step #4 (Final Challenge Rating) on DMG page 275 explicitly tells you that CR is "not a number crunching exercise" and to tweak the final CR if playtesting makes you think it's too low or high.
    Last edited by MaxWilson; 2021-04-22 at 10:19 AM.

  12. - Top - End - #12
    Firbolg in the Playground
     
    Man_Over_Game's Avatar

    Join Date
    Aug 2018
    Location
    Between SEA and PDX.
    Gender
    Male

    Default Re: Computing Dragon CRs from first principles

    If I remember correctly, there's a different formula that the devs use for calculating their monsters. It's been a while, but I think someone was watching Mike Mearls back when he was involved with helping out with 5e, and that someone took a snapshot of Mike's excel sheet in the background that had the CR calculations. They then reverse-engineered some stuff to fill in some gaps, and managed to make something that resembles the official CR results.

    It might take me a hot second to find it, one sec.

    Found it! Info on the discrepancies: https://rpg.stackexchange.com/a/129549/45619 , the formula itself: http://blogofholding.com/?p=7338

    According to the first link, findings show that "uniqueness" of monster abilities don't actually impact CR all that much, most of a monster's official CR can be calculated directly from their stats and main powers using the internal formula.


    Some quick summaries of what this guy has found:

    There is no correlation between higher X stats for lower Y stats. You can have a lower HP total without increasing your AC, it does not directly determine your CR.

    Attack Bonus = 4 + 1/2 CR, fluctuating +/- 2 points without adjusting your CR.

    DC = 11 + 1/2 CR, fluctuating +/- 2 points.

    AC = 13 + 1/3 CR, fluctuating +/- 3 points.

    Average damage below CR 1: 1, 3, 5, 8
    Average damage between CR 1 and 7: 5 + (CR x 5)
    Average damage above CR 7: CR x 5

    Hit Points = 3x what the monster can deal in a round (so two monsters fighting each other will both die on round 3)

    It's important to note that damage and HP have a +/- 50% fluctuation level. So that CR-4 Wizard with a Fireball and a Firebolt to sum with a damage point total of 25 might deal the right amount of damage for a CR-4 creature, you might decide he has 40 HP instead of the normal 75 just because you think it makes more sense that way.

    Here's a cheatsheet PDF the guy made that you can print out that has all of the goals you should aim for based off of CR, and how much fluctuation each of those stats is allowed:
    http://blogofholding.com/wp-content/...nsterrules.pdf




    Looking through this, we can also reverse-engineer some answers about the expectations of a player.

    For example, monsters get +8 AC over the course of 20 levels, and get +10 to hit over the same time period.

    You could decide that players should be the counter to those levels (so they get more AC and less to-hit than monsters), but more-than-likely it should be more on the lines of To-Hit > AC. That is, everything misses a lot less in later levels.

    I think this is kind-of intentional, as attack rolls start to have less value than saves as levels and HP increases, and the increased to-hit (and slowed AC growth) makes attacking more competitive and reliable than saves.
    Last edited by Man_Over_Game; 2021-04-22 at 12:34 PM.
    Quote Originally Posted by KOLE View Post
    MOG, design a darn RPG system. Seriously, the amount of ideas I’ve gleaned from your posts has been valuable. You’re a gem of the community here.

    5th Edition Homebrewery
    Prestige Options, changing primary attributes to open a world of new multiclassing.
    Adrenaline Surge, fitting Short Rests into combat to fix bosses/Short Rest Classes.
    Pain, using Exhaustion to make tactical martial combatants.
    Fate Sorcery, lucky winner of the 5e D&D Subclass Contest VII!

  13. - Top - End - #13
    Halfling in the Playground
    Join Date
    Jun 2020

    Default Re: Computing Dragon CRs from first principles

    Quote Originally Posted by Valmark View Post
    From where did you take the gem dragons' stats? Asking mostly for curiosity. I got a friend who'd like to know that we got official stats for those.
    Quote Originally Posted by quindraco View Post
    What's GDOF? I have been googling furiously and can't find anything on canon 5E gem dragons other than the sapphire dragon stat block that was in that dice promo.
    GDOF is Gem Dragons Of Faerun, by James Haeck of Kobold Press. I don't know how official Kobold Press is, but I do like what they've done with the gem dragons. See https://www.dmsguild.com/product/180...gons-of-Faerun
    Last edited by meta-dnd; 2021-04-22 at 04:09 PM.

  14. - Top - End - #14
    Barbarian in the Playground
     
    MindFlayer

    Join Date
    Mar 2008

    Default Re: Computing Dragon CRs from first principles

    Just finished passing the red dragons through the draconic CR algorithm we were discussing. Findings:

    1. Dragons reliably calculate their CR using their breath weapon DC, not their melee DPR, even though their melee reliably out-DPRs the breath weapon (amortizing the breath weapon over 3 rounds) and is more frequently available. I don't know what the DMG means by relies on more.
    2. Dragons reliably calculate their CR without the DPR from their legendary actions (which are melee output - they have a single-target costing 1 action and an AOEe around themselves costing 2) or their lair actions (which are ranged output - they have 3 different targetable AOEs).
    3. No dragon is considered to simultaneously be a flying ranged attacker and to have an expected CR of 10 or less, meaning the younger ones aren't considered ranged and for the older ones it's immaterial.


    Perhaps the oddest duck here is the young adult: it calculates its offensive DPR using the save DC of its breath weapon, which is 30 feet, but it's still not considered a ranged attacker. At any rate, for fighting the adult or ancient red dragon, you're in trouble if you get into a melee fight with it - it will hit you for more DPR than its CR is rated for - and in trouble if you get into a lair fight, as that will also hit you for more DPR than its CR is rated for.

    Incidentally, there's basically no rhyme or reason I can find to the scaling on monster attack bonuses by CR - it doesn't seem to match anything else in the game, and changes shape bizarrely with CR. Seemingly in order to not flag too far behind it, despite their attack bonus not contributing to their CR, Ancient Red Dragons have an extra +1 to hit on their melee attacks not accounted for in their statline that the other ages do not.

  15. - Top - End - #15
    Halfling in the Playground
    Join Date
    Jun 2020

    Default Re: Computing Dragon CRs from first principles

    Quote Originally Posted by quindraco View Post
    I show all my work below, but you got two numbers wrong on the red dragon wyrmling: you calculated its bite damage as 9 (it is 12) and you ignored its saving throw proficiencies for calculating defensive CR (see DMG p279, Step 15). Its true CR is pretty definitely 4.
    Ah! Thank you so much quindraco ... this is exactly what I was looking for. Because of your observation about missing damage, I've realized my code was not properly recording damage when it came from two (or more) sources, like Red Dragon's 19 "(2d10 + 8) piercing damage plus 7 (2d6) fire damage". My code was *parsing* all of them, but I was dropping all but the first. Across the 474 races in the MM, 161 races in MTOF, 115 races in VGTM, and 27 races in GDOF (777 races total), there are 1576 damage specifications, and 158 of these have multiple types of damage, so your observation has identified a bug impacting much more than just dragon CRs. Again, much appreciated!

    As well, you are entirely correct about my code was not taking Step 15 into account (careless of me!).

    I am updating my code ... will report back with updated CRs when these issues are fixed.

  16. - Top - End - #16

    Default Re: Computing Dragon CRs from first principles

    Quote Originally Posted by Man_Over_Game View Post
    If I remember correctly, there's a different formula that the devs use for calculating their monsters. It's been a while, but I think someone was watching Mike Mearls back when he was involved with helping out with 5e, and that someone took a snapshot of Mike's excel sheet in the background that had the CR calculations. They then reverse-engineered some stuff to fill in some gaps, and managed to make something that resembles the official CR results.

    It might take me a hot second to find it, one sec.

    Found it! Info on the discrepancies: https://rpg.stackexchange.com/a/129549/45619 , the formula itself: http://blogofholding.com/?p=7338

    According to the first link, findings show that "uniqueness" of monster abilities don't actually impact CR all that much, most of a monster's official CR can be calculated directly from their stats and main powers using the internal formula.
    That analyses is deeply flawed. Blog of Holding's analysis totally ignores the fact the DMG, by design, lets you trade one thing for another (more AC for less HP or less damage, etc.). All Blog of Holding really does is analyze trends to see e.g. are glass cannons more common than bricks in the MM. He concludes, wrongly, that special abilities have no impact on CR, but he does this without ever re-computing the DMG CR of any monsters with special abilities to compare it with the published CR!

    Everything that blog link says is wrong, except for the historical account at (http://blogofholding.com/?p=7357), which he quotes only to disagree with. Emphasis mine:

    I invite you to ponder this further mystery from the Deep Dive podcast:

    In the podcast, Jeremy Crawford talked about how the D&D team approaches what he calls “action denial” attacks: paralysis, charm, etc. This is something I’ve wondered about. My initial research suggested that these attacks didn’t have much of an effect on CR, which I though was strange: taking out a combatant for a few turns seems like it should be a powerful ability.

    Jeremy used paralysis as an example to illustrate the team’s approach. First, find the lowest-level spell which inflicts a condition. For paralysis, that’s Hold Person. Next, you translate that into damage by finding the damage output of the simplest pure-damage spell of that level. Hold Person is level 2, and its comparable damage spell is Scorching Ray, which does 6d6 (21) damage. Thus, the ability to paralyze is worth 21 “virtual” damage for Challenge Rating calculation purposes.

    I see the logic in that, but it doesn’t scale the way I’d expect it to.
    If you’re fighting four opponents, I’d expect the ability to keep one of them paralyzed to be worth, say, 33% extra virtual hit points (the hit points you won’t be losing to the paralyzed opponent) – or some similar scaling benefit. If the ability is expressed as flat damage, 21 hit points damage is dominant at low levels and negligible at high levels.

    And indeed, when checked against monster data, it doesn’t seem as if monsters are balanced exactly as Jeremy describes. Check out the chart below. This includes all ten CR-5 or lower monsters with a paralysis attack: the carrion crawler, chuul, ghoul, ghast, grell, pentadrone, mummy, revenant, thri-kreen, and yeti. (Above CR 5, the 21 virtual hit points of paralysis would rarely be relevant to CR because monsters generally have a more damaging attack options.)

    In this chart, the blue diamonds represent the average damage output of a monster of each CR from 1 to 5. The red X’s represent the base damage output of paralysis-inducing monsters – without the 21-point “Crawford bonus.” As you can see, the paralyzer damage is very close to average monster damage.


    What happens here?

    (1) He relays what Jeremy Crawford once described about the monster CR calculation process. (This is the most interesting part of the blog because it gives DMs insight into WotC's methodology, including for custom special abilities that they create themselves: convert it to equivalent spell damage from the other DMG tables.)

    (2) He disagrees with Crawford and says he thinks special abilities don't really affect CR.

    (3) He eyeballs a graph of damage for monsters with a special ability (paralyzation) and concludes that since actual damage on paralyzers isn't unusually low, that this proves special abilities don't affect CR. But wait! Does the DMG says that you need to reduce actual damage to account for paralyzation? No! CR is an output from the design process, not an input, and high damage (actual or via paralysis) can be balanced by fragility (low AC or HP).

    When I actually compute CRs I generally find that the DMG procedure gives pretty good results, usually spot-on but sometimes they've clearly been tweaked by either DM judgment and playtesting (just as the DMG tells you to do) or something else (a secret WotC spreadsheet?).

    Quote Originally Posted by quindraco View Post
    Just finished passing the red dragons through the draconic CR algorithm we were discussing. Findings:

    [LIST=1][*]Dragons reliably calculate their CR using their breath weapon DC, not their melee DPR, even though their melee reliably out-DPRs the breath weapon (amortizing the breath weapon over 3 rounds) and is more frequently available. I don't know what the DMG means by relies on more.
    Nitpick: strictly speaking, over 3 rounds of combat, a dragon will use its breath weapon on 1.67 rounds. The first round is guaranteed, the second and third rounds are 0.33 chance. That means it will melee less often than it breathes, on average, unless you count legendary tail attacks.
    Last edited by MaxWilson; 2021-04-22 at 04:36 PM.

  17. - Top - End - #17
    Barbarian in the Playground
     
    MindFlayer

    Join Date
    Mar 2008

    Default Re: Computing Dragon CRs from first principles

    Quote Originally Posted by meta-dnd View Post
    Ah! Thank you so much quindraco ... this is exactly what I was looking for. Because of your observation about missing damage, I've realized my code was not properly recording damage when it came from two (or more) sources, like Red Dragon's 19 "(2d10 + 8) piercing damage plus 7 (2d6) fire damage". My code was *parsing* all of them, but I was dropping all but the first. Across the 474 races in the MM, 161 races in MTOF, 115 races in VGTM, and 27 races in GDOF (777 races total), there are 1576 damage specifications, and 158 of these have multiple types of damage, so your observation has identified a bug impacting much more than just dragon CRs. Again, much appreciated!

    As well, you are entirely correct about my code was not taking Step 15 into account (careless of me!).

    I am updating my code ... will report back with updated CRs when these issues are fixed.
    Quite welcome!

    I'm guessing you'll still find flaws - for example, a bearded devil is only CR 3, and it deals damage in a geometric progression. So far, its glaive is the most dangerous weapon I've found in the game. There's no way it's really only CR 3.

  18. - Top - End - #18
    Titan in the Playground
     
    Valmark's Avatar

    Join Date
    May 2017
    Location
    Montevarchi, Italy
    Gender
    Male

    Default Re: Computing Dragon CRs from first principles

    Quote Originally Posted by meta-dnd View Post
    GDOF is Gem Dragons Of Faerun, by James Haeck of Kobold Press. I don't
    know how official Kobold Press is, but I do like what they've done
    with the gem dragons. See
    https://www.dmsguild.com/product/180...gons-of-Faerun
    Ah, I see. It's homebrew- which doesn't make it any less good, but it does mean there's no guarantee they'll follow the DMG's guide for the CR (there's no guarantee with the designers either tbh).

  19. - Top - End - #19

    Default Re: Computing Dragon CRs from first principles

    Quote Originally Posted by quindraco View Post
    Quite welcome!

    I'm guessing you'll still find flaws - for example, a bearded devil is only CR 3, and it deals damage in a geometric progression. So far, its glaive is the most dangerous weapon I've found in the game. There's no way it's really only CR 3.
    Nycaloths have a similar weapon.

    I don't understand in what sense it's a geometric progression though--it looks linear to me. If it's going to be N rounds before the target gets healing or a medicine check, then it will take Nd10 total damage from each glaive hit over those N rounds (unless the target saves). It's not (N^2)d10 or anything.

    Glaive. Melee Weapon Attack: +5 to hit, reach 10 ft., one target. Hit: (1d10 + 3) slashing damage. If the target is a creature other than an undead or a construct, it must succeed on a DC 12 Constitution saving throw or lose 5 (1d10) hit points at the start of each of its turns due to an infernal wound. Each time the devil hits the wounded target with this attack, the damage dealt by the wound increases by 5 (1d10). Any creature can take an action to stanch the wound with a successful DC 12 Wisdom (Medicine) check. The wound also closes if the target receives magical healing


    IMO it's a minor nuisance, not the most dangerous weapon in the game. Even if you're somehow taking 5d10 per round from failing five DC 12 Con saves against five glaive hits (very unlikely), one Healing Word closes all the wounds.

  20. - Top - End - #20
    Halfling in the Playground
    Join Date
    Jun 2020

    Default Re: Computing Dragon CRs from first principles

    Quote Originally Posted by quindraco View Post
    Copper is harder, because I have no idea if or how the slowing breath should impact offensive CR.

    Defensive CR: HP 22 is CR 1/8, adjusts to 1 + 1/8 for AC, adjusts to 2 + 1/8 for saves.
    Offensive CR: Breath weapon (acid) is DPR 12 at save DC 11. Bite is DPR 7 at +4 to hit. That's average DPR (7*2+12)/3 = 26/3 = 8 2/3. Rounded down to 8, that's DPR 8, or base CR 1/2.
    Adjustment based on hit bonus: 1/2.
    Adjustment based on save DC: -1/2, so 0.

    The average of 2+1/8 and 0 is 1. The average of 2+1/8 and 1/2 is 1. Since the monster is listed as CR 1, I don't know how you got 1.5.
    I very much appreciate you spending the time to work through these @quindraco (why isn't there a formal way to reference peeps in giantitp?). In your calculations, you used a breath weapon DPR of 12 when it is actually 18.

    Here's what my code produces:

    Code:
    CopperDragonWyrmling
    
    Inputs:
     - iCR:   1 (initial estimate, affects computed attack bonus)
     - HP :  22 (4d8 + 4; avg 18 + 4HD*+1 (Con 13))
     - AC :  16 (dex=1,natural=15)
     - Att:   4 (+2 prof bonus from CR 1, +2 for Str 15)
     - DPR:  17
        - Att1: acid breath (18) against 2.0 targets once per 3.0 rounds
        - Att2: bite (7) against 1.0 targets once per round
        - DPR = 18*2*0.333 + 7*1*0.667 = 12.0 + 5.0 = 17.0
        - dmg is more from effects with saving throws (12) than attacks (5)
     - RIV
        - immunity to acid
    
    Adjustments:
     - resistances/immunites: 1 immunity
        - no impact on CR
     - saves: proficient in 4 (dex,con,wis,cha)
        - increases effective AC by 2
    
    Outputs:
     - dCR: 2.125 (0.125 + 2) = 2
        - effective HP=22 suggests AC 13 and CR 0.125
        - adjust dCR by 2 ((effective AC - expected AC)/2 = (18-13)/2)
     - oCR: 1 (2 + -1) = 1
        - dmg is more from effects with saving throws than attacks
          (using Save DC rather than Attack Bonus in DMG-274 table)
        - effective DPR=17 suggests DC 13 and CR 2
        - adjust oCR by -1 ((effective. dc - expected dc)/2 = (11-13)/2)
     - fCR: 2 ((2 + 1)/2 = 1.5)
    
    Summary:
      /-----+------+------+-------+-----+----+-----+---------------------------\
      | Var | Act. | Eff. |   Def | Off |  Δ | Res | Notes                     |
      |-----+------+------+-------+-----+----+-----+---------------------------|
      | hp  |   22 |   22 |    22 |     |    |     |                           |
      | ac  |   16 |   18 |    13 |     |  5 |     | 22hp → AC13 (Δ=18-13=5)   |
      |-----+------+------+-------+-----+----+-----+---------------------------|
      | dpr |   17 |   17 |       |  17 |    |     |                           |
      | att |    4 |    4 |       |     |    |     |                           |
      | dc  |   11 |   11 |       |  13 | -2 |     | 17dpr → DC13 (Δ=11-13=-2) |
      |-----+------+------+-------+-----+----+-----+---------------------------|
      | dCR |      |      | 0.125 |     |  2 | 2.0 |                           |
      | oCR |      |      |       |   2 | -1 | 1.0 |                           |
      | CR  |    1 |      |       |     |    | 1.5 |                           |
      \-----+------+------+-------+-----+----+-----+---------------------------/

    The example on DMG-275 makes it clear they are rounding average CRs to the nearest integer (2.5 becomes 3 in the example), so an average CR of 1.5 should become 2 (which does NOT match the CR 1 reported in the MM). That said, these situations where a CR is midway between integers is obviously ambiguous ... a CR of 1.5 can probably reasonably be interpreted as either 1 or 2.

  21. - Top - End - #21
    Halfling in the Playground
    Join Date
    Jun 2020

    Default Re: Computing Dragon CRs from first principles

    To my amusement (and chagrin), after updating my algorithm to properly account for the impact of 4 proficient saves on effective AC, and properly computing average damage from attacks that due multiple kinds of damage, my computed CRs are even more off from published values than they were before ... only 3 of the 15 wyrmlings now match ;-(

    Code:
    /----------+---------+----+------\
    | Color    | Source  | CR |  CR0 |
    |----------+---------+----+------|
    | Red      | MM-98   |  4 | 3.5* |
    | Blue     | MM-91   |  3 | 3.5  |
    | Green    | MM-95   |  2 | 2.5  |
    | Black    | MM-88   |  2 | 2.5  |
    | White    | MM-102  |  2 | 2.5  |
    |----------+---------+----+------|
    | Gold     | MM-115  |  3 | 3.5  |
    | Silver   | MM-118  |  2 | 2.5  |
    | Bronze   | MM-109  |  2 | 2.5  |
    | Copper   | MM-112  |  1 | 1.5  |
    | Brass    | MM-106  |  1 | 1.0* |
    |----------+---------+----+------|
    | Topaz    | GDOF-19 |  3 | 3.0* |
    | Amethyst | GDOF-6  |  2 | 2.5  |
    | Sapphire | GDOF-16 |  2 | 2.5  |
    | Emerald  | GDOF-13 |  1 | 1.5  |
    | Crystal  | GDOF-10 |  1 | 2.0  |
    \----------+---------+----+------/

    Except for the Crystal Dragon, all of the average CRs yield a CR half-way between two integers, so being "off by one" isn't too surprise. But it is frustrating. I acknowledge that the CRs in the MM may have been eyeballed or tweaked after being passed through this algorithm, but that doesn't feel all that likely to me ... manually tweaking things is just so much more work than just using the numbers produced by an unambiguous process that I'd be surprised the MM creators didn't use the process for almost all monsters in the MM (and presumably VGTM and MTOF as well).

    Below, I've pasted the output of my calculations for the Chromatic wyrmlings, in case anyone has thoughts on what I might be doing wrong.

    Code:
    ################################################################################
    RedDragonWyrmling
    
    Inputs:
     - iCR:   4 (initial estimate, affects computed attack bonus)
     - HP :  75 (10d8 + 30; avg 45 + 10HD*+3 (Con 17))
     - AC :  17 (natural=17)
     - Att:   6 (+2 prof bonus from CR 4, +4 for Str 19)
     - DPR:  25
        - Att1: fire breath (24) against 2.0 targets once per 3.0 rounds
        - Att2: bite (13) against 1.0 targets once per round
        - DPR = 24*2*0.333 + 13*1*0.667 = 16.3 + 8.7 = 25.0
        - dmg is more from effects with saving throws (16) than attacks (8)
     - RIV
        - immunity to fire
    
    Adjustments:
     - resistances/immunites: 1 immunity
        - no impact on CR
     - saves: proficient in 4 (dex,con,wis,cha)
        - increases effective AC by 2
    
    Outputs:
     - dCR: 4 (1 + 3) = 4
        - effective HP=75 suggests AC 13 and CR 1
        - adjust dCR by 3 ((effective AC - expected AC)/2 = (19-13)/2)
     - oCR: 3 (3 + 0) = 3
        - dmg is more from effects with saving throws than attacks
          (using Save DC rather than Attack Bonus in DMG-274 table)
        - effective DPR=25 suggests DC 13 and CR 3
        - adjust oCR by 0 ((effective. dc - expected dc)/2 = (13-13)/2)
     - fCR: 4 ((4 + 3)/2 = 3.5)
    
    Summary:
      /-----+------+------+-----+-----+---+-----+--------------------------\
      | Var | Act. | Eff. | Def | Off | Δ | Res | Notes                    |
      |-----+------+------+-----+-----+---+-----+--------------------------|
      | hp  |   75 |   75 |  75 |     |   |     |                          |
      | ac  |   17 |   19 |  13 |     | 6 |     | 75hp → AC13 (Δ=19-13=6)  |
      |-----+------+------+-----+-----+---+-----+--------------------------|
      | dpr |   25 |   25 |     |  25 |   |     |                          |
      | att |    6 |    6 |     |     |   |     |                          |
      | dc  |   13 |   13 |     |  13 |   |     | 25dpr → DC13 (Δ=13-13=0) |
      |-----+------+------+-----+-----+---+-----+--------------------------|
      | dCR |      |      |   1 |     | 3 | 4.0 |                          |
      | oCR |      |      |     |   3 |   | 3.0 |                          |
      | CR  |    4 |      |     |     |   | 3.5 |                          |
      \-----+------+------+-----+-----+---+-----+--------------------------/
      
    ################################################################################
    BlueDragonWyrmling
    
    Inputs:
     - iCR:   3 (initial estimate, affects computed attack bonus)
     - HP :  52 (8d8 + 16; avg 36 + 8HD*+2 (Con 15))
     - AC :  17 (natural=17)
     - Att:   5 (+2 prof bonus from CR 3, +3 for Str 17)
     - DPR:  22
        - Att1: lightning breath (22) against 2.0 targets once per 3.0 rounds
        - Att2: bite (12) against 1.0 targets once per round
        - DPR = 22*2*0.333 + 12*1*0.667 = 14.7 + 8.0 = 22.7
        - dmg is more from effects with saving throws (14) than attacks (8)
     - RIV
        - immunity to lightning
    
    Adjustments:
     - resistances/immunites: 1 immunity
        - no impact on CR
     - saves: proficient in 4 (dex,con,wis,cha)
        - increases effective AC by 2
    
    Outputs:
     - dCR: 3.5 (0.5 + 3) = 4
        - effective HP=52 suggests AC 13 and CR 0.5
        - adjust dCR by 3 ((effective AC - expected AC)/2 = (19-13)/2)
     - oCR: 3 (3 + 0) = 3
        - dmg is more from effects with saving throws than attacks
          (using Save DC rather than Attack Bonus in DMG-274 table)
        - effective DPR=22 suggests DC 13 and CR 3
        - adjust oCR by 0 ((effective. dc - expected dc)/2 = (12-13)/2)
     - fCR: 4 ((4 + 3)/2 = 3.5)
    
    Summary:
      /-----+------+------+-----+-----+----+-----+---------------------------\
      | Var | Act. | Eff. | Def | Off |  Δ | Res | Notes                     |
      |-----+------+------+-----+-----+----+-----+---------------------------|
      | hp  |   52 |   52 |  52 |     |    |     |                           |
      | ac  |   17 |   19 |  13 |     |  6 |     | 52hp → AC13 (Δ=19-13=6)   |
      |-----+------+------+-----+-----+----+-----+---------------------------|
      | dpr |   22 |   22 |     |  22 |    |     |                           |
      | att |    5 |    5 |     |     |    |     |                           |
      | dc  |   12 |   12 |     |  13 | -1 |     | 22dpr → DC13 (Δ=12-13=-1) |
      |-----+------+------+-----+-----+----+-----+---------------------------|
      | dCR |      |      | 0.5 |     |  3 | 4.0 |                           |
      | oCR |      |      |     |   3 |    | 3.0 |                           |
      | CR  |    3 |      |     |     |    | 3.5 |                           |
      \-----+------+------+-----+-----+----+-----+---------------------------/
      
    ################################################################################
    GreenDragonWyrmling
    
    Inputs:
     - iCR:   2 (initial estimate, affects computed attack bonus)
     - HP :  38 (7d8 + 7; avg 32 + 7HD*+1 (Con 13))
     - AC :  17 (dex=1,natural=16)
     - Att:   4 (+2 prof bonus from CR 2, +2 for Str 15)
     - DPR:  21
        - Att1: poison breath (21) against 2.0 targets once per 3.0 rounds
        - Att2: bite (11) against 1.0 targets once per round
        - DPR = 21*2*0.333 + 11*1*0.667 = 14.0 + 7.3 = 21.3
        - dmg is more from effects with saving throws (14) than attacks (7)
     - RIV
        - immunity to poison
     - Features
        - Amphibious
    
    Adjustments:
     - resistances/immunites: 1 immunity
        - no impact on CR
     - features: 1
        - no impact on CR
     - saves: proficient in 4 (dex,con,wis,cha)
        - increases effective AC by 2
    
    Outputs:
     - dCR: 3.25 (0.25 + 3) = 3
        - effective HP=38 suggests AC 13 and CR 0.25
        - adjust dCR by 3 ((effective AC - expected AC)/2 = (19-13)/2)
     - oCR: 2 (3 + -1) = 2
        - dmg is more from effects with saving throws than attacks
          (using Save DC rather than Attack Bonus in DMG-274 table)
        - effective DPR=21 suggests DC 13 and CR 3
        - adjust oCR by -1 ((effective. dc - expected dc)/2 = (11-13)/2)
     - fCR: 3 ((3 + 2)/2 = 2.5)
    
    Summary:
      /-----+------+------+------+-----+----+-----+---------------------------\
      | Var | Act. | Eff. |  Def | Off |  Δ | Res | Notes                     |
      |-----+------+------+------+-----+----+-----+---------------------------|
      | hp  |   38 |   38 |   38 |     |    |     |                           |
      | ac  |   17 |   19 |   13 |     |  6 |     | 38hp → AC13 (Δ=19-13=6)   |
      |-----+------+------+------+-----+----+-----+---------------------------|
      | dpr |   21 |   21 |      |  21 |    |     |                           |
      | att |    4 |    4 |      |     |    |     |                           |
      | dc  |   11 |   11 |      |  13 | -2 |     | 21dpr → DC13 (Δ=11-13=-2) |
      |-----+------+------+------+-----+----+-----+---------------------------|
      | dCR |      |      | 0.25 |     |  3 | 3.0 |                           |
      | oCR |      |      |      |   3 | -1 | 2.0 |                           |
      | CR  |    2 |      |      |     |    | 2.5 |                           |
      \-----+------+------+------+-----+----+-----+---------------------------/
      
    ################################################################################
    BlackDragonWyrmling
    
    Inputs:
     - iCR:   2 (initial estimate, affects computed attack bonus)
     - HP :  33 (6d8 + 6; avg 27 + 6HD*+1 (Con 13))
     - AC :  17 (dex=2,natural=15)
     - Att:   4 (+2 prof bonus from CR 2, +2 for Str 15)
     - DPR:  21
        - Att1: acid breath (22) against 2.0 targets once per 3.0 rounds
        - Att2: bite (10) against 1.0 targets once per round
        - DPR = 22*2*0.333 + 10*1*0.667 = 15.0 + 6.7 = 21.7
        - dmg is more from effects with saving throws (15) than attacks (6)
     - RIV
        - immunity to acid
     - Features
        - Amphibious
    
    Adjustments:
     - resistances/immunites: 1 immunity
        - no impact on CR
     - features: 1
        - no impact on CR
     - saves: proficient in 4 (dex,con,wis,cha)
        - increases effective AC by 2
    
    Outputs:
     - dCR: 3.125 (0.125 + 3) = 3
        - effective HP=33 suggests AC 13 and CR 0.125
        - adjust dCR by 3 ((effective AC - expected AC)/2 = (19-13)/2)
     - oCR: 2 (3 + -1) = 2
        - dmg is more from effects with saving throws than attacks
          (using Save DC rather than Attack Bonus in DMG-274 table)
        - effective DPR=21 suggests DC 13 and CR 3
        - adjust oCR by -1 ((effective. dc - expected dc)/2 = (11-13)/2)
     - fCR: 3 ((3 + 2)/2 = 2.5)
    
    Summary:
      /-----+------+------+-------+-----+----+-----+---------------------------\
      | Var | Act. | Eff. |   Def | Off |  Δ | Res | Notes                     |
      |-----+------+------+-------+-----+----+-----+---------------------------|
      | hp  |   33 |   33 |    33 |     |    |     |                           |
      | ac  |   17 |   19 |    13 |     |  6 |     | 33hp → AC13 (Δ=19-13=6)   |
      |-----+------+------+-------+-----+----+-----+---------------------------|
      | dpr |   21 |   21 |       |  21 |    |     |                           |
      | att |    4 |    4 |       |     |    |     |                           |
      | dc  |   11 |   11 |       |  13 | -2 |     | 21dpr → DC13 (Δ=11-13=-2) |
      |-----+------+------+-------+-----+----+-----+---------------------------|
      | dCR |      |      | 0.125 |     |  3 | 3.0 |                           |
      | oCR |      |      |       |   3 | -1 | 2.0 |                           |
      | CR  |    2 |      |       |     |    | 2.5 |                           |
      \-----+------+------+-------+-----+----+-----+---------------------------/
      
    ################################################################################
    WhiteDragonWyrmling
    
    Inputs:
     - iCR:   2 (initial estimate, affects computed attack bonus)
     - HP :  32 (5d8 + 10; avg 23 + 5HD*+2 (Con 14))
     - AC :  16 (natural=16)
     - Att:   4 (+2 prof bonus from CR 2, +2 for Str 14)
     - DPR:  21
        - Att1: cold breath (22) against 2.0 targets once per 3.0 rounds
        - Att2: bite (10) against 1.0 targets once per round
        - DPR = 22*2*0.333 + 10*1*0.667 = 15.0 + 6.7 = 21.7
        - dmg is more from effects with saving throws (15) than attacks (6)
     - RIV
        - immunity to cold
    
    Adjustments:
     - resistances/immunites: 1 immunity
        - no impact on CR
     - saves: proficient in 4 (dex,con,wis,cha)
        - increases effective AC by 2
    
    Outputs:
     - dCR: 2.125 (0.125 + 2) = 2
        - effective HP=32 suggests AC 13 and CR 0.125
        - adjust dCR by 2 ((effective AC - expected AC)/2 = (18-13)/2)
     - oCR: 3 (3 + 0) = 3
        - dmg is more from effects with saving throws than attacks
          (using Save DC rather than Attack Bonus in DMG-274 table)
        - effective DPR=21 suggests DC 13 and CR 3
        - adjust oCR by 0 ((effective. dc - expected dc)/2 = (12-13)/2)
     - fCR: 3 ((2 + 3)/2 = 2.5)
    
    Summary:
      /-----+------+------+-------+-----+----+-----+---------------------------\
      | Var | Act. | Eff. |   Def | Off |  Δ | Res | Notes                     |
      |-----+------+------+-------+-----+----+-----+---------------------------|
      | hp  |   32 |   32 |    32 |     |    |     |                           |
      | ac  |   16 |   18 |    13 |     |  5 |     | 32hp → AC13 (Δ=18-13=5)   |
      |-----+------+------+-------+-----+----+-----+---------------------------|
      | dpr |   21 |   21 |       |  21 |    |     |                           |
      | att |    4 |    4 |       |     |    |     |                           |
      | dc  |   12 |   12 |       |  13 | -1 |     | 21dpr → DC13 (Δ=12-13=-1) |
      |-----+------+------+-------+-----+----+-----+---------------------------|
      | dCR |      |      | 0.125 |     |  2 | 2.0 |                           |
      | oCR |      |      |       |   3 |    | 3.0 |                           |
      | CR  |    2 |      |       |     |    | 2.5 |                           |
      \-----+------+------+-------+-----+----+-----+---------------------------/

  22. - Top - End - #22
    Halfling in the Playground
    Join Date
    Jun 2020

    Default Re: Computing Dragon CRs from first principles

    Quote Originally Posted by quindraco View Post
    Just finished passing the red dragons through the draconic CR algorithm we were discussing. Findings:

    1. Dragons reliably calculate their CR using their breath weapon DC, not their melee DPR, even though their melee reliably out-DPRs the breath weapon (amortizing the breath weapon over 3 rounds) and is more frequently available. I don't know what the DMG means by relies on more.
    2. Dragons reliably calculate their CR without the DPR from their legendary actions (which are melee output - they have a single-target costing 1 action and an AOEe around themselves costing 2) or their lair actions (which are ranged output - they have 3 different targetable AOEs).
    3. No dragon is considered to simultaneously be a flying ranged attacker and to have an expected CR of 10 or less, meaning the younger ones aren't considered ranged and for the older ones it's immaterial.

    You mentioned you did the calculations for Red dragons, yes? Unfortunately, although it would be really nice if the trend identified from red dragons was generalizable to all other dragon types, in my experience that is not remotely true. Different dragons exhibit significantly different trends, sadly.

    The following table summarizes my most up-to-date results in the realm of computing Dragon CRs from first principles (as always, an asterisk indicates that a computed CR matches the published CR when it is rounded to nearest integer).

    Code:
    /----------+----------+---------+----+-------+-------+-------+-------\
    | Color    | Age      | Source  | CR |   CR0 |   CR1 |   CR2 |   CR3 |
    |----------+----------+---------+----+-------+-------+-------+-------|
    | Red      | wyrmling | MM-98   |  4 |  3.5* |       |       |       |
    |          | young    | MM-98   | 10 | 10.0* |       |       |       |
    |          | adult    | MM-98   | 17 | 17.0* | 19.0  | 20.0  | 21.0  |
    |          | ancient  | MM-97   | 24 | 23.5* | 25.5  | 26.0  | 26.5  |
    |----------+----------+---------+----+-------+-------+-------+-------|
    | Blue     | wyrmling | MM-91   |  3 |  3.5  |       |       |       |
    |          | young    | MM-91   |  9 |  9.0* |       |       |       |
    |          | adult    | MM-91   | 16 | 15.5* | 17.5  | 18.0  | 19.5  |
    |          | ancient  | MM-90   | 23 | 22.0  | 24.0  | 24.5  | 24.5  |
    |----------+----------+---------+----+-------+-------+-------+-------|
    | Green    | wyrmling | MM-95   |  2 |  2.5  |       |       |       |
    |          | young    | MM-94   |  8 |  6.5  |       |       |       |
    |          | adult    | MM-94   | 15 | 14.0  | 15.5  | 17.0  | 17.5  |
    |          | ancient  | MM-93   | 22 | 21.0  | 22.5  | 23.0  | 23.5  |
    |----------+----------+---------+----+-------+-------+-------+-------|
    | Black    | wyrmling | MM-88   |  2 |  2.5  |       |       |       |
    |          | young    | MM-88   |  7 |  7.5  |       |       |       |
    |          | adult    | MM-88   | 14 | 13.5* | 15.0  | 16.0  | 17.0  |
    |          | ancient  | MM-87   | 21 | 19.5  | 21.5  | 22.5  | 23.0  |
    |----------+----------+---------+----+-------+-------+-------+-------|
    | White    | wyrmling | MM-102  |  2 |  2.5  |       |       |       |
    |          | young    | MM-101  |  6 |  8.0  |       |       |       |
    |          | adult    | MM-101  | 13 | 13.5  | 15.0  | 16.0  | 17.0  |
    |          | ancient  | MM-100  | 20 | 18.5  | 20.0* | 21.5  | 22.0  |
    |----------+----------+---------+----+-------+-------+-------+-------|
    | Gold     | wyrmling | MM-115  |  3 |  3.5  |       |       |       |
    |          | young    | MM-115  | 10 | 10.0* |       |       |       |
    |          | adult    | MM-114  | 17 | 17.0* | 19.0  | 19.5  | 21.0  |
    |          | ancient  | MM-113  | 24 | 22.0  | 24.0* | 25.0  | 26.0  |
    |----------+----------+---------+----+-------+-------+-------+-------|
    | Silver   | wyrmling | MM-118  |  2 |  2.5  |       |       |       |
    |          | young    | MM-118  |  9 |  9.5  |       |       |       |
    |          | adult    | MM-117  | 16 | 15.5* | 17.5  | 18.5  | 19.5  |
    |          | ancient  | MM-116  | 23 | 21.0  | 23.0* | 24.0  | 24.5  |
    |----------+----------+---------+----+-------+-------+-------+-------|
    | Bronze   | wyrmling | MM-109  |  2 |  2.5  |       |       |       |
    |          | young    | MM-108  |  8 |  8.5  |       |       |       |
    |          | adult    | MM-108  | 15 | 14.5* | 16.5  | 17.5  | 18.5  |
    |          | ancient  | MM-107  | 22 | 21.0  | 22.5  | 24.0  | 24.0  |
    |----------+----------+---------+----+-------+-------+-------+-------|
    | Copper   | wyrmling | MM-112  |  1 |  1.5  |       |       |       |
    |          | young    | MM-111  |  7 |  6.5* |       |       |       |
    |          | adult    | MM-111  | 14 | 13.0  | 14.0* | 15.5  | 16.0  |
    |          | ancient  | MM-110  | 21 | 18.0  | 20.0  | 21.0* | 22.5  |
    |----------+----------+---------+----+-------+-------+-------+-------|
    | Brass    | wyrmling | MM-106  |  1 |  1.0* |       |       |       |
    |          | young    | MM-105  |  6 |  6.5  |       |       |       |
    |          | adult    | MM-105  | 13 | 12.0  | 13.0* | 14.5  | 15.5  |
    |          | ancient  | MM-104  | 20 | 17.0  | 19.0  | 19.5* | 21.0  |
    |----------+----------+---------+----+-------+-------+-------+-------|
    | Topaz    | wyrmling | GDOF-19 |  3 |  3.0* |       |       |       |
    |          | young    | GDOF-18 | 10 |  9.5* |       |       |       |
    |          | adult    | GDOF-18 | 17 | 15.0  | 16.5* | 17.5  | 18.5  |
    |          | ancient  | GDOF-17 | 24 | 21.5  | 23.5* | 24.5  | 25.0  |
    |----------+----------+---------+----+-------+-------+-------+-------|
    | Amethyst | wyrmling | GDOF-6  |  2 |  2.5  |       |       |       |
    |          | young    | GDOF-6  |  9 |  9.0* |       |       |       |
    |          | adult    | GDOF-5  | 16 | 14.5  | 16.5  | 17.5  | 19.0  |
    |          | ancient  | GDOF-5  | 24 | 21.5  | 23.5* | 24.5  | 25.0  |
    |----------+----------+---------+----+-------+-------+-------+-------|
    | Sapphire | wyrmling | GDOF-16 |  2 |  2.5  |       |       |       |
    |          | young    | GDOF-14 |  7 |  7.0* |       |       |       |
    |          | adult    | GDOF-14 | 14 | 11.5  | 13.0  | 14.0* | 15.0  |
    |          | ancient  | GDOF-14 | 21 | 18.5  | 20.0  | 20.5* | 22.0  |
    |----------+----------+---------+----+-------+-------+-------+-------|
    | Emerald  | wyrmling | GDOF-13 |  1 |  1.5  |       |       |       |
    |          | young    | GDOF-12 |  7 |  6.5* |       |       |       |
    |          | adult    | GDOF-12 | 14 | 12.5  | 13.5* | 15.0  | 15.5  |
    |          | ancient  | GDOF-11 | 21 | 18.0  | 20.0  | 21.0* | 22.0  |
    |----------+----------+---------+----+-------+-------+-------+-------|
    | Crystal  | wyrmling | GDOF-10 |  1 |  2.0  |       |       |       |
    |          | young    | GDOF-9  |  6 |  7.0  |       |       |       |
    |          | adult    | GDOF-9  | 13 | 11.5  | 13.0* | 14.0  | 15.0  |
    |          | ancient  | GDOF-8  | 20 | 16.5  | 18.0  | 19.0  | 20.0* |
    \----------+----------+---------+----+-------+-------+-------+-------/

  23. - Top - End - #23
    Halfling in the Playground
    Join Date
    Jun 2020

    Default Re: Computing Dragon CRs from first principles

    Quote Originally Posted by MaxWilson View Post
    Nitpick: strictly speaking, over 3 rounds of combat, a dragon will use its breath weapon on 1.67 rounds. The first round is guaranteed, the second and third rounds are 0.33 chance. That means it will melee less often than it breathes, on average, unless you count legendary tail attacks.
    This is an entirely valid point (thanks for noting it!). But I'm pretty sure that WoC is assuming 1 round in 3, rather than 1.67 rounds in 3. My computed CRs for wyrmling and young dragons are already usually higher than the published results ... adding in your (valid) logic would only increase the disparity between computed and published results, sadly. Which does not in any way discount the fact that the CRs maybe *should* be different than what is published. Really what I'm trying to establish is the extent to which the official material CRs are the product of a (discoverable) algorithmic process vs most monsters (or at least most dragons) having hand-tweaked CRs because play-testing suggested these modified values were more accurate. If the CRs are mostly due to an algorithmic process, discrepancies between my computed values and their computed values indicate either 1) errors in my code, 2) errors in their code, 3) errors everywhere. If the CRs are (often) hand-tweaked, all hope is lost ;-)

  24. - Top - End - #24

    Default Re: Computing Dragon CRs from first principles

    Quote Originally Posted by meta-dnd View Post
    This is an entirely valid point (thanks for noting it!). But I'm pretty sure that WoC is assuming 1 round in 3, rather than 1.67 rounds in 3. My computed CRs for wyrmling and young dragons are already usually higher than the published results ... adding in your (valid) logic would only increase the disparity between computed and published results, sadly. Which does not in any way discount the fact that the CRs maybe *should* be different than what is published. Really what I'm trying to establish is the extent to which the official material CRs are the product of a (discoverable) algorithmic process vs most monsters (or at least most dragons) having hand-tweaked CRs because play-testing suggested these modified values were more accurate. If the CRs are mostly due to an algorithmic process, discrepancies between my computed values and their computed values indicate either 1) errors in my code, 2) errors in their code, 3) errors everywhere. If the CRs are (often) hand-tweaked, all hope is lost ;-)
    Oh, I completely agree, WotC absolutely is assuming 1 in 3. IIRC the DMG even uses a dragon as an example DPR calculation.

    The best evidence I have that dragon CRs (specifically) are odd is: compare the stats of a CR 6 Young White Dragon and a CR 8 Young Green. They are almost identical, to within 4 HP and 1 point of AC! (The White even has a better breath weapon with slightly more damage, a better damage type, and a higher DC, plus a burrow speed.) Yet the green's is worth 50% more XP.

  25. - Top - End - #25
    Barbarian in the Playground
     
    MindFlayer

    Join Date
    Mar 2008

    Default Re: Computing Dragon CRs from first principles

    Quote Originally Posted by MaxWilson View Post
    Nycaloths have a similar weapon.

    I don't understand in what sense it's a geometric progression though--it looks linear to me. If it's going to be N rounds before the target gets healing or a medicine check, then it will take Nd10 total damage from each glaive hit over those N rounds (unless the target saves). It's not (N^2)d10 or anything.

    Glaive. Melee Weapon Attack: +5 to hit, reach 10 ft., one target. Hit: (1d10 + 3) slashing damage. If the target is a creature other than an undead or a construct, it must succeed on a DC 12 Constitution saving throw or lose 5 (1d10) hit points at the start of each of its turns due to an infernal wound. Each time the devil hits the wounded target with this attack, the damage dealt by the wound increases by 5 (1d10). Any creature can take an action to stanch the wound with a successful DC 12 Wisdom (Medicine) check. The wound also closes if the target receives magical healing


    IMO it's a minor nuisance, not the most dangerous weapon in the game. Even if you're somehow taking 5d10 per round from failing five DC 12 Con saves against five glaive hits (very unlikely), one Healing Word closes all the wounds.
    It takes 5 the first round, 10 the second, and so on and so forth. It's a gauss series running backwards - if someone is stabbed by the glaive every round, then after n rounds, they've taken 5n(n+1)/2 damage, which is quadratic in n.

  26. - Top - End - #26
    Barbarian in the Playground
     
    MindFlayer

    Join Date
    Mar 2008

    Default Re: Computing Dragon CRs from first principles

    Quote Originally Posted by meta-dnd View Post
    I very much appreciate you spending the time to work through these @quindraco (why isn't there a formal way to reference peeps in giantitp?). In your calculations, you used a breath weapon DPR of 12 when it is actually 18.

    Here's what my code produces:

    Code:
    CopperDragonWyrmling
    
    Inputs:
     - iCR:   1 (initial estimate, affects computed attack bonus)
     - HP :  22 (4d8 + 4; avg 18 + 4HD*+1 (Con 13))
     - AC :  16 (dex=1,natural=15)
     - Att:   4 (+2 prof bonus from CR 1, +2 for Str 15)
     - DPR:  17
        - Att1: acid breath (18) against 2.0 targets once per 3.0 rounds
        - Att2: bite (7) against 1.0 targets once per round
        - DPR = 18*2*0.333 + 7*1*0.667 = 12.0 + 5.0 = 17.0
        - dmg is more from effects with saving throws (12) than attacks (5)
     - RIV
        - immunity to acid
    
    Adjustments:
     - resistances/immunites: 1 immunity
        - no impact on CR
     - saves: proficient in 4 (dex,con,wis,cha)
        - increases effective AC by 2
    
    Outputs:
     - dCR: 2.125 (0.125 + 2) = 2
        - effective HP=22 suggests AC 13 and CR 0.125
        - adjust dCR by 2 ((effective AC - expected AC)/2 = (18-13)/2)
     - oCR: 1 (2 + -1) = 1
        - dmg is more from effects with saving throws than attacks
          (using Save DC rather than Attack Bonus in DMG-274 table)
        - effective DPR=17 suggests DC 13 and CR 2
        - adjust oCR by -1 ((effective. dc - expected dc)/2 = (11-13)/2)
     - fCR: 2 ((2 + 1)/2 = 1.5)
    
    Summary:
      /-----+------+------+-------+-----+----+-----+---------------------------\
      | Var | Act. | Eff. |   Def | Off |  Δ | Res | Notes                     |
      |-----+------+------+-------+-----+----+-----+---------------------------|
      | hp  |   22 |   22 |    22 |     |    |     |                           |
      | ac  |   16 |   18 |    13 |     |  5 |     | 22hp → AC13 (Δ=18-13=5)   |
      |-----+------+------+-------+-----+----+-----+---------------------------|
      | dpr |   17 |   17 |       |  17 |    |     |                           |
      | att |    4 |    4 |       |     |    |     |                           |
      | dc  |   11 |   11 |       |  13 | -2 |     | 17dpr → DC13 (Δ=11-13=-2) |
      |-----+------+------+-------+-----+----+-----+---------------------------|
      | dCR |      |      | 0.125 |     |  2 | 2.0 |                           |
      | oCR |      |      |       |   2 | -1 | 1.0 |                           |
      | CR  |    1 |      |       |     |    | 1.5 |                           |
      \-----+------+------+-------+-----+----+-----+---------------------------/

    The example on DMG-275 makes it clear they are rounding average CRs to the nearest integer (2.5 becomes 3 in the example), so an average CR of 1.5 should become 2 (which does NOT match the CR 1 reported in the MM). That said, these situations where a CR is midway between integers is obviously ambiguous ... a CR of 1.5 can probably reasonably be interpreted as either 1 or 2.
    Ack, my bad. Let me redo the wyrmling, I still have my python functions hanging around...

    Defensive CR: 2+1/8
    Offensive CR: 1

    Yeah, I match you. If I make the same assumption as for red dragons, a copper dragon wyrmling is CR 2. As expected for a dragon, if I instead calculate the offensive CR using melee accuracy, it goes up, to 2. And since the problem is that the offensive CR is too high, giving the wyrmling credit for the alternate breath effect won't help.

    If we abandon the official algorithm and try to do better via weighted averages, the offensive CR of the breath is 1/2 and the offensive CR of the melee is 1, for a weighted average of (1/2 + 1*2)/3 = 5/6, rounds to 1. So I think CR 1 is a fair assessment of the dragon, it just doesn't match the algorithm.

    Mind you, if the real way they made these blocks was playtesting, not the algorithm, that could also explain why weighted averages solves it better than the official one.

    What happens if you do a test run using weighted averages? It's the same for every dragon I've seen so far: calculate the offensive CR as if it only had the bread (ignore the recharge for now, we'll weight it later), calculate it for only the melee (not counting legendary or lair dpr), then produce round((breath+melee*2)/3). I'm curious how well it will match up in general.

  27. - Top - End - #27

    Default Re: Computing Dragon CRs from first principles

    Quote Originally Posted by quindraco View Post
    It takes 5 the first round, 10 the second, and so on and so forth. It's a gauss series running backwards - if someone is stabbed by the glaive every round, then after n rounds, they've taken 5n(n+1)/2 damage, which is quadratic in n.
    I think I'm saying damage per stab is linear, and you're saying total damage inflicted by all stabs is potentially quadratic in rounds if never healed. Is that right?

    In practice the damage per stab is small because it simply doesn't take five rounds to kill a Bearded Devil, nor will you get stabbed and fail a save every round, nor will you go five rounds without doing anything to fix five ongoing stab wounds. In actual play IME, Bearded Devil damage is rather poor, although their action denial isn't terrible if the target has a bad AC and a bad Con save and keeps pausing to heal.

  28. - Top - End - #28
    Barbarian in the Playground
     
    MindFlayer

    Join Date
    Mar 2008

    Default Re: Computing Dragon CRs from first principles

    Quote Originally Posted by meta-dnd View Post
    This is an entirely valid point (thanks for noting it!).

    Just quoting you to make sure you get pinged.

    There are multiple rounding algorithms, and I don't think the DMG clarifies which one they used. In particular, are you familiar with round half to even and round half to odd? They're commonly used to avoid statistical bias, and one of them is the default rounding mode in Python.

    They work the way you think they do, from the sound of it. So round half to even does this: round(1.5) = 2, round (2.5) = 2, round (3.5) = 4, and so on. Round half to odd does the opposite: round (1.5) = 1, round(2.5) = 3, round (3.5) = 3, and so on.

    Switching to one of them might bring you closer in line, if the super secret here is that they had a computer do the rounding for them and they forget to specify a rounding mode.

  29. - Top - End - #29
    Barbarian in the Playground
     
    MindFlayer

    Join Date
    Mar 2008

    Default Re: Computing Dragon CRs from first principles

    Quote Originally Posted by MaxWilson View Post
    I think I'm saying damage per stab is linear, and you're saying total damage inflicted by all stabs is potentially quadratic in rounds if never healed. Is that right?

    In practice the damage per stab is small because it simply doesn't take five rounds to kill a Bearded Devil, nor will you get stabbed and fail a save every round, nor will you go five rounds without doing anything to fix five ongoing stab wounds. In actual play IME, Bearded Devil damage is rather poor, although their action denial isn't terrible if the target has a bad AC and a bad Con save and keeps pausing to heal.
    I'm saying the wound deals more damage every time it's inflicted, and CR is calculated assuming all hits hit and all saves fail (then you modify for accuracy later).

    If every round you are stabbed with the glaive and every round you fail the save, and we ignore the beard, then on every round you will take 8 slashing damage, but the wound damage accumulates. So you take 5 DPR round 1 from your wound, then 10 on round 2 - at the end of round 2, you have taken 15 wound damage, not 10. At the end of N rounds, you have taken wound damage quadratic in N, not linear: 2.5N^2 + 2.5N (the 2.5 is due to the base damage being calculated as 5).

  30. - Top - End - #30
    Halfling in the Playground
    Join Date
    Jun 2020

    Default Re: Computing Dragon CRs from first principles

    Quote Originally Posted by quindraco View Post
    Just quoting you to make sure you get pinged.
    Oh, this sounds promising. I'm a novice with giantitp ... where do I get pinged? I'm not seeing any emails sent to my account. Does notification need to be configured, or am I pinged some other way?

    Quote Originally Posted by quindraco View Post

    There are multiple rounding algorithms, and I don't think the DMG clarifies which one they used. In particular, are you familiar with round half to even and round half to odd? They're commonly used to avoid statistical bias, and one of them is the default rounding mode in Python.

    They work the way you think they do, from the sound of it. So round half to even does this: round(1.5) = 2, round (2.5) = 2, round (3.5) = 4, and so on. Round half to odd does the opposite: round (1.5) = 1, round(2.5) = 3, round (3.5) = 3, and so on.

    Switching to one of them might bring you closer in line, if the super secret here is that they had a computer do the rounding for them and they forget to specify a rounding mode.
    Yeah, this issue is definitely a problem (my code has various flags to allow me to run the algorithm using various rounding strategies in various places, in case that is the reason for discrepancies ... so far I haven't found a combination of strategies that gets me close to their results).

    In some contexts it is clear (either from explicit text, or from the examples they cite) how rounding is supposed to happen. Average CR rounds to nearest integer (with 1.5 going to 2). DPR is truncated (54.6667 goes to 54, not 55). However, one open question is whether defensive CRs and offensive CRs (which are often fractional) should be rounded to integers before computing their average, or whether we should keep their fractional values, sum, and divide by 2. Conceptually, introducing two levels of rounding makes for less accurate results, but this whole strategy for computing CRs is rather approximate anyway. My impression so far is that they *did* round the dCR and oCR values before computing average CR.

    The fact that they are using inconsistent rounding strategies is really irritating ;-). The least they could have done was use the same strategy everywhere!

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •