Interesting, but much more complicated than it has to be.
In Chaosium's BRP (http://en.wikipedia.org/wiki/Basic_Role-Playing) system, each skill is represented on a percentile scale. Whenever a player does (tries?) something with a given skill, he gets to make an "experience check" (usually at the end of a game session), and that skill's value increases a bit (usually one point, IIRC) if the player "fails" the check (i.e. rolls higher than the skill's value, whereas in normal gameplay, a successful action happens if the player rolls equal to or less than the skill's value).
This creates a learning curve that naturally levels off, only advances skills that are actually used, and can be calculated easily on pen-and-paper.
Spammer, i think -- read this first paragraph -- adlinks junked up in it, and submitted by a 2-hour-old account.
"What have I been doing all of these years... on a whim I picked up OK Computer and Amnesiac and am blown away -- great albums -- been listening to little else since purchasing them. I've always used simplified APIs built on SAX, so I felt it was time to learn the mechanics of it to expand the depth of my knowledge on that front. Must join <DELETED>.com and <DELETED>.com. Here is a Python class, using a generator object, that rolls n number of s sided dice:"
In Chaosium's BRP (http://en.wikipedia.org/wiki/Basic_Role-Playing) system, each skill is represented on a percentile scale. Whenever a player does (tries?) something with a given skill, he gets to make an "experience check" (usually at the end of a game session), and that skill's value increases a bit (usually one point, IIRC) if the player "fails" the check (i.e. rolls higher than the skill's value, whereas in normal gameplay, a successful action happens if the player rolls equal to or less than the skill's value).
This creates a learning curve that naturally levels off, only advances skills that are actually used, and can be calculated easily on pen-and-paper.