(This article is partly derived from conversations I've had with Monte Cook.)
The d20 system is an interesting beast, with a legacy of thirty years of D&D game design. There are a lot of old rules in the system, and some of them don't work cleanly with the rest of the system. One of these rules is a category I call "absolute effects"--things in the game that say "this is unstoppable" (active effects) or "this stops everything" (passive or reactive effects). Examples of this are energy immunity (reactive--absolute immunity to energy damage of a particular type), the knock spell (active--automatically opens a lock, no matter how difficult), and see invisibility (active--pierces invisibility, no matter power of the caster). In this article I'll explain why absolute effects cause logical problems and present ways to replace them with less absolute rules.
Logical Problems at the Extremes
The biggest problem with absolute effects is that they are absolutely effective, no matter how extreme the circumstances are regarding their use.
Exaggeration? Corner cases? Never going to happen? Yes, yes, and probably. But they let us see that these absolute effects are a problem, and that problem opens up doors to bad game design.
For example, imagine a "Megaflames" feat that lets a spellcaster deal fire damage to a creature that's immune to fire (such a feat exists in a published book). Suddenly those fire giants are taking fire damage from a burning hands spell. Even more strange, that means that a fire elemental--a creature made of fire can take damage from a burning hands spell.|
Next step in this example is to make a Megafireimmunity feat for creatures with fire immunity that says, "No, I really am immune to fire damage, even from people with the Megaflames feat."
Then the spellcaster makes a new feat, Megamegaflames, that lets him pierce the fire immunity of creatures with the Megafireimmunity.
Then the fire-immune creature makes another counter feat, as does the spellcaster, and so on and so on. It's a ridiculous escalation of absolutes, and eventually introduces weirdness like "this fire creature has as many bonus feats as it needs to really be immune to all fire damage," which just means you're cheating the player who spent a lot of feats trying to pierce fire immunity.
Proposal: Fire Resistance Instead of Fire Immunity
So what if we didn't have fire immunity as an absolute? What if fire giants had fire resistance 60 and fire elementals had fire immunity 100? An empowered maximized fireball is an 8th level spell that can do up to 90 points of damage (averaging about 75), so it's possible to hurt a fire giant a little bit with fire if you're willing to blow an 8th-level spell on it, but you still can't hurt a fire elemental (but in theory you could harm a fire elemental with fire under extremely rare circumstances, like teleporting it into the heart of a star or into the stomach of the god of fire elementals, both of which probably do more than 100 points of damage per round). A fire giant with fire resistance 60 may or may not take damage each round from wading through lava (20d6 per round for total immersion), which seems more realistic than the current (fire immunity) setup where they can eat and drink molten rock without harm. Dropping immunity in favor of strong resistances also negates the need for custom silly feats like Megaflames; if you want to do more fire damage, take Empower Spell or Maximize Spell, or a custom feat that increases your all of your fire damage.
(The dorky thing about the actual feat that Megaflames is based on is that it doesn't increase your fire damage against anything but fire-immune creatures ... so your "super-hot" fire spells don't do any more fire damage to 99% of your targets!)
In other words, by removing the absolute effect, we close loopholes and make existing rules more valuable.
Proposal: Skill Check for Knock Instead of No-Roll
What if we didn't have knock as an absolute? We could have the caster make an Open Lock skill check instead of getting an automatic success. This accomplishes two things:
An Ounce of Prevention
There are some absolutes built into the game that you cast or invoke ahead of time to counteract specific monster attacks (delay poison and death ward are the first to come to mind). When converting these absolutes to non-absolutes, keep in mind that it is good game design to reward players for being smart. That means that these newly non-absolutes should lean in favor of the creature using it; if your chance of preventing a negative level is only 50%, you're better off skipping on the death ward and using that 4th-level spell on some sort of attack; instead, the death ward should be 75% effective or more in CR-appropriate situations. (This is especially important because the system is designed to reward taking an active and aggressive role toward your opponents rather than a reactive and passive role, and the few effects designed to prevent potential attacks rather than cure successful are supposed to be strong to reward you for trading away a general attack for a specialized defense).
Don't Be Too Quick To Cut
Some absolutes have a place in the game and are there to speed up gameplay. You could say, for example, that it's not realistic that the Improved Unarmed Strike feat absolutely negates the AOO for making unarmed attacks against an armed opponent, and propose that Improved Unarmed Strike just gives your attacker a -10 penalty to their AOO against you. However, that means that every time a monk enters battle, she's going to have to deal with at least one AOO every round, which greatly weakens the monk, and makes combat run a lot slower (especially at higher levels with multiple attacks, and combat is already slow at high-level). We can accept a little abstraction in the game for the sake of speeding up gameplay (especially in combat, where we're already accepting that a person with a dagger can attack a person with a greatsword without provoking an AOO). So any time you propose making a change like this, think about if it'll slow down the game--in most cases, re-establishing a saving throw for a formerly-no-save absolute effect doesn't slow down the game because the default option is that effects have a save, but adding a save or opposed roll when one isn't normally called for does slow down the game. (In the Improved Unarmed Strike example, the normal situation in combat is to not have an AOO, even though the specific situation for unarmed combat is to have an AOO.)
Go to Part 2 for a chapter-by-chapter breakdown of absolute effects and some proposals for how I'd change them to non-absolutes.