In The Witcher 3, some abilities increase your fast attack damage by 5%. Boooooring. When I kill that cockatrice, I have no idea if the 5% extra damage saved my ass, but my guess is that it didn’t make the difference between success and failure.
Game designers often have the natural instinct to push their systems to be more granular, i.e. using smaller and smaller pieces. It seems to offer a way to meet several design goals. Sometimes we want to capture aspects of real life that other systems have left out. RPGs are abstractions of real life, and because it’s so easy to notice what is missing, it can be tempting to write those parts back in. But this can get ridiculous pretty quickly. “D&D is ok, but it’s strange how getting a really good night’s sleep doesn’t improve performance, the way it does in the real world. I want my characters to get a bonus if they’ve slept well the night before. A +1 bonus on a d20 roll is too high. Wait! What if I made it d100? Then I could give them a +1 for each two hours of sleep, up to +5!”
This has two major problems. First, keeping track of systems like this is unbearable. “Wait! I forgot to add my bonus from using my whetstone every night, and that other bonus for fighting opponents who are using bludgeoning weapons. Can I re-roll that last attack?” Actually doing the calculations is even worse.
You can partially avoid this if a computer keeps track of all the bonuses and does all the math for you. This is why video games, like The Witcher 3, are more likely to use granular systems and more likely to be successful when they do so. But of course, I was just complaining about The Witcher. Fixing the math doesn’t make granularity work.
The second problem is that small changes are, well, small. There’s a flavor aspect — double damage feels like a much bigger deal than 5% more damage — but flavor isn’t the main issue. The real concern is that small effects don’t make for a strategic system. If an ability doubles my damage, then I want to take that into account, and so do my enemies. If an ability increases my damage by 5%, I will do the same thing I was going to do in the first place. I’ll deal a little more damage, which probably won’t come close to tipping the balance of the battle, and it will be a huge headache keeping track of it all.
(There are some secondary problems as well — a system like this is much more likely to end up with game-breaking hacks that come from combining modifiers, and you probably won’t be able to iron all of them out before release.)
The solution is to make your game less granular, by using the biggest pieces possible. Players don’t care about multipliers below x2 — and neither should you. Toss them out.
Even better are effects that go beyond multipliers. In The Witcher 3, Geralt can also unlock an ability that lets him deflect arrows and crossbow bolts. That change is more fundamental, because it actually changes how the mechanics work.
Agency is what makes games enjoyable — I did that, I made it happen. My choices were relevant. To make attributions of agency, you need to be able to easily determine causality — if I can’t point to the major factor(s) responsible for an outcome, I can’t tell if my choices mattered. That ruins the game.