1997Q3/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: Re: [MUD&#45;Dev] Resource management -->
<!--X-From-R13: pynjerapNphc.uc.pbz -->
<!--X-Date: Wed, 17 Sep 1997 21:03:44 +0000 -->
<!--X-Message-Id: 199709172100.OAA00632#xsvr3,cup.hp.com -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: 199709122248.AAA19728#xs1,simplex.nl -->
<!--X-Head-End-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>MUD-Dev message, Re: [MUD-Dev] Resource management</title>
<!-- meta name="robots" content="noindex,nofollow" -->
<link rev="made" href="mailto:clawrenc#cup,hp.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="msg01240.html">Previous</a>
&nbsp;|&nbsp;<a href="msg01242.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg01200.html">Previous</a>
&nbsp;|&nbsp;<a href="msg01192.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#01241">Author</A>
&nbsp;|&nbsp;<A HREF="#01241">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#01241">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>Re: [MUD-Dev] Resource management</H1>
<HR>
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<UL>
<LI><em>To</em>: <A HREF="mailto:mud-dev#null,net">mud-dev#null,net</A></LI>
<LI><em>Subject</em>: Re: [MUD-Dev] Resource management</LI>
<LI><em>From</em>: <A HREF="mailto:clawrenc#cup,hp.com">clawrenc#cup,hp.com</A></LI>
<LI><em>Date</em>: Wed, 17 Sep 97 13:47:28 -0700</LI>
<LI><em>Reply-to</em>: <A HREF="mailto:claw#null,net">claw#null,net</A></LI>
</UL>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<HR>
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<PRE>
In &lt;<A HREF="msg01200.html">199709122248.AAA19728#xs1,simplex.nl</A>&gt;, on 09/12/97 
   at 04:03 PM, "Felix A. Croes" &lt;felix#xs1,simplex.nl&gt; said:

&gt;clawrenc#cup,hp.com wrote:
&gt;&gt; In &lt;<A HREF="msg01167.html">199709090625.BAA01336#dfw-ix2,ix.netcom.com</A>&gt;, on 09/08/97 
&gt;&gt;    at 11:27 PM, "Jon A. Lambert" &lt;jlsysinc#ix,netcom.com&gt; said:

&gt;&gt; &gt;You
&gt;&gt; &gt;also mention your desire to be able to run queries into how many of
&gt;&gt; &gt;X where killed by means of Y, etc.  I've always wondered how 
&gt;&gt; &gt;effectively one could administrate a mud without any notion of what's
&gt;&gt; &gt;actually going one inside the world, especially these critical 
&gt;&gt; &gt;resources.  
&gt;&gt;
&gt;&gt; I'll note that I know of no current MUD servers (LP, DIKU, Tiny-*,
&gt;&gt; MOO, Unter, Uber, Yama, DGD, OgHam, Merc, Interlude, Cool, ColdX etc)
&gt;&gt; which have anything along this line of audit facilities.

&gt;DGD, or rather the kernel library (core database) that's included
&gt;with DGD has a generic resource management system.  Also, LambdaMOO
&gt;has object size quotas.

I haven't had a chance to look at DGD's setup.  I'm well familiar with
LambdaMOO's quotas.  What I'm looking for more is an audit system
which allows querying (either directly of the DB, from logs, or
whatever) to locate and fix game flaws (balance etc).  The sample
query I've usually given for this sort of thing is:

  Show me every player which has killed mobile XXX, cross-referenced
with each weapon and spell he used in that fight, listing the amount
of damage done by that item, and crossed with a similar list of other
players/items who assisted in killing XXX within 3 minutes prior to
XXX's death.

&gt;The resource system allows definition of new resources on the fly, as
&gt;well as removal of existing ones.  Anything can be made into a
&gt;resource, including the amount of programmer-defined resources. All
&gt;resources are defined system-wide, so each programmer has the same
&gt;resources, but imposed limitations may differ, and can be adjusted on
&gt;the fly.  The maximum for each resource may be "infinite".

&gt;Per programmer, resource usage measurement can be more fine-grained,
&gt;for instance per object.

&gt;It is up to the admin of the mud to use the resource management
&gt;system where needed, and to ensure that money cannot be brought into
&gt;the game without updating the relevant resources, etc.

I've adopted slightly different key assumptions for my resource sets:

  1) The set sum of all resources for the entire world will always be
zero.

  2) Creation of any resource will always create an equal and opposite
resource to maintain the balance.

  3) Resources of opposite type mutually self-destruct on contact.

  4) Resources may be mutated into other/different types.  Such
