[MUD-Dev] Skills

Adam Wiggins nightfall at user1.inficad.com
Fri May 16 20:02:58 CEST 1997


> Anyway, skill advancement itself.  I have it so when you use a skill, it
> advances (will change to incorporate comments, blah, blah, blah).  When
> the character uses the skill, if the character passes, she learns a fixed
> amount (small, like 1).  If she fails, she learns:
> 
> 	target / difference between target and skill
> 
> This means that she would not learn a lot if she was trying something
> *really* hard and would usually learn something when the difficulty is
> just above her abilities.  What do you think?  Any comments?  There's also
> the freak occurance of learning 1000 points but that's really rare and I
> put an artificial cutoff for 50 points.

Hmmm.  Well, we use bytes for our skill storage, and the top bit is reserved,
meaning 127 is the highest skills can go.  For this reason, we don't ever
have anyone learn more than a single point.
One mud I played simply gave you a point every time you used the skill;
your actual skill in something was just:
(number of points) / (maximum intelligence - character's intelligence + 1)

Which is fine.  We opted for a complex learning function in order to
limit each skill to two bytes (one byte for applied, one for knowledge).
We originally did this because we thought we'd be running on a machine with
4 megs; now it's less important, but our system works so well that I have
no reason to change it.

> This learning amount is the raw value, before being processed by the
> current skill value (ie: curve it), racial modifiers and being taught then
> distributing the points throughout the tree/matrix/group.
> 
> The other school of thought is one point for failing and more for
> succeeding and various other combinations.

We ignore whether you actually 'succeeded' in the skill or not.  First
of all, it's hardly a boolean condition.  If you 'sucessfully' parry
someone's attack but they break your sword and cleave through your arm,
does that count as a success?  Rather than try to evaluate this, we just
have a standard skill learning function which you can just toss in whenever
someone uses a skill.  ("Use" is a pretty ambiguous term...you "use" your
tracking skill whenever you (try to) notice tracks in the room, for
example..)
The secondary reason for this is that (I've found) you run into all sorts
of trouble when you make skill learning evaluations based on success
or failure.  One of the first muds I played only ever allowed you to learn
when you failed.  This had the (nice) effect of making it incredibly easy to
learn something when you suck, but very diffcult once your skill got into
the 90% range.  At any rate my buddy made a ranger with a ridiculously
high dexterity (thanks to four solid hours of stathunting).  He ended up
being a high-level ranger with his dual wield skill at "awful" since he almost
never failed it.  While this wasn't a big problem (since he didn't fail,
obviously) these kinds of anamolies are rather common.




More information about the mud-dev-archive mailing list