At the start of the pandemic I got back into D&D, correctly surmising that I and my friends would benefit from something to do online together during lockdown.
I liked the simplicity of player-facing under-attribute rolls, and the idea of gradually increasing attributes making high rolls at character generation a head start rather than a permanent advantage.
I missed having AC to differentiate monsters, natural 20s as a cause for celebration, and hated the application of level difference as a penalty to everything - it was cumbersome, and punished players for trying indirect approaches such as stealth, since sneaking past the monster has the same penalty as hitting it or affecting it with magic.
So the first thing I changed was to bring back AC, and make ascending AC a difficulty threshold the PC had to exceed to hit the target.
Now have two target numbers, one which the DM gives you, the other on your character sheet, and all you have to do is roll over one and within the other.
The roll is never modified; positive modifiers are added to the attribute being rolled against, negative ones are added to the difficulty - neither requires subtraction.
Where Black Hack went with "lower is better" I've gone with "higher is bolder, greater risk for reward; lower is cautious, conservative, and hesitant."
So if there's no opposition a roll of 2 is quite adequate; there's no need to push the limits of your skill or take any risks. Against a more aggressive opponent such cautious effort falls short.
Conversely a roll of 17 is a daring effort, but if your ability is only 15 then your reach has exceeded your grasp; your PC's confidence didn't pay off.
On a 1, you choked; on a 20, you were both daring and lucky, so skill doesn't come into it.
So a basic attack roll by a PC with a 13 STR and a +1 sword for an effective STR of 14, against an opponent in AC 5 chainmail, looks like this:
🟥 Missed due to target's AC.
🟦 Missed due to lack of ability.
🟨 Criticial Hit.
If your ability exceeds 19 (for example, 17 STR & +4 Sword, for 19/2) then each point in excess becomes a reduction of the difficulty, to a minimum of 1. So in this case an attack on the same monster looks like:
🟪 Hit due to extreme ability.
This is fiddly! But it only comes up occasionally, and when it does the PCs are happy to see it. They'll gladly do that little bit of extra math because it only comes up when they're amazing.
But rolls are still player-facing, so PCs have to make a defense roll when attacked. To do this we have to first turn AC into an attribute. Initially I just used DEX like the Black Hack, but now I'm thinking of simply setting numbers based on armour:
With modifiers for very high or low DEX, shields etc.
And the difficulty of the defense roll? Simply the monster's HD. PC in chain vs 5HD monster:
🟥 Hit due to monster's ferocity.
🟧 Hit due to lack of armour.
🟨 Criticial Hit.
And if the monster is over 10HD, halve the HD over 10 - a 16HD elemental hits at 13 difficulty. Again, something extra to remember, but only comes up with powerful foes.
For saving throws I used a muddle of straight attribute checks for PCs and INT-based "effect rolls" for monsters, sometimes straight, sometimes with HD as difficulty. Now I'm inclined to use flat difficulties: 2 for poison, 6 for spells, 4 for everything else.
PC saves with an attribute of 14:
🟥 Failed vs Poison, Paralysis, or Spells.
🟧 Failed vs Paralysis or Spells.
🟨 Failed vs Spells.
And for monsters, within HD+[Spells: 4] [Paralysis: 6] [Poison: 8]
For a 5HD monster:
🟥 Saved vs Poison.
🟧 Saved vs Paralysis or Poison.
🟨 Saved vs Spells, Paralysis, or Poison.
This violates the usual pattern of "player facing rolls treating monster stats as difficulty" by deriving an attribute from monster HD and making the player roll against themselves, but Wizards can just deal with it.
High HD monsters probably require some sort of diminishing returns as they have for attacking in order to keep them from hitting the save cap too fast. I imagine save chance caps at 19 so if they have 30HD a penalty of -2 to their saving throw will still put them at 17.
Making PCs save on attributes puts a lot of weight on the attribute progression system to properly reflect power growth with level, but it provides a way to differentiate the strengths and weaknesses of PCs without adding anything new to the sheet.
In any case, my group have been using rolls similar to these for two years now and we've found it a satisfactory system - when they attack I just tell them the AC of the target and they tell me if they hit; when it's the monster's turn I simply assign attacks and everyone rolls to defend themselves at once, and reports any hits.
When I say "everyone make a DEX roll, difficulty 8" they all know what to roll - and to worry.