[MUD-Dev] Re: skill system

John Bertoglio alexb at internetcds.com
Thu Jun 4 01:18:32 New Zealand Standard Time 1998

From: J C Lawrence <claw at under.engr.sgi.com>
To: mud-dev at kanga.nu <mud-dev at kanga.nu>
Date: Tuesday, June 02, 1998 7:21 PM

>On Thu, 28 May 1998 08:11:12 -0400
>Andrew C M McClintock<andrewm at tiger.hsc.edu> wrote:
>> I've been mulling over some ideas for the skill system in my mud (at
>> this stage still no more than a fantastical whimsy) and thought I
>> would bounce the ideas off the list.
>> For each skill there would be:
>...discussion of various learning forms and growth/decay curves...
>The following really isn't in response to your post directly, just me
>maundering about the area and noting things I stumble across:

>My general view of game features is that they must do one of three
>  1) Provide a game-world goal for players to achieve.
>  2) Provide a game-world problem for players to solve.
>  3) Solve a game-world problem for players.
>This is based on the definition of a game as being comprised of goals,
>barriers, and freedoms.

Before I respond to the post, I think it is necessary to narrow the
definition of skills and examine the other elements at work here. Much of
what goes into a world building system is designed to answer one simple
question: "If I try to do this will I be sucessful?". Specific skills are
just a part of this equation. I would suggest that there are several
elements which affect a character's ability to accomplish goals in a game
world. These are often found in paper RPG systems.

Attributes: Broadly, what the character is born with. Sometimes, raw
strength, speed, size or dex is enough to accomplish a given task. Perhaps
with a higher risk, lower ultimate reward potential, etc. A good system
will cap attribute improvements within a reasonable range. Attributes mold
the rough character, making some life directions obvious and others almost
untainable (or just not worth pursuing).
The nature of attribues almost requires a careful mathmatical (better would
be graphical)distribution during character creation. Attributes are the
"metric of last resort" when trying to accomplish something.

Talents: These are chosen during character creation (and perhaps
"discovered" in later play). Talents are more focused than attributes for
the purpose of deciding the outcome of actions. A talent in Acting (in the
absense of specific skills) should allow a reasonable chance of success in
actions or tasks related to those talents. Note that a person can without
talent can learn a skill (we all see this daily in the real world). Talent
provides a baseline which makes advancement in a skill easier and faster.
Talents bring the character more into focus and provide shape and
direction. Learning skills influenced by talents is a logical path but not
one which is mandated. Talents should have a fixed value internally and can
not be developed. Our system allows mathmatical distribution of "talent
points" but that may be an error (too mechanical, probably a better system
would be "some talent", "good talent", "extraordinary talent" values which
deplete a graphical bar. Can be done with JS). Quirks and flaws are the
opposite of talents. They modify reactions and success in a negative
fashion. Some systems allow the use of these elements to allow for the
purchase of more talents, attributes and/or skills.

Skills: Skills represent a more formal approach to problem solving. I do
not have a skill in the C programming language. I have the attributes
required (I think), I have the talent (I can program in other languages and
learn new things quickly), I even have related skills...but I really
couldn't (at this moment) compile a 20 line program with any chance it
would run. No skill. Leave me alone in a room with a book and a compiler, I
will develop some ability with C. I am still not a C programmer. If given
the task: "Write a program for this embedded controller in C.", I will
probably fail at this point. If the task was "Write a program which will
print 'Hello World' to the console", I could probably succeed. Of course, I
might have been able to guess my way to success as well without any study
given the ease of the task. Given enough study and practical application, I
could at some point raise my head up high and say I am a C programmer. A
some point (in game terms), my skill level could reach a point where
virtually any task was possible. However, doing that would cause my growth
in other areas to stop and would require resources (cases of Diet Coke).
That is why many people with a 456 level C programming skill have a .4
skill level in general social behavior. Perhaps leveling off at about 87
would have been a better idea.

