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

Ben Greear greear at cyberhighway.net
Sun Jan 3 11:00:44 CET 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:
www.primenet.com/~greear/ScryMUD/ss.gif

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
http://www.primenet.com/~greear/ScryMUD/scry.html




More information about the mud-dev-archive mailing list