Showing posts with label survivability. Show all posts
Showing posts with label survivability. Show all posts

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......

Friday, April 30, 2010

Character survivability across levels

After defining the concept of character survivability (and providing a tool for calculating it), I think it's time to explore its applications. Today I'll study the S (survivability) values of three different characters, representative of each party role: a defender, a controller, and a striker/leader (since both roles share similar amounts of HP and defenses). I'll compare their progression across the 30 levels of the game, examining survivability for individual defenses as well as overall survivability.

I'd like to find out whether the relative resilience of each role remains stable throughout tiers, or it presents large variability due to scaling differences. Also, I want to analyze absolute survivability values, and their implications on combat length - having defined the metric as the number of turns until a PC is killed by a monster of the same level, these numbers should provide a very rough estimation (i.e. before accounting for healing and stunned monsters) of the maximum duration of an encounter of the PC's level. The minimum duration, of course, would be dependant on the party DPR... but that is a story for another day. Let's proceed with the experiment.

The sample characters.

One requirement of this study is to have a set of sample characters whose survivability values could be representative of their role. Since defensive statistics can vary considerably, even for a given class/race combination, depending on the choice of feats and items, this is no trivial task. In order to keep complexity at a manageable level, we will make the following assumptions:

- Each character starts at level 1 with average defensive stats for their role.
- It is assumed that the character takes the feats and ability increases necesary to keep AC stable as they level up. Other than that, no survivability-boosting feats or items are considered. Any actual PC who invests in survivability should show values above these, particularly at higher levels.
- The leader role and striker role are considered equivalent from a survivability point of view. From now on, when I mention the "striker" character, it applies to either role.

This is how we assigned values for each statistic:

Hit Points
- Defender: 30 + 6 per level above the first. This assumes a starting Con of 15
- Striker: 24 + 5 per level above the first. This assumes a starting Con of 12
- Controller: 22 + 4 per level above the first. This assumes a starting Con of 12.

For simplicity, any posible increases in Constitution haven't been taken into account. The impact should be minimal, relative to total amounts of HP.

AC
- Defender: Normalized AC of 18, equivalent to AC 19 (scale + shield) at level 1.
- Striker: Normalized AC of 15, equivalent to AC of 16 (chain, or leather and +4 starting ability modifier) at level 1.
- Controller: Normalized AC of 15, equivalent to AC of 16 (chain, or leather and +4 starting ability modifier) at level 1.

It is impossible to keep normalized AC completely stable across levels, but the deviations are usually minor. I have opted for using constant values because these variations depend more on the choice of heavy or light armor than on actual role, and are usually compensated over a character's whole career.

Non-AC Defenses

For Fortitude, Reflex and Will, I decided to make a small abstraction, and consider only "good defenses" and "bad defenses", regardless of how they were allocated. I have also considered them role-independent, so all three characters show the same progression. The progression itself was taken from the values generated for the character PC2 in this article. PC 2 is a character with 2 "good" defenses, and we defined it as follows:

"The second sample character, PC2, has well-balanced NADs, with only one bad defense and a starting ability array of 16, 16, 12, 12 (pre-racials). This character would have racial bonuses to both primary and secondary abilities, and a +2 class bonus to the best defense, for starting NAD scores of 16, 14, and 11 (from best to worst defense). This character could be a Whirling Barbarian or a Chaos Sorcerer, among others."

Only the best and worst defense for PC2 have been used (as "good" and "bad" values, respectively), discarding the middle one. For the overall survivability of our three characters, we will make two calculations: one assuming they have two good defenses, and another assuming they have two bad ones. This introduces a small error, since the best defense of a character tends to be slightly higher if it is the only good one but, again, the gain in simplicity outweights the loss in accuracy.

The results

This graph shows the Survivability progression for attacks against AC:



This is where the greatest differences among roles show up. As we can see, the values for defenders roughly double those for controllers. As for strikers they start out very close to controllers, but slowly overtake them as the difference in HP grows more important over levels, capping at around 20% more at level 30.

Also interesting is the fact that absolute survivability values experiment considerable growth, more than doubling between level 1 and 30. This is in spite of the fact that the monster hit rates remain constant - the relation between PC hit points and monster damage becoming more and more favorable to the PCs.

The following figures show S for "good" and "bad" non-AC defenses:






Since non-AC defenses don't vary depending on role, the relative S values here are much closer, reflecting only the HP diferences of each role. Keep in mind that normalized defenses are actually diminishing as the character levels up (specially for the bad defense), but overall survivability still grows because of the unbalance between PC hit points and monster damage. Nevertheless, this growth is not as pronounced as AC survivability, and values at maximum level end up slightly below double those of level 1. Also of note is the fact that defenders are much more vulnerable against NAD attacks than against AC attacks, whereas strikers and controllers find their AC roughly equivalent to their good NADs. Bad defenses, as expected, are terrible for all characters, though it is interesting to see that their S values remain more or less constant, rather than getting worse as the characters level up.





Finally, we can average the values shown above to figure out the overall survivability of each character. As we can see, the differences between the builds with 2 good NADs and 1 good NAD aren't actually very significant, with regards to overall survivability. This can be explained by the fact that having an additional good NAD will only come up on 1/6 of attacks. Nevertheless, these figures hide other negative consequences of bad NADs, such as the higher variability among encounters (increasing the chance that enemies auto-hit you), as well as a huge vulnerability to attacks that inflict status effects (as opposed to raw damage, which is what S measures).

It is also possible that the coefficients used to average overall S (1/3 for AC, 1/6 for other defenses) need to be adjusted at paragon and epic tiers, since there seems to be a greater amount of NAD attacks for monsters of these tiers. However, since I lack solid data on that matter, I'll stick with my original approximation until I find some statistical analysis of the different monster manuals.

Conclusions

The relative resilience of the different roles is more or less as could be expected, with defenders being twice as tough, and controllers falling slightly behind strikers. However, we must remember that these are just baseline values - for real builds, non-defenders tend to have a lot more potential for improvement, specially for AC, so the gap with a defender should be much narrower if a player decides to invest in resilience. On the other hand, the temporary hit point gaining of some defenders are more rare among other roles, and would grant them an edge. The same could be said of damage resistance. I'll try to talk about this in a future post.

As for the implications of survivability on encounter length, we find that a group of same-level monsters will need more than twice the amount of time to kill a level 30 party, compared to one of level 1. That is, if the level 1 PCs can expect the monsters to defeat them after 6 or 7 turns of combat, the level 30 ones would live for more than a dozen turns. That is, of course, assuming that the PCs just stand around doing nothing - in an actual encounter, PCs will get healed, and monsters will gradually die, so the real time before the defeat should be significantly higher.

We can also apply these results to analyze the effect of focused monster attacks on a single character. Using the standard of 5 characters per party, the monster group would be able to knock out a level 1 non-defender in a single round, whereas the defender would survive for another round. At epic tier, the non-defender would endure 2 whole rounds of punishment, and the defender more than 3.
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......