mutations are expensive (typically involve the destruction of other
resources), but will always maintain the zero sum.

  5) Actions and objects may consume resource objects only by emitting
other resource types to maintain the balance, or by consuming a
balanced diet of resource objects (may be of different types, eg +ve
mana and -ve life in an appropriate ratio).

One of the key side effects of this is that there are no more
ceilings.  I do make the cost of increasing a local divergance from
zero geometrically expensive (creating 50 mana locally is cheap, the
next 50 are not so cheap, another 50 10,000 particles later is
incredibly expensive).  The keep things fun the mutation costs for
resource particles (transform one resource into another) are cheaper
than the creation costs).  This will hopefully result in a fairly
level resource spread across the world (steady state) with occassional
(not too difficult to create) massive peaks and holes as players do
their thang.

Or, to repeat the mantra:

  Everything is absolutely normal, just like everywhere else, except
where its not normal, in which case its *really* not normal.

I predict that I'm going to have to spend a fair while tinking to get
the system to be suitably aggressive in returning to its steady/null
state without making it too difficult to create the peaks and valleys.

-- 
J C Lawrence                           Internet: claw#null,net
(Contractor)                           Internet: coder#ibm,net
---------------(*)               Internet: clawrenc#cup,hp.com
...Honorary Member Clan McFUD -- Teamer's Avenging Monolith...


</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="01200" HREF="msg01200.html">[MUD-Dev] Resource management</A></STRONG>
<UL><LI><EM>From:</EM> "Felix A. Croes" &lt;felix#xs1,simplex.nl&gt;</LI></UL></LI>
</UL></LI></UL>
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg01240.html">Re: [MUD-Dev]  PK again (was: Character evolution)</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg01242.html">[MUD-Dev]  Usability and interface and who the hell is supposed to be playing, anyway?</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg01200.html">[MUD-Dev] Resource management</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg01192.html">Problems with admin thru consensus (long)</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#01241"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#01241"><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><A NAME="01205" HREF="msg01205.html">Re: [MUD-Dev]  Mud Games</A></strong>, 
Travis Casey <a href="mailto:efindel#io,com">efindel#io,com</a>, Sat 13 Sep 1997, 21:58 GMT
<UL>
<LI><strong><A NAME="01243" HREF="msg01243.html">Re: [MUD-Dev]  Mud Games</A></strong>, 
clawrenc <a href="mailto:clawrenc#cup,hp.com">clawrenc#cup,hp.com</a>, Wed 17 Sep 1997, 21:12 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="01202" HREF="msg01202.html">[MUD-Dev]  Mud Games (fwd)</A></strong>, 
Make Nylander <a href="mailto:thenewt#USIT,NET">thenewt#USIT,NET</a>, Sat 13 Sep 1997, 03:10 GMT
<LI><strong><A NAME="01200" HREF="msg01200.html">[MUD-Dev] Resource management</A></strong>, 
Felix A. Croes <a href="mailto:felix#xs1,simplex.nl">felix#xs1,simplex.nl</a>, Fri 12 Sep 1997, 22:47 GMT
<UL>
<LI><strong><A NAME="01241" HREF="msg01241.html">Re: [MUD-Dev] Resource management</A></strong>, 
clawrenc <a href="mailto:clawrenc#cup,hp.com">clawrenc#cup,hp.com</a>, Wed 17 Sep 1997, 21:03 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="01192" HREF="msg01192.html">Problems with admin thru consensus (long)</A></strong>, 
clawrenc <a href="mailto:clawrenc#cup,hp.com">clawrenc#cup,hp.com</a>, Fri 12 Sep 1997, 17:57 GMT
<UL>
<LI><strong><A NAME="01209" HREF="msg01209.html">Re: [MUD-Dev]  Problems with admin thru consensus (long)</A></strong>, 
Jon A. Lambert <a href="mailto:jlsysinc#ix,netcom.com">jlsysinc#ix,netcom.com</a>, Sun 14 Sep 1997, 14:16 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="01177" HREF="msg01177.html">Getting players to cooperate (was Modeling spells/skills as collections of affects)</A></strong>, 
Maddy <a href="mailto:maddy#fysh,org">maddy#fysh,org</a>, Thu 11 Sep 1997, 10:59 GMT
<LI><strong><A NAME="01148" HREF="msg01148.html">[MUD-Dev] Affecting the world</A></strong>, 
##Make Nylander <a href="mailto:thenewt#use,usit.net">thenewt#use,usit.net</a>, Sun 07 Sep 1997, 21:57 GMT
</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>