I would suggest that skills are just a refinement of the elements above.
Take a big iron bar, an adjustable wrench and a socket wrench with a 1/2
inch hex socket. All three tools can be used to remove a wheel nut from a
car. Now, the socket wrench will do the best job but is almost useless with
a 3/4 inch nut. The adjustable wrench is not the professionals choice, but
will do the job. The big iron bar will get the nut off if you are lucky
(see where I'm going here), but is the last resort. The bar is a nice thing
to have around, though, because it is useful in a lot of area. If you take
off a lot of 1/2 inch nuts, investing in the proper socket is probably a
good idea.

What I am suggesting is a multi-tiered model. Lifting stuff makes me
stronger. Reading stuff makes me smarter...a little bit each time. The real
issue is how hard is it to do things.

>Skill webs primarily provide problems for players, especially as
>contrssted to their prior simplistic model of levels where skills came
>automatically with level progress.
>The primary problem is in gaining the necessary skills, a possible
>secondary problem is in maintaining the required skill sets for a
>particular play style.  A presumably unintentional secondary problem
>is in determining what skills sets are required for a particular
>problem or play style.

The creation of player archtypes which can be controlled by new and old
players will give enough insight into the process. The skill set possesed
by the npc character is exposed to its controler. Note that the specific
numbers for success are not exposed. You take a skilled fencer into battle.
You discover this guy kick butt with multiple, lightly armored opponents.
You examine his STR and DEX, see he has a talent in Combat Arts. You notice
he has a minor talent in Acrobatics and Athletics. You see basic combat
skills, light armor wearing and a mastery of the foil and eppe...etc. Now,
you know from running this guy that he is a good fighter. You don't know
how well he would do trying to brew a vat of beer, since you don't see any
grounding in specific skills or talents. If you try, you will probably
>This last point seems the nastiest, and comes in two flavours:
>  1) Should the fact of, or the structure of the skill web be exposed
>to players?

If the nature of the skill web is stored in a mathmatical matrix in the
server, it will become common knowledge whether directly exposed or not.
There are all kinds of cool things you can do to mask it, however. Example:
Everybody "knows" that the monastary on the mountain will take one
character at a time to train as a Quack-Foo fighter (a partically potent
form of martial arts). Everybody "knows" the character *must* have a
grounding in the basic Foo fighting skill (which is rare but still easier
to come by). What nobody "knows" except the server is that once in a while
a person fitting the right attribute/talent profile will be invited to
study. This might be controled by the phases of the moon, the calendar of
feast days, a lack of a current student or just dumb luck.

>  2) If it is exposed, how do players determine what skills are

Again, the word will get out. Some things are obvious. If the command
[SEARCH FOR WATER] is understood, players will try it. If the skill of
Water Witching is learnable, one would assume this would make ones chances
of finding a suitable well higher.

>#1 has historically been solved by exposing the skill web to at least
>some extent.  Most commonly there is command or query which reports a
>character's current skill status in some manner.  Given an exposed
>skill tree, #2 comes into play.  How does a player determine what the
>game-world import and impact of his skill tree is?  This essentially
>maps down to three questions:
>  a) Is my skill set likely sufficient to accomplish XXX?
>  b) What skill set do I need to likely accomplish XXX?
>  c) What can I do with skill set YYY?
>They are related but not identical.  The answers to each has different
>effects on game play and game-world solution attempts.
>#A could be considered analagous to the DIKU "consider" command.
>Providing this support allows (and even encourages) players to follow
>a low-risk course, only attempting those actions which are
>known-profitable, and which are stated as likely.

A Consider command that tells the player things they have now way of
knowing IC is a bad idea. If I see a furry bunny, the normal description
should tell me that. If I am an adept ranger I might perceive that that
cute bunny is in fact the Vorpal Bunny of Doom which does 10D100 + 50
damage from its Claws of Doom. Moral of the story: be careful who you pick

>Making the answers to #A vague (large granularity) dones't solve the
>problem, it mrely makes the answers unreliable and largely useless.

