Showing posts with label PC. Show all posts
Showing posts with label PC. Show all posts

Wednesday, January 11, 2012

Game Math: Attack of the average adventurers

How hard does an adventurer hit? The underlying math behind monster stats in D&D 4E is well known by this point, but working out the numbers for player characters is a much trickier proposition, due to the insane amount of customizability that the game offers. Indeed, if one looks to the most extreme build options and loopholes available out there, we come up with characters that can one-shot standard monsters of their level, and it’s even possible to engineer wizards capable of dealing hundreds of damage in a single turn... while charging with a melee weapon.

Since the optimized scenarios present so much variability, I want to focus on the most basic builds. What kind of numbers should you expect from characters of a certain level, provided they have the essential options and gear, but nothing else to boost their attacks? The answer is in the table below:

Note that this builds on some previous articles, like my study on basic attacks, and on character survivability. Damage Per Round, or DPR, is defined here.

I will devote the rest of the article to analyze these numbers, and explain how I came up with them. For now, keep in mind that although it is possible to have characters with attack stats slightly below these, it won’t be a common scenario - in most games, you can expect PC attacks to deal at least as much damage as shown in the table, if not considerably more.

Building our baseline adventurer

My philosophy for building the reference character was to give it all the offensive resources that can be considered essential - and nothing more. Any character built without particular attention to damage dealing should have attack stats very similar to those of the reference character, whereas damage-focused PCs (even if not particularly optimized) should easily outperform it. For reference, I also added damage numbers for a baseline striker (adding just the striker extra damage class feature), though in practice you will very rarely see a striker character which doesn’t devote feats, powers and equipment to improve his attacks.

Following these ideas, the character was build under these assumptions:

  • For simplicity, we only examine the character at certain critical levels: 1, 6, 11, 16, 21, 26, 30.
  • Starting 18 on primary ability score, with the usual boosts for levelling up. At epic, the PC gains a +2 to his ability score from an epic destiny .
  • At-will attacks are implement vs For/Ref/Will or weapon (with +2 proficiency) vs AC (same hit rate), and on a hit deal 2d4 + primary ability modifier damage (4d4+mod at level 21).
  • Encounter attacks are like at-will, but on a hit they deal 4d4+mod damage (levels 1,3,7), 6d4+mod (levels 11, 13,17) or 8d4+mod (levels 23,27).
  • Magic weapons/implements by level: Level 6 (+2), Level 11 (+3), Level 16 (+4), Level 21 (+5), Level 26 (+6). Extra crit damage is 4 per plus (rounded for convenience).
  • Only two feats are considered: Weapon/Implement expertise, and Weapon/Implement focus. Both are gain at level 6.
  • Magic items granting item bonus to damage (like Iron Armbands of Power or Rod of Ruin) are assumed. Item bonus to damage by level is: Level 6 (+2), Level 16 (+4), Level 26 (+6).
  • For the striker damage numbers, a class damage bonus of +4/tier is added.
  • Character themes are not considered.


Most of these points represent very common choices. The use of 2d4 for attack damage is unusual, but I chose it because the most common damage dice are d8s and d10s, so this is an intermediate point between those, with the advantage of averaging an integer value ( 5), allowing for much cleaner results. The starting 18 ability score is more or less standard (though 20s are also common). Likewise, the magic weapon/implement progression and use of expertise feats are pretty much universal. The most controversial points are probably the addition of weapon/implement focus and item bonuses to damage. Focus feats are often ignored at lower levels (though usually because players take superior weapons instead, wich are roughly equivalent), but tend to become too tempting to pass on by paragon tier. As for item bonuses to damage, virtually every character who can take them does so, though certain builds (i.e. implement PCs not using staves) have a hard time acquiring them. I have come to accept that game math works better with them, to the point of giving them for free as a house rule.

Note that attack powers (both at-will and encounter) have been greatly simplified. Non-damaging effects of the attacks are ignored, and we assume that the attacks themselves don’t provide extra damage, above that of a basic attack (for at-wills) or a basic attack plus extra damage dice (for encounters). Power damage shows great variance, though a very common implementation for attacks with extra damage consists on adding a secondary ability modifier to the damage roll, which can be roughly approximated as an extra 3 damage per tier (or about 25% more damage than the attacks in the table).

A look at the numbers

A spreadsheet with the calculations used for the stat table can be found here.

Some quick facts that can be derived from the table and spreadsheet:

  • Hit rate against same level monsters averages 65%.
  • Base damage of strikers is about 30% more than that of non-strikers.
  • Average base damage actually decreases a bit between level levels 26 and 30.
  • Interestingly, crit damage is almost exactly twice the normal damage for most levels.

