GreyKnight asked me this morning “what are we doing for hit points?” There have been a few changes to them over the last year or so, and this conversation opened the door to consider them again.
I never considered making them random — I ditched that in D&D and given how Echelon works, they probably wouldn’t work so well here. Some previous formulae I’ve looked at (converted to Echelon terms):
- Con * BAB
- (level + Con) * (level + BAB) / 4
- (level + BAB + Con) * 5
I never found any of them quite right for me.
The first one made Constitution wickedly important for hit point totals. It’s great that the fighter types (full BAB) reliably have more hit points than the lower-BAB characters of the same Constitution, but Constutition was still had an overpowering effect.
The second one held a lot of promise, especially when the BAB could be interpolated (the hit point gains for improving Con and improving BAB were very smooth), but interpolating BAB is challenging in Echelon because you’re not constrained to an advancement path and thus cannot predict what the BAB will be next level. However, while it’s not difficult math, it’s more than I want to do.
The third one looked okay and had a nice even progression in both directions (increasing Constitution was worth as much as increasing BAB or level). At the high end hit point totals are roughly in line with D&D 3.x — the toughest Echelon 24th-level character (BAB +24, Con 9) will have 285 hit points, very close to the toughest D&D 3.5 Barbarian (about 295). At the low end, though, the hit points are much, much higher (95 hit points for a Con 9 full-BAB character, 50 for a Con 3 half-BAB character). While this is close to the behavior I’m looking for, the numbers are quite a bit higher than I want. The hit point curve is too shallow for my taste.
I’ve come up with another option that looks better to me, and has some interesting behavior.
New Hit Point Calculation
The variations above that I liked included a multiplier for level; I want level to be a significant element of any hit point calculation, because Higher Level is Better. The third option above has level weighted more heavily than anything else — functionally the formula is equivalent to (level * 1.5+martial training bonus + Constitution score)*5 — but otherwise the hit point curve is extremely flat. What if we bring level back in as a multiplier in some fashion, so hit point calculations get better… each… tier.
Hmm.
- (level + BAB + Con) * tier
where ‘tier’ is from [1..6] (so far).
This brings the hit point totals back to something reasonable-looking at the low end (the hypothetical buff fighter mentioned above has 38 now, while the Con 3 wizard has 20), while the high end is actually higher than before (the same fighter at 24th level instead of fifth has 342, while the same wizard at 24th now has 234). It also works better at the lowest levels (previously the least you could have — level 1, 1 Con, no BAB — was 10 hit points, and the most was 55 for level 1, Con 9, BAB +1); now these would be 2 and 11 respectively.
This also brings with it an interesting behavior. Normally the hit point gains for each level are pretty consistent (a full-BAB character gets 2*tier hit points per level within a tier, a half-BAB character gets 2*tier hit points or 1*tier hit points, alternating). When you change tiers, though, the multiplier increases with it, and that makes for a rather larger jump. Our hypothetical tough-guy, on going from seventh level to eighth, gets 4 hit points… but when he goes from eighth to ninth, he gets 31. The exact number changes depending on BAB and Consitution, but the hit points gained on entering a new tier are markedly higher than at lower tiers.
Calculated Hit Points
I’ll show only the full-BAB progression, these tables are a pain to copy… I suppose instead of using Excel to Word to the blog I should just break down and script it in Perl or something. This should be sufficiently indicative of the results produced by this formula.
Level | BAB | Tier# |
Constitution Score |
|||||||||||
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | |||
1 | 1 | 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
2 | 2 | 1 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
3 | 3 | 1 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
4 | 4 | 1 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
5 | 5 | 2 | 22 | 24 | 26 | 28 | 30 | 32 | 34 | 36 | 38 | 40 | 42 | 44 |
6 | 6 | 2 | 26 | 28 | 30 | 32 | 34 | 36 | 38 | 40 | 42 | 44 | 46 | 48 |
7 | 7 | 2 | 30 | 32 | 34 | 36 | 38 | 40 | 42 | 44 | 46 | 48 | 50 | 52 |
8 | 8 | 2 | 34 | 36 | 38 | 40 | 42 | 44 | 46 | 48 | 50 | 52 | 54 | 56 |
9 | 9 | 3 | 57 | 60 | 63 | 66 | 69 | 72 | 75 | 78 | 81 | 84 | 87 | 90 |
10 | 10 | 3 | 63 | 66 | 69 | 72 | 75 | 78 | 81 | 84 | 87 | 90 | 93 | 96 |
11 | 11 | 3 | 69 | 72 | 75 | 78 | 81 | 84 | 87 | 90 | 93 | 96 | 99 | 102 |
12 | 12 | 3 | 75 | 78 | 81 | 84 | 87 | 90 | 93 | 96 | 99 | 102 | 105 | 108 |
13 | 13 | 4 | 108 | 112 | 116 | 120 | 124 | 128 | 132 | 136 | 140 | 144 | 148 | 152 |
14 | 14 | 4 | 116 | 120 | 124 | 128 | 132 | 136 | 140 | 144 | 148 | 152 | 156 | 160 |
15 | 15 | 4 | 124 | 128 | 132 | 136 | 140 | 144 | 148 | 152 | 156 | 160 | 164 | 168 |
16 | 16 | 4 | 132 | 136 | 140 | 144 | 148 | 152 | 156 | 160 | 164 | 168 | 172 | 176 |
17 | 17 | 5 | 175 | 180 | 185 | 190 | 195 | 200 | 205 | 210 | 215 | 220 | 225 | 230 |
18 | 18 | 5 | 185 | 190 | 195 | 200 | 205 | 210 | 215 | 220 | 225 | 230 | 235 | 240 |
19 | 19 | 5 | 195 | 200 | 205 | 210 | 215 | 220 | 225 | 230 | 235 | 240 | 245 | 250 |
20 | 20 | 5 | 205 | 210 | 215 | 220 | 225 | 230 | 235 | 240 | 245 | 250 | 255 | 260 |
21 | 21 | 6 | 258 | 264 | 270 | 276 | 282 | 288 | 294 | 300 | 306 | 312 | 318 | 324 |
22 | 22 | 6 | 270 | 276 | 282 | 288 | 294 | 300 | 306 | 312 | 318 | 324 | 330 | 336 |
23 | 23 | 6 | 282 | 288 | 294 | 300 | 306 | 312 | 318 | 324 | 330 | 336 | 342 | 348 |
24 | 24 | 6 | 294 | 300 | 306 | 312 | 318 | 324 | 330 | 336 | 342 | 348 | 354 | 360 |
25 | 25 | 7 | 357 | 364 | 371 | 378 | 385 | 392 | 399 | 406 | 413 | 420 | 427 | 434 |
26 | 26 | 7 | 371 | 378 | 385 | 392 | 399 | 406 | 413 | 420 | 427 | 434 | 441 | 448 |
27 | 27 | 7 | 385 | 392 | 399 | 406 | 413 | 420 | 427 | 434 | 441 | 448 | 455 | 462 |
28 | 28 | 7 | 399 | 406 | 413 | 420 | 427 | 434 | 441 | 448 | 455 | 462 | 469 | 476 |
If you look at the highlighted rows, you’ll notice a larger jump in the hit points than in other levels. For instance, Con 8 gains two hit points per level up to fourth, then twenty, then four per level up to eighth, then thirty, and so on.
At first this bothered me. I’ll be honest, I like smooth functions. However, on reconsideration it’s coming to grow on me. If I compare two levels four levels apart — same point in different tiers — the hit point totals look okay as we go. The sudden jump bothered me… until I remembered that Higher Level is Better. This is not a game about linear growth, and this jump happens right when you change tiers. It occurs to me that this is entirely appropriate to the theme of the game.
Congratulations, you’re now a Hero. Have a bunch more hit points, you’re now much more hard to kill than you were last level.
That entering a new tier suddenly makes someone more hard-to-kill than just going up a level within a tier is really coming to appeal to me. The hit point totals run a little higher at the high end so I’ll have to adjust for that (not terribly difficult, really — it looks like making level-appropriate attacks do 10% more per tier will deal with that) to keep the same relative attacks-per-kill. If I want to.
All in all, as strange as that jump looks, I like how it fits the game. I’m going with it for now.
Most of the “jump” comes from the level*tier term (most of the rest comes from BAB*tier, and a generally-lesser amount from Con*tier). If you wanted to reduce the jumpiness you could note that level*tier is character-independent and make a table for it, which you could then smooth the values of (say level*level/4) without requiring extra maths from players (they just add (BAB+Con)*tier to the table value).
i must say, i like the jump. i wonder if i could work something like that into my 4e game, actually.
I could do that, I suppose… but I have to admit I actually like how this looks.
However, giving your suggestion a quick look (level*level/4+(BAB+Con)*tier)… smoother, but still some biggish jumps on changing tiers.
floor(level*level/4)+ceiling((BAB+Con)*level/4) looks really smooth and regular for full BAB, but gets a little choppy again for +1/2 or +3/4 BAB… and is a kind of ugly formula of people have to remember it.
ceiling((level+BAB+Con)*level/4) is quite nice for full BAB, again gets choppy and a little irregular for less than full BAB.
Any of the above would be decent variations, I think. The last one (because that’s the one I still have up in Excel) shows the same values at the top of each tier and lower values at the beginning; the rate of change accelerates at higher tiers, but within a tier it’s pretty consistent for full BAB. With lower BAB progressions there are fewer hit points gained in those levels that don’t have an improvement in BAB (which should be a rasonable expectation).
I think this could be a good alternative, but I have to admit I like the tier-based one giving a big jump on entering a new tier. I’ll keep this in mind, though, since my preference right now may just be emotional.
I like it.
suggestion from tussock: tier*(BAB+Con).
Not sure how I feel about this. Brings the hit point calculations a little lower than D&D 3.x standards (which is okay by me) but increases the relative value of Constitution (which I was trying to reduce).
Interim conclusion: stick with this one, I like how it looks. However, document all four options, because they show largely similar characteristics and totals, and say different things about surviving damage.
Tier*(level + BAB + Con) is comparable to
ceiling[Level * (level + BAB + Con)/4].
Identical at levels divisible by 4, which seems to be where you like the values, and otherwise the same thing smoothed.
I was just looking at some numbers for “hits to kill”, based on the number of hits with damage d6/level needed to reach hp 0. In general:
Using Doug’s formula immediately above yields basically parallel straight lines for hits-to-kill at different Con values.
Using the one from my first comment yields something similar to yours but hits-to-kill within a tier has a slight upward trend instead of downward, except at Basic tier and for high-Con characters at Expert. Crossing a tier boundary gives ~½ more hits-to-kill here.