Iosue
Legend
When discussions about THAC0 come up, it's common for people to say something to the effect of "Why not just use Ascending AC? Why subtract? It's so weird and off-putting." And I don't really disagree, as far as THAC0 goes. It's not really that complex, and it's a perfectly cromulent system, but I can see why, especially from the perspective of the 30 and under crowd, it seems so rococo and counter-intuitive.
But to understand the Why of THAC0, of course you have to go back to the Why of Descending Armor class. And you have to understand that Everything was Tables. What I'd like to do here is explore how the road to THAC0, and then eventually Ascending Armor Class, was not a result of weird or even particularly idiosyncratic game design, but a progression of very logical steps, initially using assumptions (or One Big Assumption) a little different from what we have today.
D&D, as we all know, originally came out of wargaming. And certainly in the wargames of the '70s, but even into the '80s with such classics as Car Wars, Star Fleet Battles, and Battletech, tables were used to assist referees and/or players in determining the targets they wanted to hit with their rolls. The key understanding here is that there is generally one number to hit on the table, and naturally, it would fall within the range of the die or dice being used, a few situational bonuses notwithstanding. For example, here's the To-hit table for missile fire in Chainmail:
You cross reference the kind of missile weapon with the class of armor, at that range, and you have your target number. Chainmail is a 2d6 system, so you roll 2d6 and try to beat that number. Note the use of the term "class of armor." Ideally, for a fantasy battle game, you'd like a variety of armors. And then there will be monsters which won't have humanoid armor, per se, but will need to have target numbers. So the solution to this is have Armor Classes in lieu of a long list of individual artificial and natural armors (printing space is at a premium!). Now, certainly this could be anything. Armor Class A, B, and C. Armor Class First Grade, Second Grade, etc. Even Armor Class 1, 2, 3. The thing is, it doesn't matter what the Armor Class is called, because the target number is going to be on a table. Indeed, here, Armor Class 1 is in fact the weakest! (Also note here that 0 = 10, 1 = 11, and 2 = 12; printing space is at a premium!)
D&D was originally written to use Chainmail, but there is the alternative system. It's much simpler (no cross-referencing of weapon vs armor), and uses a d20 because that provides a very nice range of target numbers: the weakest armor class can be hit on a 10 (55% to hit), and the strongest armor class is hit on a 16 (25%). But here is where things get complicated. Because D&D puts a new spin on an idea from Chainmail: as your character gets more experience, their ability to hit improves. Okay, so you've got a variety of armors, of a successive difficulty to hit, so the target number has to go down as the character gains levels. And so it was:
This design is not merely cromulent, it's both very standard for its time, and yet innovative in its introduction of character growth. The Referee checks the table, rolls, and immediately sees if its a hit or not, no math required. And if things stayed that way, there would be no problem. But, alas. First came players rolling their own dice. Then came STR bonuses (not in original D&D until Greyhawk!) added to magical weapon bonuses and negative ACs. Then some wise(acre) DMs figured out that if you just had the number to hit AC 0, and subtracted the enemy AC from that, you could figure out the target number, no table needed! But remembering everyone's to-hit for AC 0 is a pain in the butt, so you have the players remember it, and tell you what AC they hit with their roll (either by calculating THAC0 or looking at a table on their sheet). And the whole thing became a lot more math-y than just rolling, and cross referencing the result to a target number on a table.
The Big Assumption here is that: both the target number and the result would be one of the die faces. Even as the game expanded all way the to and beyond AC 0, it could be expected that the target number would be on the die, and so the result could be seen at a glance. Even those bonuses or penalties could be baked right into target number (either by character sheet tables or THAC0 calculations). If you time traveled to 1973, and told Gary Gygax, "Make the AC the target number!" He'd say, "But how do you handle improvement?" And when you say, "Attack bonus!" He'd say, "Well, that's eventually going to take the target numbers and the results off the range of the die. If you want numbers that big, you should just use a percentile system or something."
In essence, we could only arrive at Ascending AC through the route of tables -> off-the-cuff calculations -> inverting the calculations to reach "imaginary" target numbers. But each step made perfect sense, at its own particular time.
But to understand the Why of THAC0, of course you have to go back to the Why of Descending Armor class. And you have to understand that Everything was Tables. What I'd like to do here is explore how the road to THAC0, and then eventually Ascending Armor Class, was not a result of weird or even particularly idiosyncratic game design, but a progression of very logical steps, initially using assumptions (or One Big Assumption) a little different from what we have today.
D&D, as we all know, originally came out of wargaming. And certainly in the wargames of the '70s, but even into the '80s with such classics as Car Wars, Star Fleet Battles, and Battletech, tables were used to assist referees and/or players in determining the targets they wanted to hit with their rolls. The key understanding here is that there is generally one number to hit on the table, and naturally, it would fall within the range of the die or dice being used, a few situational bonuses notwithstanding. For example, here's the To-hit table for missile fire in Chainmail:
You cross reference the kind of missile weapon with the class of armor, at that range, and you have your target number. Chainmail is a 2d6 system, so you roll 2d6 and try to beat that number. Note the use of the term "class of armor." Ideally, for a fantasy battle game, you'd like a variety of armors. And then there will be monsters which won't have humanoid armor, per se, but will need to have target numbers. So the solution to this is have Armor Classes in lieu of a long list of individual artificial and natural armors (printing space is at a premium!). Now, certainly this could be anything. Armor Class A, B, and C. Armor Class First Grade, Second Grade, etc. Even Armor Class 1, 2, 3. The thing is, it doesn't matter what the Armor Class is called, because the target number is going to be on a table. Indeed, here, Armor Class 1 is in fact the weakest! (Also note here that 0 = 10, 1 = 11, and 2 = 12; printing space is at a premium!)
D&D was originally written to use Chainmail, but there is the alternative system. It's much simpler (no cross-referencing of weapon vs armor), and uses a d20 because that provides a very nice range of target numbers: the weakest armor class can be hit on a 10 (55% to hit), and the strongest armor class is hit on a 16 (25%). But here is where things get complicated. Because D&D puts a new spin on an idea from Chainmail: as your character gets more experience, their ability to hit improves. Okay, so you've got a variety of armors, of a successive difficulty to hit, so the target number has to go down as the character gains levels. And so it was:
This design is not merely cromulent, it's both very standard for its time, and yet innovative in its introduction of character growth. The Referee checks the table, rolls, and immediately sees if its a hit or not, no math required. And if things stayed that way, there would be no problem. But, alas. First came players rolling their own dice. Then came STR bonuses (not in original D&D until Greyhawk!) added to magical weapon bonuses and negative ACs. Then some wise(acre) DMs figured out that if you just had the number to hit AC 0, and subtracted the enemy AC from that, you could figure out the target number, no table needed! But remembering everyone's to-hit for AC 0 is a pain in the butt, so you have the players remember it, and tell you what AC they hit with their roll (either by calculating THAC0 or looking at a table on their sheet). And the whole thing became a lot more math-y than just rolling, and cross referencing the result to a target number on a table.
The Big Assumption here is that: both the target number and the result would be one of the die faces. Even as the game expanded all way the to and beyond AC 0, it could be expected that the target number would be on the die, and so the result could be seen at a glance. Even those bonuses or penalties could be baked right into target number (either by character sheet tables or THAC0 calculations). If you time traveled to 1973, and told Gary Gygax, "Make the AC the target number!" He'd say, "But how do you handle improvement?" And when you say, "Attack bonus!" He'd say, "Well, that's eventually going to take the target numbers and the results off the range of the die. If you want numbers that big, you should just use a percentile system or something."
In essence, we could only arrive at Ascending AC through the route of tables -> off-the-cuff calculations -> inverting the calculations to reach "imaginary" target numbers. But each step made perfect sense, at its own particular time.