I did it differently than what you describe. I treated the THAC0 number as the target, bonuses added to the roll, and then you added the target's AC to the roll. Here's an example:
A fighter with a THAC0 of 15 and a +3 to hit attacks a creature with an AC of 5. The player rolls her d20 and adds her +3, getting a die roll of 8, and a to-hit result of 11. I, as the DM, then add the target's AC to the roll (this is direct addition of a positive or negative number: a positive AC increases the player's roll, while a negative reduces it). In this case, the final roll result is a 16. 16 is higher than the fighter's 15 THAC0, therefore the attack hits.
Even if I buy the argument about, "I'm not subtracting, I'm adding a negative number," -- and I don't, but let's pretend I do -- you're actually just exposing how silly THAC0 is because it has an extra, entirely useless step.
With d20:
1. Player rolls d20.
2. Player adds modifiers.
3. DM compares result to AC.
Player has to know: d20, modifiers. DM has to know: Target's AC.
With THAC0:
1. Player rolls d20.
2. Player adds modifiers.
3. DM adds target's AC to to roll.
4. DM compares result to attacker's THAC0.
Player has to know: d20, modifiers. DM has to know: Target's AC, attacker's THAC0.
Now instead of doing addition and subtraction, you're doing addition... twice. (I'm sure you'll
never count situational bonuses or penalties twice!) All your method does is move the THAC0 overhead from the PCs to the DM. And it looks to me like the DM literally has to do twice as much work, and so is probably at least twice as likely to make a mistake.
And you're still stuck with the backwards "lower THAC0/AC is better" nonsense with the accompanying negative numbers. A bonus to AC still lowers AC. Moving the math around like above does not fix that. And of course it doesn't help that PCs don't want to roll and give the DM an arbitrary number, they want to know
what AC they actually hit because that's how the game teaches them to understand hitting a target, and this method obscures it. Yes, I get that it was "intentional" back when the save and combat tables were only listed in the DMG and the players weren't supposed to know them, but I don't think anybody would really argue that was very effective in that role at anything other than pissing off the DM as the players try to calculate AC.
At least the PC can determine their own saving throw, but of course in my experience PCs will often subtract when they need to add since, again, lower is paradoxically better and this confuses people.
Finally, of course, this isn't how the game teaches you to calculate whether or not you hit. So, I agree it's a better system, but DMs and players had to figure it out themselves. In 1e you were told to look it up on a table. The 2e PHB
and the 2e DMG say this (quoting):
The first step in making an attack roll is to find the number needed to hit the target. Subtract the Armor Class of the target from the attacker's THACO. (Remember that if the Armor Class is a negative number, you add it to the attacker's THACO.) The character has to roll the resulting number, or higher, on 1d20 to hit the target.
It's even
more arcane. Now the DM has to know the attacker's THAC0, the target's AC, and it tells you to
subtract them. God help him if he does them in the wrong order.
It's no wonder so many DMs just carried
THAC0 wheels.