One very interesting parameter that can be calculated from these attack stats is the average time it takes for a PC to kill a monster, which allows us to estimate how many turns combat encounters usually last:

And for striker PCs:

These tables show the number of turns that the reference character would need, on average, to kill a skirmisher monster. The PC first uses all his encounter powers, and then attacks with his at-wills. Daily attacks were not considered because they are hard to characterize and not always available. Action point usage is also ignored - for the purposes of this table, using an action point is equivalent to taking an extra turn.

In the tables and spreadsheet, we see that:

  • Non-strikers take 4-6 turns to kill a monster at heroic, 7-8 at paragon, and 8-10 at epic.
  • Strikers take 25% less turns.
  • Very challenging encounters can take almost twice as long.
  • The contribution of encounter attacks amounts to about 1 turn of saved time.

An important point about these numbers is that they suggest that combat at paragon and epic tiers takes too long. In my opinion, easy encounters (between level and level +1) should last about 4 turns at heroic and 5-6 turns at paragon and epic, to allow characters to use all their attacks without requiring them to spend a long time spamming at-wills. However, it should be noted that the deviation between the stats of our base character and actual damage-focused PCs increases with level - in my experience, it is perfectly possible to build a party of characters that end fights in reasonable times with little or no optimization effort.

Read More......

Thursday, May 13, 2010

Character Survivability Calculator (advanced)

UPDATE (16/05/10): Fixed script formulas for sustained damage)
UPDATE (01/12): Updated for MM3 monster stats

I've been making some improvements to my calculator of character survivability, and now we can incorporate PCs with attacks that grant temporary hit points, resistances, or defense bonuses on a hit, that depend on the PC's chance to hit. Defender characters (who are typically the most interested in measuring their endurance) should find this particularly useful, since most make regular use of these mechanics.

I've chosen to focus exclusively on effects that a character can grant himself, rather than external bonuses and healing. That stuff is left for future posts. If your character isn't interested in gaining THPs and the like, you'll probably prefer the basic version of the calculator, which is still available here.

An explanation of the new formulas used will be added soon.

Character Stats:
HP:Resistance: Regeneration:
AC:For:Ref:Wil:
Conditional damage mitigation on a hit:
Bonus to AC:, to For:, to Ref:, to Wil:
Resistance/THP: Attack Bonus: vs
Chance to Mitigate:Sustained THP?:
Chance to mitigate damage:
Chance to sustain THP:
Monster Stats:
Level: Type:
Marked Combat Advantage
Average monster DPR:

Number of turns it takes a Skirmisher monster of level 1 to kill you:

Attacking vs AC: vs For: vs Ref: vs Wil:
Overall survivability:turns.

Chance for a Skirmisher monster of level 1 to hit you:

Attacking vs AC: vs For: vs Ref: vs Wil:
Overall Hit %:
Read More......

Monday, April 19, 2010

Character Math: Measuring Survivability in Turns to Die.

Most of the current game theory for D&D 4E is focused on measuring and comparing each character's offensive prowess. There are several reasons for this: damage-dealing is the most common role in adventuring parties, and quantifying the result of an attack is relatively straightforward. Also, players just love to destroy monsters (and peers) with absurdly high damage numbers. But even the most well-oiled killing machine needs some degree of defensive capabilities, lest his enemies knock him down in a single turn (as certain players in my group can attest).

But how do you measure survivability? It's trivial to come up with damage as the universal unit for comparing attacks, but which one should be used for toughness? It should factor in Hit Points, Armor Class, and the other three defenses - and also mechanics such as resistance or temporary hit points. After considering the issue for a while, I think I have come up with a good solution: we can (and should) calculate the number of turns that a character can endure monster attacks before becoming unconscious. The basic formula would have the following form:

Survivability = Character HP / Enemy's average attack damage

or, abbreviated:

S = HP / monster DPR

S (survivability), as defined above, provides a good estimate of the effort required to bring a character down. Players can use it to have a better knowledge of the resilience of each member of a party, or of different builds for a certain character. As an example, it would be a useful tool to determine whether it is better to invest in higher defenses, hit points, or resistance, at any given time.

One disclaimer, though: there are aspects of a character's resilience that aren't covered by this stat. Specifically, it doesn't describe how well a character staves off negative conditions - for that, you need to resort to AC and the other defenses. For this reason, when you see two characters with the same survivability, both will be able to endure the same number of attacks, but the one with higher defenses (and, conversely, lower HP and resistance) will suffer less from hindering effects.