Make them accurate but only within the players ability to perceive. This
mean that,  in general, by the time a fighter can accurately assess his
opponents, he won't need to in most cases. Opponent identification is an
action. It is governed by attributes, talents and specific skills. An ace
swordman might notice a potential opponent had the moves of an expert
swordsman (I don't know how, ask a swordsman) so would be reported an
estimate of the sword skill. Most people would have a reasonable estimate
of a persons strength, but would miss the knuckle scarring of an expert

>#B is more invasive.  Skill webs, particularly finely grained ones,
>suffer from compartmentalisation.  What is actually attempting to be
>modeled with discrete units with pre-defined inter-connects is a very
>organic and inter-related structure full of n'th order derived
>inter-connects.  It sounds messy, it is messy, its the unexpecteds
>that get you.
>  Yes, swinging an axe to cut down a tree is not unlike swinging a
>sword to cut down a man, especially a two-handed butcher blade.
>Swinging that same axe however also gains upper body strength, which
>provides an ancillary ability to climb ropes, despite having a very
>low skill rating in rope climbing (brute strength making up for
>  Question: Is this level of skill web inter-connect valuable in a
For sure. Swing an axe. Get stronger. Doesn't make any difference whether
the target is a great oak or Bubba. Anybody can try anything allowed by the
server. The server will examine the elements which affect success for this
action and make a calculation which describes the degree of success or

>#B additionally allows a more insidious form of predictive play than
>#A.  A player can now pre-determine his character-path in terms of
>goals, find out what each goal requires in terms of skills, and from
>there chart a mechanical course to wend the game to the various
>inflection points of the requisite skill levels.

The mechanical nature of things can be controled by providing many ways to
accomplish the same task.

>While it may be unlikely that many (any) players will so chart a
>character's life from its inception till the end, it will happen on
>the more micro scale:
>  Bubba wants to build a tree house.  What skill sets will he need?
>Ahh, he'll need Q, R, S and T (as compared to what he has now).
>Requisite actions later, Q, R, S, and T are acquired, and the tree
>house is built.

My system would let Bubba build the tree house any time he wants to try.
Some things are requried. He must assemble the materials for the house. If
skilled in tree house construction, fewer materials will be requried
because less will be wasted in the building process. Tools will help. He
should aquire the proper tools to speed construction and improve quality.
Since in our world time is an enemy (eating is required) construction
skills will be important to success by shortening the time. He may find
himself with a half finished tree house while he has to go hunting to get
some grub. If Bubba has the tools, the materials, a proper site (either by
dumb luck or understanding) and enough time, some kind of tree house will
result. The quality of the item will be calculated based on skills, talents
and attributes. If Bubba house falls down during the first rain storm...he
might hire a few skilled tradespeople NPCs (who would add their skills and
attributes to his) to make a better home.

>Note:  This is __NOT__ necessarily a problem.  It merely /can/ be a
>problem depending on your world and game type.
>#C is both a blessing and a curse.  The blessing is that skill sets
>now have a well known and documented useful value (Yes!  I can
>decapitate 70% of trolls in a single blow using a rusty carving
>knife!).  The curse is that it kills experimentation and exploration.
You find that most Trolls seem to be vunerable to the carving knife but are
unsure as to the percentage (unless you keep a spreadsheet OOC). If the
algorithim controlling the decapitation of Trolls is sufficiently complex,
you will be unsure if you have taken the best path.

>Chaging the answer to #B so that it merely suggests areas which may be
>accomplished also removes the inter-connect values of the skill sets.
>  Bubba the axe swinging woodsman may really like to be reminded that
>he's now got enough strength to climb ropes with ease, and the fact of
>that suggestion may prompt Bubba to consider character-life courses he
>would not have examined otherwise.
You don't remind him. He just discovers that high strength makes certain
things possible which were not before. Take rope climbing. Assume you make
a 1-100 skill roll (higher is better).

You could be successful:

1) Low everything but a high degree of rope climbing skill learned as a
sailor. Target number:14
2) High strength and nothing else. (Expect BAD results for a critical
failure, however) Target number: 34. Have really high strength (and perhaps
low encumberance) the number could go down to 22. Critical failure under 14
3) A balanced mixture of STR, DEX, WILL and a little athletic talent thrown
in. Target number: 23
4) Absolute dumb luck. You grabbed the rope and got hit by a sudden
updraft...who knows. Target number: 94. Critical failure under 24

Given this kind of granularity, it will be difficult to determine the
"right" skill mix.

>  Yes, there are several "may's" in there.  Yes, the value of so
>suggesting to Bubba is of arguable game-value.  Yes, it creates a
>certain form of pandering Mr Rodger's-like game world.
>The last bit on exposed skill sets is, what is the interface?  What
>does the user see?  How does the user manipulate nd query his skill
>sets?  How is the learning curve for the human user of character skill
>sets in the game made manageable?  How does the user know what skill
>sets are possible, what skill sets his character currently has, and in
>what state, what skill sets are easier for his character than others,
We don't measure skills, we measure the results of skills. No one says
Michael Jordan has a skill of 96 in basketball. We say he averages 32
points per game and has a 53% success rate for shots from inside 20 feet
(or whatever is actually correct). So we really don't really need to
explain all that much about skills.
The help file exposes all standard commands. Guess the parser is a dreadful
game. The help file details the syntax of the command and may offer some
general hits about success. Under no circustances is the actual math
exposed. Everything that can be attempted is detailed. (A few special
commands might be reserved for special areas/quests but I cannot think of a
good reason to do so at this time.)

You type TEST [Action] where [action] is what you would like to have a
metric for success. >TEST CLIMB ROPE would test an average rope climbing
action and report to you a text description of your chances. Of course, an
unskilled person (and even worse, a stupid one) could expect a wild

Does the Farming Skill improve cultivation of herbs found in the wild? I
would guess so but maybe when I implmented the PLANT HERB command I decided
to use your Natural talent coupled with Alchemy/Herbalist skills instead.
Someone might complain that while they were not skilled in Herbalism, they
were expert farmers and should be able to grow herbs. So I make it so most
herbs can be grown and harvested using farming skills...but leave a few
exotics whose cultivation is more ritual oriented to the domain of the
arcane professionals. And so on. What I am suggesting is the world designer
makes a best guess as to what should control the outcome of an an action
and implements it. As you get feedback, you broaden the controlling
elements and give make a more "realistic" feeling world.

