I'm also dissatisfied with all-or-nothing results from skill rolls. I would prefer to allow for varying degrees of success. The degree of success should depend on the roll, of course, but also the difficulty of the task being attempted, compared to the skill level used. Rather than a binary cutoff, I prefer a system in which a slightly below-average roll (say, 49 out of 100) implies slightly less success than an average roll. For some cases, like jumping far enough to clear a chasm, it still boils down to something binary. But for something like combat, the shades of meaning hereby introduced permit much more satisfyingly naturalistic mechanics.
The SnargleQuest skill system is based on these principles. Using combat as an example, a single attack involves multiple rolls, each with its own notions of skill level, difficulty, and outcome (degree of success). Let's look at an example attack, to illustrate.
Our player, with Novice attack skill and wielding a Fantastic scepter ("Fantastic" being a designation of weapon quality), encounters a zombie. Attempting a strike, we first determine the difficulty, which is derived from the difference between the attacker and defender's attack skills (other factors will probably come into play later). In this case, we find the strike difficulty to be Undemanding. Our roll of .283 (out of 1.000) is unimpressive, but still sufficient to strike the enemy, although the strike is described as "Embarassing," a low rating which will reduce the likely efficacy of the strike.
The zombie now attempts a dodge, but it is Unskilled at dodging. Even though the difficulty is just Simple (since the attack was so Embarassing-ly poor), the zombie rolls 0.225, getting a dodge outcome of "Pointless," not good enough at all. Thus, we strike the zombie, and now must determine damage.
I've gone back and forth on using separate skill tests for armor penetration and injury, or just combining them into one roll. For now, it's just a single roll, with a difficulty-to-wound determined by the combination of toughness and armor quality (if present). In this case, the zombie is not very tough or well-armor and we find the wound difficulty Undemanding. Rolling a very satisfactory 0.894, the player grins wickedly and delivers a Grievous Injury to the zombie.
Playtesting has convinced me that this approach is sound. I'm able to describe combatants with varying arrays of skills, and I find that the resulting combats play out pretty much as you'd like.
You'll note that skill levels, difficulties, etc. are not described numerically. Of course, there are numbers underlying everything, but this system strives to deemphasize the numerical nitty-gritty and simply present a self-consistent abstraction that captures what's important without polluting the texture of the game.
There are no hit points, for example. I've never liked hit points; they don't make sense. It's silly that a character with only one hit point left still fights at full strength. And why should it be possible for one human to have ten or twenty times as many hit points as another, when a single well-placed blade can still kill even the toughest warrior? The absurdities compound endlessly.
I've opted instead for a system based on wound severity. We keep track of the wounds you've suffered, but generally only the worst wounds are consequential. There's a mechanism by which, if you repeatedly suffer one kind of injury, it gets gradually "upgraded" to a worse injury. As the punishment continues, the blows add up over time in this way until eventually the wounds become mortal.
I started out by talking about skill advancement, so let me finish with that now that the intermediaries are covered. The fundamental idea of SnargleQuest skill advancement is that you get more "credit" towards advancement, the more difficult the tasks you do with that skill, and the better you do at them. The probability of advancement is based on the total accumulation of skill rolls and outcomes since the last increase of that skill; each time you chalk up another success, the game rolls to see if your skill advances. Initially the probability is quite low, but over time it becomes essentially inevitable so long as you continue to undertake nontrivial tasks.
I find so much to like about this. The mechanics are opaque enough not to distract from gameplay, and the player is incentivized to take on appropriate-level challenges. Players who take a more difficult road can be rewarded with faster advancement, whereas less aggressive players can count on advancing eventually so long as they do something worthwhile, even if a bit easy. Skill types can be tuned individually -- we might wish to have a skill such as Ritual Magic, which would consume time or resources and perhaps see only occasional use; such a skill should not require as many successes to advance as, say, the Fireball spell you use in every fight. Finally, I personally really like the way it represents a "flash of insight" after handling a particularly tough problem, exactly the sort of experience that leads to learning and skill development in real people.
That's about what I've got to say about the skill system for now. I owe a debt of inspiration for some facets of this scheme to a couple of old pen-and-paper RPGs. One, which nobody is likely to have heard of, was called Lost Souls; it introduced me to the notion of a skill system based on tasks of various difficulties each having their own percentile roll for success. I must also acknowledge Shadowrun, from which I plan to pretty much steal another idea related to all this, which is the notion of using "similar" skills to substitute for each other, albeit at a penalty. That part, along with the advancement mechanics, are still just design at this point, but I'll post more about them once they're implemented and working.