This Survivability formula implicitly assumes that the enemy attacks are targeting a specific defense (since we wouldn't be able to calculate average damage otherwise). For this reason, a character will actually have four different S values: S(AC), S(For), S(Ref) and S(Wil). We can define overall survivability (or just S) as the weighted sum of all defense-specific S values:

S= 1/2* S(AC) + 1/6* S(For) + 1/6*S(Ref) + 1/6*S(Wil)

Note that Fortitude, Reflex and Will are all worth the same, and AC counts as much as the three together. This roughly reflects the frequency with which monsters tend to attack each defense - it may not be exact, but I think it's close enough.

The mandatory math section

If you want to play a bit with the idea of survivability, find out actual values for your PCs, and see how long a bunch of theoretical Skirmishers of your level would need to kill you, the quickest way is to go to my online Survivability calculator and start introducing stats. On the other hand, if you are curious as to how it works, this is how the formulas break down:

S(defense) = HP / monster DPR

,where HP depends on the measured character, and monster DPR is (as shown in my monster DPR post, considering standard damage for a skirmisher):

DPR=Hit rate * (8 + 0.5*Level)

I have ignored the monster crit damage because the difference is minor, and it somewhat simplified the code. I'll add it back someday - for completeness' sake, this is how it would look like:

DPR=Hit rate * (8 + 0.5*Level) + 0.225 + 0.01 *lvl

We still need to find out the hit rate. According to the formulas from my post about AC normalization, it would be:

Hit rate (AC) = (26-nAC)/20
Hit rate (Def) = (24-nDef)/20


Or, using plain AC and defenses instead of normalized ones:

Hit rate (AC) = (26 + level -AC)/20
Hit rate (Def) = (24 + level-Def)/20


This leaves us with:

S(AC) = HP*20 / (26 + level -AC)*(8 + 0.5*level)
S(Def) = HP*20 / (24 + level -Def)*(8 + 0.5*level)


Finally, if we want to take a character's resistances into account, we just need to substract any resistance value from the hit damage:

S(AC) = HP*20 / (26 + level -AC)*(8 + 0.5*level - resistance)
S(Def) = HP*20 / (24 + level -Def)*(8 + 0.5*level - resistance)


The above formulas are accurate except for extremey high values of resistance. In particular, any resistance greater than the monster bonus to damage will not be as effective as the formulas show, because monsters never do negative damage. This way, a creature which deals 1d10-5 damage after substracting resist would not average 0.5 damage (5.5 average from the die, -5), but a few points more than that. This is a rare occurrence because such high resistances are very hard to get outside of short term powers, but you should be aware that it exists.

Future refinements

In addition to adding critical damage, there are a few improvements that could be added to this model (and to the calculator!). The most urgent would be the calculation of S values for characters (usually defenders) that can gain temporary hit points each time they attack. This is slightly more complicated than the basic case, as it depends on the character's own hit rate, and varies depending on the number of attacking enemies. I'll write about that in the following days, and add it to the code as soon as I can.

Apart from that, I'd like to hear some reader feedback. Can you think of ways to improve this model? Let me know!
Read More......

Friday, April 16, 2010

Character Survivability Calculator

Update: A more advanced version of the calculator has been released, featuring compatibility with temporary hit points, regeneration, and defense-boosting attacks. You can find it here.

Here is a tool I've been working on lately. Just type in your PC's stats, and it will calculate the time a skirmisher monster of a given level needs to bring you to 0 HP. It's still a bit rough, as it doesn't take into account crits, temporary HP, or high resistance values. Still, I have found it both useful and entertaining.
Expect discussion of the underlying math, the approximations involved, and the (brand new!) concept of character survivability in an upcoming post. Until then... enjoy!
Note: I have tested this with Firefox and Chrome. Unfortunately, it doesn't seem to work yet with Explorer, but I'm working on it.

Character Stats:
HP:Resistance:
AC:For:Ref:Wil:
Monster Stats:
Level: Type:
Marked Combat Advantage
Average monster DPR:
Number of turns it takes a Skirmisher monster of level 1 to kill you:
Attacking vs AC: vs For: vs Ref: vs Wil:
Overall survivability:turns.
Chance for a Skirmisher monster of level 1 to hit you:
Attacking vs AC: vs For: vs Ref: vs Wil:
Overall Hit %:
Read More......

Monday, February 15, 2010

Character Math: Damage per round

Today I'm starting yet another article series, this time devoted to the calculation of a player character's statistics. The idea is to provide ways to measure and compare different aspects of a PC's performance, much like the post on attack and defense normalization, a while ago. I have a few cool formulas lying around to quantify stuff that hasn't really been explored in depth... but I should start from the beginning. So this post will focus on damage dealing, which is pretty much all that is looked at, nowadays. You will find some basic definitions and formulas, as well as guidelines for calculating damage in some common special scenarios.

Most message boards have adopted the term "Damage Per Round" (DPR) as a measure of the amount of damage that can be dealt during a game turn. Although I can't tell for sure where this expression originated, it does look awfully similar to the "Damage Per Second" (DPS) commonly used in MMORPGS.

Definitions
  • Damage per round (DPR): Average damage inflicted by a character to a single enemy in a round. It takes into account hit rates and extra damage from critical hits. DPR typically measures the abilities of a single character, so bonuses from other party members are ignored.

We usually clasify DPR in two types, depending on whether it involves a character using spendable resources or not: At-will DPR, and Nova DPR.

  • At-Will DPR: Damage per round that can be achieved by using exclusively at-will powers. Bonuses from daily or encounter effects do not apply, and spending of action points or other consumable resurces is not considered. Exceptionally, an encounter power granting encounter-lengh effects can be considered a valid modifier because of being permanently active.

    At-will DPR is the most commonly used metric in optimization boards. It isn't the most realistic estimation of actual PC damage, since the contribution of encounter and Daily powers is usually very significant. On the other hand, it's relatively straightforward to calculate, and a reliable indicator of damage in the worst case scenario for a damage dealing PC.
  • Nova DPR: Damage that can be dealt in a round with all the tools that a single character has at his disposal, including action points and daily powers. Used to measure a character's maximum offensive potential.
In addition, any DPR value can be against a single target (the default assumption) or against multiples (Area DPR).
  • Area DPR: When attacking multiple enemies, damage that can be dealt to each of these enemies in a round. Area DPR measurements should specify what kind of area or how many enemies can be covered: "Area DPR (area burst 1)" or "Area DPR (2 targets)".

Calculating DPR

The DPR of a character making a single attack each round is equal to the average damage of that attack. For scenarios with more than one attack per round, see below.

Average Damage of an attack.

The following calculations assume that a character is attacking a standard skirmisher monster of his own level. If you want to find out DPR values against different types of enemies, you will need to adjust Hit Rates accordingly.

Average Damage= (Hit rate * Average Hit Damage) + (1 - Hit Rate) * Average Miss Damage) + Crit Rate * Extra Crit Damage

