1998Q3/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: [MUD&#45;Dev] Re: let's call it a spellcraft -->
<!--X-From-R13: Xba Zrbaneq <wyrbaneqNqvipbz.fyvzl.pbz> -->
<!--X-Date: Mon, 28 Sep 1998 23:10:13 &#45;0700 -->
<!--X-Message-Id: 19980928230842.A14731#divcom,slimy.com -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: 8625668A.0051A5B7.00#usmta03,itsc.na.abnamro.com -->
<!--X-Head-End-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>MUD-Dev message, [MUD-Dev] Re: let's call it a spellcraft</title>
<!-- meta name="robots" content="noindex,nofollow" -->
<link rev="made" href="mailto:jleonard#divcom,slimy.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="msg01349.html">Previous</a>
&nbsp;|&nbsp;<a href="msg01351.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg01220.html">Previous</a>
&nbsp;|&nbsp;<a href="msg01222.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#01350">Author</A>
&nbsp;|&nbsp;<A HREF="#01350">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#01350">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>[MUD-Dev] Re: let's call it a spellcraft</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></LI>
<LI><em>Subject</em>: [MUD-Dev] Re: let's call it a spellcraft</LI>
<LI><em>From</em>: Jon Leonard &lt;<A HREF="mailto:jleonard#divcom,slimy.com">jleonard#divcom,slimy.com</A>&gt;</LI>
<LI><em>Date</em>: Mon, 28 Sep 1998 23:08:42 -0700</LI>
<LI><em>Cc</em>: Jon Leonard &lt;<A HREF="mailto:jleonard#divcom,slimy.com">jleonard#divcom,slimy.com</A>&gt;</LI>
<LI><em>Reply-To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A></LI>
</UL>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<HR>
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<PRE>
On Fri, Sep 25, 1998 at 10:59:44AM -0500, Michael.Willey#abnamro,com wrote:
&gt;      ____________________Reply Separator____________________
&gt;      Subject:  [MUD-Dev] Re: let's call it a spellcraft
&gt;      Author:   mud-dev#kanga,nu (James Wilson &lt;jwilson#rochester,rr.com&gt;)
&gt;      Date:          9/24/98 11:32 PM
&gt; 
&gt; ---------------------------------
&gt; &gt;Perhaps the following is obvious to you, but I had to
&gt; &gt;do a bit of math to see how different these are:
&gt; &gt;
&gt; &gt;if the cost of moving from p pips to p+1 pips is about
&gt; &gt;e^p experience points, then if you define p (x) :=
&gt; &gt;attribute pips when experience is x you can get a good
&gt; &gt;simulation of the derivative with p' (x) = e^(-x) so
&gt; &gt;p (x) = C - e^(-x) (where C is some constant). As
&gt; &gt;x-&gt;infinity, e^(-x)-&gt;0, so p(x)-&gt;C. Thus p(x) is
&gt; &gt;asymptotic to the horizontal line C.
&gt; &gt;
&gt; &gt;Translation: difficulty proportional to e^(current
&gt; &gt;stat) implies that there is an upper bound on the stat
&gt; &gt;value.

The math doesn't work out that way.  Just because p'(x) has limit 0
as x goes to infinity doesn't mean that p(x) has a constant limit.
The alternative is a function that grows without bound, albiet slowly.
Log is of course such a function.  (For any C, log of e^(c+1) is larger...)

&gt; Hmm.  I'm not seeing that, probably because we're not
&gt; tracking your x value.  Instead of an experience cost,
&gt; skill advancement is based on use so that the base chance
&gt; to advance from p to p+1 is 1 in e^p per use, modified
&gt; as appropriate.  There are no experience points, so x
&gt; is worked out of the equation.  There doesn't appear to
&gt; be an upper bound here, although advancement becomes
&gt; incredibly slow very quickly and eventually also bumps
&gt; up against maxint.

This has a very similar average behaviour.  It grows without bound,
assuming infinite prescision arithmatic.  It just takes a very long time
to get reasonably large.

&gt; However, if I'm missing something in the math here,
&gt; please feel free to thump me over the head with it before
&gt; I implement this.

The math isn't my main reason for following up, though.  The more
interesting question this raises is what kind of function should relate
experience to skill level.  I'm dubious about e^x as a level-&gt;experience
function.  It seems to me that it would result in most players quickly
reaching a competent level, and there only being 3 or 4 levels achieved
beyond that.  My memory of a game with the easier 2^x being frustrating
because later levels were too far apart agrees...  At some point a token
advancement will require more work than you've put in so far, total.

I haven't done any experimentation, but I was planning on using a system
where experience to the 2/3 power yields the skill (mixed with a skill
web, but that's an orthogonal issue).  What function do people think is
appropriate?  Some mix of taking time to develop skills, and being
continually rewarding to players (support players who like to see numbers
go up, even if it doesn't mean much), possibly with some sort of cap is
best, I think.

The implementation for nearly any such function can be fairly simple.
Store the current skill level, the current experience, and cache the
experience needed for the next skill level.  Recalculate it when the
skill goes up, and if it's been un-cached for some reason.  You may
need to store skill as something longer than a 32-bit integer, of course.

Jon Leonard


</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="01220" HREF="msg01220.html">[MUD-Dev] Re: let's call it a spellcraft</A></STRONG>
<UL><LI><EM>From:</EM> Michael.Willey#abnamro,com</LI></UL></LI>
</UL></LI></UL>
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg01349.html">[MUD-Dev] Re: META: who are we?</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg01351.html">[MUD-Dev] Re: A little help</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg01220.html">[MUD-Dev] Re: let's call it a spellcraft</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg01222.html">[MUD-Dev] Re: let's call it a spellcraft</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#01350"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#01350"><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: let's call it a spellcraft</STRONG>, <EM>(continued)</EM>
<ul compact>
<LI><strong><A NAME="01200" HREF="msg01200.html">[MUD-Dev] Re: let's call it a spellcraft</A></strong>, 
Michael.Willey <a href="mailto:Michael.Willey#abnamro,com">Michael.Willey#abnamro,com</a>, Thu 24 Sep 1998, 22:12 GMT
<UL>
<LI><strong><A NAME="01203" HREF="msg01203.html">[MUD-Dev] Re: let's call it a spellcraft</A></strong>, 
James Wilson <a href="mailto:jwilson#rochester,rr.com">jwilson#rochester,rr.com</a>, Fri 25 Sep 1998, 00:15 GMT
</LI>
<LI><strong><A NAME="01208" HREF="msg01208.html">[MUD-Dev] Re: let's call it a spellcraft</A></strong>, 
Brandon J. Rickman <a href="mailto:ashes#pc4,zennet.com">ashes#pc4,zennet.com</a>, Fri 25 Sep 1998, 03:29 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="01220" HREF="msg01220.html">[MUD-Dev] Re: let's call it a spellcraft</A></strong>, 
Michael.Willey <a href="mailto:Michael.Willey#abnamro,com">Michael.Willey#abnamro,com</a>, Fri 25 Sep 1998, 14:57 GMT
<UL>
<LI><strong><A NAME="01350" HREF="msg01350.html">[MUD-Dev] Re: let's call it a spellcraft</A></strong>, 
Jon Leonard <a href="mailto:jleonard#divcom,slimy.com">jleonard#divcom,slimy.com</a>, Tue 29 Sep 1998, 06:10 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="01222" HREF="msg01222.html">[MUD-Dev] Re: let's call it a spellcraft</A></strong>, 
Michael.Willey <a href="mailto:Michael.Willey#abnamro,com">Michael.Willey#abnamro,com</a>, Fri 25 Sep 1998, 15:14 GMT
</LI>
<LI><strong><A NAME="01223" HREF="msg01223.html">[MUD-Dev] Re: let's call it a spellcraft</A></strong>, 
Michael.Willey <a href="mailto:Michael.Willey#abnamro,com">Michael.Willey#abnamro,com</a>, Fri 25 Sep 1998, 16:06 GMT
<UL>
<LI><strong><A NAME="01328" HREF="msg01328.html">[MUD-Dev] Re: let's call it a spellcraft</A></strong>, 
Brandon J. Rickman <a href="mailto:ashes#pc4,zennet.com">ashes#pc4,zennet.com</a>, Mon 28 Sep 1998, 03:27 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="01224" HREF="msg01224.html">[MUD-Dev] Re: let's call it a spellcraft</A></strong>, 
S. Patrick Gallaty <a href="mailto:choke#sirius,com">choke#sirius,com</a>, Fri 25 Sep 1998, 17:55 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>