1998Q2/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: [MUD&#45;Dev] Re: CGDC, a summary -->
<!--X-From-R13: Oqnz Ivttvaf <nqnzNnatry.pbz> -->
<!--X-Date: Mon, 18 May 1998 15:24:38 &#45;0700 -->
<!--X-Message-Id: Pine.SGI.3.96.980518142612.2624O&#45;100000#red,angel.com -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: 11A17AA2B9EAD111BCEA00A0C9B41793053F1F@DHCP&#45;98&#45;2.origin.ea.com -->
<!--X-Head-End-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>MUD-Dev message, [MUD-Dev] Re: CGDC, a summary</title>
<!-- meta name="robots" content="noindex,nofollow" -->
<link rev="made" href="mailto:adam#angel,com">
</head>
<body background="/backgrounds/paperback.gif" bgcolor="#ffffff"
      text="#000000" link="#0000FF" alink="#FF0000" vlink="#006000">

  <font size="+4" color="#804040">
    <strong><em>MUD-Dev<br>mailing list archive</em></strong>
  </font>
      
<br>
[&nbsp;<a href="../">Other Periods</a>
&nbsp;|&nbsp;<a href="../../">Other mailing lists</a>
&nbsp;|&nbsp;<a href="/search.php3">Search</a>
&nbsp;]
<br clear=all><hr>
<!--X-Body-Begin-->
<!--X-User-Header-->
<!--X-User-Header-End-->
<!--X-TopPNI-->

Date:&nbsp;
[&nbsp;<a href="msg00671.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00673.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg00664.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00666.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#00672">Author</A>
&nbsp;|&nbsp;<A HREF="#00672">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#00672">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>[MUD-Dev] Re: CGDC, a summary</H1>
<HR>
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<UL>
<LI><em>To</em>: "'<A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A>'" &lt;<A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A>&gt;</LI>
<LI><em>Subject</em>: [MUD-Dev] Re: CGDC, a summary</LI>
<LI><em>From</em>: Adam Wiggins &lt;<A HREF="mailto:adam#angel,com">adam#angel,com</A>&gt;</LI>
<LI><em>Date</em>: Mon, 18 May 1998 15:24:22 -0700 (PDT)</LI>
<LI><em>Reply-To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A></LI>
<LI><em>Sender</em>: "Petidomo List Agent -- Kanga.Nu version" &lt;<A HREF="mailto:petidomo#kanga,nu">petidomo#kanga,nu</A>&gt;</LI>
</UL>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<HR>
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<PRE>
On Mon, 18 May 1998, Koster, Raph wrote:
&gt; On Sunday, May 17, 1998 10:16 PM Travis S. Casey [SMTP:efindel#io,com]
&gt; &gt; This is the primary reason why I favor learn-by-using-based skill
&gt; &gt; systems.  In such a system, players are free to define their own goals
&gt; &gt; (at least, as far as character advancement goes), and the means of
&gt; &gt; achieving those goals to is to exercise the skill in question.
&gt; &gt; future.
&gt; 
&gt; And now those who made those choices are sorta in backlash against it.
&gt; Quite aside from the difficulty of balancing a skill-based system (as
&gt; opposed to a class-based system, and yes, there are many half-and-half
&gt; systems that can be designed) it's the usage part that is problematic.
&gt; It led to a lot of sitting and macroing, and the advancement rates for
&gt; differing skill are hellish to balance out.

My friend showed me a client for UO that uses screen positions and
compares on pixel colors to automate things like spellcasting and
character healing.  I suppose it's a sign of success that someone would
put that much work into trying to "cheat" :)

&gt; A couple of issues/approaches/etc
&gt; * What UO did: each time a skill test is done, chance of increase,
&gt; weighted by an advancement table (UO actually tries to generate said
&gt; table based on skill usage frequency)

I must say I was somewhat underwhelmed by UO's skill advacement.  You guys
seemed to manage to avoid using standard devices to limit macroing which I
thought were cannon by now.  (Was this done on purpose, or just due to
time constraints?)
For instance...learning to hide by just standing in a room pounding the
hide key over and over?  Not only is that easy to macro, but it begs it,
since it's not fun.  Normally a skill like hide gets a chance to go up
when someone tries to find you, not when you just crouch in a corner by
yourself.

&gt; * Make it time based--skills must achieve a certain minimum number of
&gt; tallies in a given span of time, and learning takes place after that
&gt; span of time

This is a good one.  Set up properly, it means that using a skill ten
times or one hundred times in the course of an hour results in the same
advancement, making macroing absolutely pointless.  I believe the first
effective use of this was made by RuneQuest.

A good example: while playing on YaMUD (a from-scratch, classless,
skill-based mud that never gained much popularity) my friend and I decided
to try to learn up our languages the "hard" way (ie, not going to the
language teacher) in order to save money.  So we'd spam each other
speaking in our native language trying to get the skills up.  We quickly
figured out that you only got once chance per minute (or so, I don't know
how long the time period was) to learn the skill, and after that
(regardless of whether your skill went up or not) you couldn't learn again
until a minute had passed.  So we took to throwing odd phrases out here
and there in different languages every so often.  Not only was this more
fun, but it made sense and prevented spam-bot learning.

&gt; * Put in a traditional "practice points" system or something to serve as
&gt; barrier of entry

YaMud had no classes or levels, but it did have experience in the form of
skill points.  You 'spent' these skill points at a teacher to raise your
skill.  In addition, there were limits to how much a skill could go up
either exclusively at a teacher or exclusively on your own.  You had to
use a mix of both practicing the skill and training at a teacher to have
it go up properly.
Although not very "realistic" (I'm starting to dislike using that word),
this is probably one of the easier ways to balance overall skill learning,
since it's a number that is directly tunable.  Most of the parameters for
skill system have somewhat indirect effects on the system as a whole,
making them difficult to tune easily.  Legend has one of the simpler but
most effective skill point systems I've seen: one skill point per level,
with each level costing a certain amount of experience.

Our skill system, which I've described before, is rather complex (although
not probably not nearly as much so as Nathan's skill web).  Besides
involving several hundred skills organized into a tree and assigned
difficulty, we store several values for each skill - specifically three,
one for your 'potential', one for your actual skill, and a time value
(when that skill was last learned, and when it was last used).
I'm extremely happy with it, but our testing has been limited to brief
alphas with a few (like, a dozen) of our friends, so it's certainly hasn't
had any real stress testing.

&gt; * You've got the nasty "atrophy problem" too--players hate losing skill
&gt; points, but a usage based system implies eventually maxing out in
&gt; everything. Either this or some form of "skills in opposition" table or
&gt; something encourages specialization and doesn' t preclude later change
&gt; of character emphasis (which we have found to be popular).

Yes.  It's always better to set things up so that they seem less limiting,
even if they really are. :)

I've heard some highly amusing stories about the effects of your skill
system.  My favorite was probably the "lute of death": since someone using
a skill near you gave a small chance to learn, a few strums of a lute near
a skill-maxed mage could increase his musicianship a few points, thus
sending his hard-earned thaumaturgy skills spiraling downwards...

Skill based systems are very cool and as a player I much prefer them, but
they are quite difficult to balance.  IMO Legend did a very good job, but
it had the advantage of simplicity and the fact that it was under less
"stress" due to a much smaller playerbase.

Adam


-- 
MUD-Dev: Advancing an unrealised future.

</PRE>

<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<HR>
<!--X-Follow-Ups-End-->
<!--X-References-->
<UL><LI><STRONG>References</STRONG>:
<UL>
<LI><STRONG><A NAME="00664" HREF="msg00664.html">[MUD-Dev] Re: CGDC, a summary</A></STRONG>
<UL><LI><EM>From:</EM> "Koster, Raph" &lt;rkoster#origin,ea.com&gt;</LI></UL></LI>
</UL></LI></UL>
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg00671.html">[MUD-Dev] Re: Leaving characters in play</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg00673.html">[MUD-Dev] Re: CGDC, a summary</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00664.html">[MUD-Dev] Re: CGDC, a summary</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg00666.html">[MUD-Dev] Re: CGDC, a summary</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#00672"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#00672"><STRONG>Thread</STRONG></A></LI>
</UL>
</LI>
</UL>

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
<ul><li>Thread context:
<BLOCKQUOTE><UL>
<LI><STRONG>[MUD-Dev] Re: CGDC, a summary</STRONG>, <EM>(continued)</EM>
<ul compact>
<ul compact>
<ul compact>
<ul compact>
<ul compact>
<ul compact>
<LI><strong><A NAME="00880" HREF="msg00880.html">[MUD-Dev] Re: CGDC, a summary</A></strong>, 
J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Thu 04 Jun 1998, 23:01 GMT
</LI>
</ul>
<LI><strong><A NAME="00870" HREF="msg00870.html">[MUD-Dev] Re: CGDC, a summary</A></strong>, 
J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Wed 03 Jun 1998, 19:21 GMT
</LI>
</ul>
</ul>
</ul>
</ul>
<LI><strong><A NAME="00656" HREF="msg00656.html">[MUD-Dev] Re: CGDC, a summary</A></strong>, 
Orion Henry <a href="mailto:orionZ#ix,netcom.com">orionZ#ix,netcom.com</a>, Sun 17 May 1998, 21:55 GMT
</LI>
<LI><strong><A NAME="00664" HREF="msg00664.html">[MUD-Dev] Re: CGDC, a summary</A></strong>, 
Koster, Raph <a href="mailto:rkoster#origin,ea.com">rkoster#origin,ea.com</a>, Mon 18 May 1998, 15:11 GMT
<UL>
<LI><strong><A NAME="00672" HREF="msg00672.html">[MUD-Dev] Re: CGDC, a summary</A></strong>, 
Adam Wiggins <a href="mailto:adam#angel,com">adam#angel,com</a>, Mon 18 May 1998, 22:24 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="00666" HREF="msg00666.html">[MUD-Dev] Re: CGDC, a summary</A></strong>, 
Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Mon 18 May 1998, 17:16 GMT
</LI>
<LI><strong><A NAME="00668" HREF="msg00668.html">[MUD-Dev] Re: CGDC, a summary</A></strong>, 
Koster, Raph <a href="mailto:rkoster#origin,ea.com">rkoster#origin,ea.com</a>, Mon 18 May 1998, 17:49 GMT
<UL>
<LI><strong><A NAME="00734" HREF="msg00734.html">[MUD-Dev] Re: CGDC, a summary</A></strong>, 
J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Wed 20 May 1998, 18:46 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="00673" HREF="msg00673.html">[MUD-Dev] Re: CGDC, a summary</A></strong>, 
Koster, Raph <a href="mailto:rkoster#origin,ea.com">rkoster#origin,ea.com</a>, Mon 18 May 1998, 22:56 GMT
</LI>
</ul>
</LI>
</UL></BLOCKQUOTE>

</ul>
<hr>
<center>
[&nbsp;<a href="../">Other Periods</a>
&nbsp;|&nbsp;<a href="../../">Other mailing lists</a>
&nbsp;|&nbsp;<a href="/search.php3">Search</a>
&nbsp;]
</center>
<hr>
</body>
</html>