>I don't have answers to any of these last.
>In #1, not exposing the skill system at all raises other interesting
>questions.  If the skill web is not exposed at all, is there any other
>sort of comparitive metric for players to judge their characters
>against each other?  Is there a game-provided metric to judge and
>perceive the progress of a character in the game (ala levels, or if
>only as a reflection of skill set improvement)?

Levels are based on doing lots of stuff. You get experience points for
being in the world and mucking about. Tough stuff gets you more, easy stuff
less. I really agree with the idea expressed earlier in the list that
players will create metrics even if you do not.

>Not exposing the skill set concept doesn't remove the questions of:
>  q) What are my chances of being able to accomplish XXX?
You guess or ask. As before, by the time the answer the world gives you is
accurate, you will already know the answer because of experience.

>  r) What do I need to do to be likely to accomplish XXX?

The world reports when something is impossible. If you have sufficient
skill or other elements it might even tell you what is missing. An
alcheminst might realize that the potion failed because the sulfur was not
pure enough...Bubba would not.
>  s) What can I likely do right now?
Anything. Browse the help file and try commands. DIG might not work because
you are standing on solid rock. The world would tell you that. It would not
RUN N, S would provide you with a nice big hole in the ground.

>#Q, #R, and #S are of course the direct counterparts to #A, #B, and #C
>above, with the underlieing mechanics hidden.  The rest of the points
>on #A, #B, and #C apply equally well here.
>Additionally such variable skill set structures also provide their own
>goals and problems within the game world (not surprising: organic
>system).  The clarity and definition of those goals, and the problems
>of initially achieving them is discussed above (what do I need, how do
>I get that, etc).  The second order problems and goals are more
>  I) How do I maintain what I need?  Are the activities required for
>maintenance different than required for the initial gain?
>  II) How do I know when my skill sets decay such that they need
>maintenance (to be able to do what I want to be able to do)?

I feel skill decay should be a minor factor. Attribute decay should be a
much more real problem. Concept: You started off as weak wizard. Now you
are smarter but even weaker. Maybe you should go jogging....No pain, no
>  III) What are the costs in other wanted items for maintaining that (eg
>inability to be supremse master in two widely unrelated skill sets,
>where do I trade off)?
If you mean unrelated in terms of core attributes, you do it during
character creation. You can't be a warrior-tank mage-healer unless accept
mediorcrity in the secondary skills AND spend a lot of time running around
learning. If you mean unrelated in terms of learning paths, it is somewhat
different. Learning Alchemy and Cartography are very different skills but
use similar core attribute. Literacy would be a requirement of Alchemy and
could speed advancement in map making but not necessarily be

>  IV) What are the impacts on my game play and game style for
>maintaining those skills at those levels (eg spend 90% of time
>maintaing skill sets for 10% "play" time)?

Skill mainntence should not be an major issue. Skill improvement should be.
Finding ways (and places and teachers and situations ) to improve skills
should be important.
>  A nameless MUD did a skill web implementation.  One of the tasks
>possible in that MUD was to get a boat and cross a channel from the
>mainland to an island.  If you had sufficiant swimming skills (called
>something.water.something_else), you made it over without effort.  If
>you didn't have that skill at the needed level you drowned, presumably
>because the Imp decided that non-swimmers would freak out sufficiently
>at the choppy waters that they'd necessarily fall overboard/capsize
>and thereby try their breathe.water skills.
A bit goofy, but not unreasonable if the proper tests are made. Being a
passenger on a boat is normally a pretty passive activity. A dwarf might
get violently ill and end the trip with a high fatigue level....but you
would not expect to be required to have a skill. However, if the trip got
rough then it would be reasonable to test characters on whether they had
other skills to survive. If the player was in control of the boat, you
would test seamanship or small boat handling. If you failed, you would test
swimming....and so on. It the boat sinks or founders, then all passengers
would have to test various skills required for survival. If the boat is
just really bouncing, a person with high dex and other physical skills
might make it. A good implentation of this situation would allow multiple
ways to be successful...none of which would be guaranteeed.

>J C Lawrence                               Internet: claw at null.net
>(Contractor)                               Internet: coder at ibm.net
>---------(*)                     Internet: claw at under.engr.sgi.com
>...Honourary Member of Clan McFud -- Teamer's Avenging Monolith...

John Bertoglio

>MUD-Dev: Advancing an unrealised future.

More information about the MUD-Dev mailing list