Part 1 – Part 2 – Part 3 – Part 4 – Part 5 – Part 6 – Part 7
Sub-part 1 (of 3?) on TACH0
A note & update on what’s written below:
All this, including what came before and is coming after, is extremely convoluted and confusing to read, even for me. But the purpose wasn’t to create a well organized and easily readable analysis of some problem. The purpose instead was to chart as precisely as possible my own journey. To reproduce the order of every step, in the way they happened. To follow this path, along with all the winding sidetracks, and doubts, and switchbacks, and dead ends. It is extremely convoluted to read, but it is meant to preserve the fun of the curiosity & discovery.
It reflects my own preference: I don’t want to read an history book, I want to read about the personal journey of the historian. Traverse history by digging new paths.
I should probably splinter this to some specialized forum. There are a few but I have no idea where all this mechanical wanking might be more tolerated… While I’ll probably keep here some analysis about the older stuff because if I do that elsewhere and start making assumptions they’d probably skin me alive.
I was quite satisfied with what I wrote above and the turning around of the system I currently use, but as it often happens I read something else and suddenly all the doubts are back and I have to reconsider everything from the start. In that endless cycle.
But before going there, there’s something else to say about the THAC0 and its alternative(s).
Summarizing, the classic THAC0 is inelegant because it’s hard to remember intuitively all its aspects. You have a descending THAC0 value, when you level up, that depends on the class. Then descending Armor Class you have to subtract from that first value. But not always because AC can go below zero, and so in that case you have to add the number to your THAC0. It’s not that complex but it never gets “smooth”. You often bump into some mental hiccup when you try to straighten these ascending and descending scales.
This is generally all very obvious and plain but while writing this I realized a few more things. There’s a difference between knowing whether you hit or not, and knowing the probability of the roll.
In that standard THAC0 roll you can already “embed” some calculations. Strength bonus and eventual magical weapon bonus can already be subtracted from the total before combat starts. Whereas in the other method your attack bonus will have to be added every time to the roll, because the Target Number is fixed. So the first system is compressed to a subtraction + comparison, while the second system is still addition + addition + comparison. (one subtraction VS two additions, now it looks more balanced)
It doesn’t stop there. That’s to know whether you hit or not, but to know your basic chance you need to know the number you need to roll on the d20. In the first method you already know. The single subtraction gives you the raw TN to roll. Instead in the second method you need to add attack bonus to AC, THEN subtract the result from 20. That gives you the actual TN to roll on the die. Here it becomes one subtraction VS addition + subtraction.
Let’s see, you ultimately want to know the number you need to roll on the die, so that’s the variable to find:
1a. roll + attack bonus = THAC0 – AC
1b. (becomes) roll = cumulative THAC0 – AC
The THAC0 and attack bonus can be aggregated because they are both going to be static. The variable parts that cannot be pre-calculated are the die roll and the AC of the target.
In the second method you have, instead:
2a. roll + attack bonus + AC = 20
2b. roll = 20 – (attack bonus + AC)
2c. roll = (20 – attack bonus) – AC
You could aggregate the attack bonus to 20 and write it down, because they are both static. But it goes against the grain of this formula. So that you have two different ones. One to know if you hit, and another to know the odds (the roll).
I thought there wasn’t anything else to say in what I wrote above. Not only there was more to say, but it even lead to the opposite conclusion: the THAC0 might be conceptually clunky, but works better in practice for what matters! (knowing the odds)
Is that all? Nope, there’s a third method:
2c. roll = (20 – attack bonus) – AC
3a. roll = AC – attack bonus
This was possible because both AC and 20 are static (I’ll explain better below).
And so we distill the three methods to:
1b. roll = THAC0 – AC
2c. roll = TN – AC (going against the grain, but same as above)
3a. roll = AC – attack bonus
With the second system I didn’t consider the possibility of AC going LOWER than zero (because Dark Dungeons, where the second system comes from, still uses descending AC values). For example with magic armor. In the first system you just have to consider that negative AC is added to the total THAC0. So it’s now even simpler (as long you remember the rule). Just one addition. But with the second method you’d have to add the attack bonus to the die roll, then subtract AC… Only to realize it’s more immediate if you simply add the negative AC to the TN of 20. It becomes addition + comparison + addition (shifted to the TN). But to know the odds you’d have to subtract from an addition. It suddenly became even messier.
In this case it comes more naturally to consider die roll + attack bonus on one side, and compare it to 20 + AC (when it’s below zero). It’s an even simpler calculation, but it requires to keep in your mind these two-way resolution, where you add AC to the roll when AC is positive OR add AC to the 20 when AC is negative. It’s once again a bit “fiddly”.
Here comes our third option!
It might even be obvious: what if we turn around AC as well and make EVERYTHING ascending? If the crux of the problems with THAC0 was its descending nature on its improvement (as you go up in level, TACH0 comes down), then we can as well apply it to AC. Again with a mathematically identical mechanic but even more simple to handle. Maybe?
We have once again the die roll + attack bonus. Nothing changes here. But this time the roll needs to be on Armor Class instead of a fixed TN of 20. We essentially have the same addition, addition, comparison, with some slight shuffling. AC is now calculated by adding 10 to the AC you read in the monster or character description. And that’s the number you have to directly roll over.
(If plate is 3 in the classic AC system, it becomes 10 – 3 = 7 in this one, if leather is 7, it becomes 10 – 7 = 3. Negative AC of the classic system is added to 10 here. But once this is written down no more subtractions are needed. But see below, because that also can be compacted and simply use 20 – AC.)
The advantage should be obvious. The comparison isn’t against a fixed number, but it’s found automatically as soon you look up AC. Adding 10 to a number is the most simple operation, so that second addition in the formula is much simplified. Say for example you are dealing with magic AC of -2, in this system you’d read something like 12. To which you need to add 10. It’s immediately a 22, that you have to roll over (after you add the attack bonus to the roll). It would become more complex if you had AC under 0, in this system, but it won’t happen here because 0 is the value of someone wearing no armor at all. It’s the baseline.
Not only these three systems are mechanically equivalent, but it also means that conversions can be immediate.
Between the first and second method the only difference is in the class table that gives your progress as THAC0 or attack bonus, then it’s only the formula being different.
Between the second and third we only have to convert descending AC to ascending. And that’s quite immediate: 20 – current value.
This third system seems to blend the good parts of both, it’s easy to use for both deciding on a hit, and knowing the odds. You either add the attack bonus to the die to see if you hit, or subtract the attack bonus from Armor Class to know the odds.
…But then I wondered, isn’t there a way to convert that one subtraction to know the odds, to simply another addition?
We’re dealing with Armor Class and a fixed bonus, so why couldn’t they be organized to add both together and obtain a Target Number? But since my mathematical competence is rather poor, I couldn’t decide whether this was a real possibility.
It turns out it’s possible: you just have to turn around something else in that formula.
The key to make it work is that the roll itself needs to change. You don’t roll anymore above the value, but below. And AC, since it’s added to the attack bonus, needs to be descending, so that lower values lower the odds.
The only thing left to do is slightly shifting the numbers, because we are starting from 1 on the die, not a zero. And so that +1 needs to be factored either in the attack bonus or in the AC.
For example, let’s say you want to hit some guy in plate armor (3 classic AC descending) no Dex bonus, with a total attack bonus of 4. In the THAC0 system the attack bonus becomes a 16, from which you subtract the 3 AC, to obtain 13, the number you need to roll on the die to hit. Or 40% (success on 13-20, 5% each). In this fourth system, instead, you simply add the attack bonus to the AC. 4 + 3 = 7. That’s the number you need to roll under, but that needs to be shifted to 8 to account for that +1. The result is the same 40%. (you can then incorporate seamlessly the +1 in the attack bonus itself)
I wonder if there’s a D&D based system that uses this fourth method.
But anyway, all this is only part 1 of 3. Me trying to come to terms with mathematical skills I don’t have while trying to find solutions to problems solved decades ago.
DIGRESSION #1: Tables VS Formulas (this was where I wanted to go next, at the time… It didn’t happen)