[MUD-Dev] Re: Info about different skill systems

Ben Greear greear at cyberhighway.net
Sun Jan 3 11:00:44 New Zealand Daylight Time 1999

Nathan F Yospe wrote:
> On Fri, 1 Jan 1999, Emil Eifrem wrote:
> :Does anyone have any pointers to info about different skill systems? Most
> :notably 'skill trees' and 'skill webs,' and preferably on design/coding
> :issues rather than concepts.
> :I have checked the archives, but didn't find any real explanations about
> :it. I may have missed it though, the lack of boolean search options in the
> :search engine tend to make exhaustive searches tedious at best. (Did you
> :guys *know* how often you say 'skill tree'?)
> As the guy who coined "Skill Web" I ought to answer this one. There will
> be more info if you cross ref my name on your search, but, for now... it
> would be unfair to just dangle that in front of you and not add anything
> new. So... another informational post. *sigh* holiday break, working and
> all, has made me soft... I wasn't going to think mud for another five or
> six months.
> Skill Webs
> A means of addressing multiple related skills without the drawbacks of a
> limited single inheritance system or messy multiple inheritance. (I have
> only seen skill trees implemented as a single inheritance system, but am
> aware of at least one person on the list who uses MI in a sort of teired
> layering.)

(skill == spell for this discussion)
I use a system where each skill may have 0 or more pre-requisites, and
0 or more 'enables'.  When ever you learn a skill past 50%, then I do
a check on all of the enables.  For each enable, if it (now) has all
of it's pre-requisites learned at least 50%, then I add this skill to
the player's collection of skills, with a learned percentage of 1.

I do linear lookups for this, so it could be more efficient:  However
as it is relatively rarely used, brute force is the way to go!!

To start a class, I simply choose the correct 'base' skill or skills,
and then the only limiting factor is how many practices the person has.

I do have a way to put a hard minimum level restriction, but I use it
rarely, if ever.

If you would like to see an (almost up to date) graph of my skill
structure, check out:

The blue arrows represent 'requires', the black represent 'enables'.
The graph was drawn with the "graphviz" tool, dot.  If you want more
info on dot, let me know, it's cool :) 

> Nathan F. Yospe - Born in the year of the tiger, riding it forever after
> University of Hawaii at Manoa, Dept of Physics, second year senior (joy)
> (On Call) Associate Algorithm Developer, Textron Systems Corp, Maui Ops.
> yospe#hawaii.edu http://www2.hawaii.edu/~yospe Non commercial email only
> --
> MUD-Dev: Advancing an unrealised future.

Ben Greear (greear at cyberhighway.net)  http://www.primenet.com/~greear 
Author of ScryMUD:  mud.primenet.com 4444

More information about the MUD-Dev mailing list