Or, abbreviated:

AD= HR*Dh + (1-HR)*Dm + CR * Dc

  • Hit rate (HR), chance to hit a Skirmisher Monster of the same level. Can be calculated from here. If an attack has an intrinsic bonus to the attack roll, add it to the HR (+0,05 per extra point).

  • Crit Rate (CR), chance to score a critical hit.

    Roll to crit - Crit rate
    Crit on a 20 - 0.05
    Crit on 19-20 - 0.1
    Crit on 18-20 - 0.15

  • Average Hit Damage (Dh). To calculate, add the average value of all rolled dice, and any damage modifiers that apply.

    Die - Average value
    d4 - 2.5
    d6 - 3.5
    d8 - 4.5
    d10 -5.5
    d12 -6.5

    The Brutal property adds 0.5 to the average value of a die per point of brutal.

  • Average Miss Damage (Dm). Usually 0, but can be half the hit damage (Dh/2) for certain Daily attacks, or a fixed falue in certain cases.

  • Extra Crit Damage (Dc), or how much more damage is dealt by a critical hit, on average, in excess of the average damage of a normal hit.

    Dc = Dh - Average Crit Damage.

    (Average Crit Damage is the sum of all maximized damage dice, plus damage modifiers, plus extra crit dice).

Multiple attacks

When your character can make several attacks during a single round, calculate separately the average damage of each one and add them together.


Conditional attacks

When you have an attack that only triggers after hitting with a previous power, multiply that attack's Average Damage by the Hit Rate of the previous attack.

Attacks that trigger on conditions not completely under your control, such as a Fighter's Combat Challenge should not be considered on DPR calculations.

Automatic damage

If an attack deals automatic damage in addition to, or instead of a conventional attack roll, that damage is directly added to the total Average Damage.

Multiple rolls

If an attack allows you to roll twice and use the highest value, the effective Hit Rate and Crit Rate are increased. You can calculate these new values, HR' and CR' from the original HR and CR as follows:

HR' = HR * (1-HR)
CR' = CR * (1-CR)

Once-per-turn damage bonuses

Most striker classes have features that deal extra damage once per round. When calculating DPR, you can add this extra damage to Average Hit Damage only if you are making a single attack per round. When making multiple attacks, calculate this extra damage separately, as follows.

Striker damage contribution = Chance to hit once * average extra damage

The chance to hit once (H1) depends on the number of attacks and the Hit Rate HR:

2 attacks: H1= HR * (1-HR)
3 attacks: H1= 1 - (1-HR)*(1-HR)*(1-HR)
N attacks: H1 = 1 - ((1-HR) ^ N)
Read More......