1998Q3/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: [MUD&#45;Dev] Let's talk about numbers. -->
<!--X-From-R13: "Xba O. Znzoreg" <wyflfvapNvk.argpbz.pbz> -->
<!--X-Date: Thu, 24 Sep 1998 23:00:31 &#45;0700 -->
<!--X-Message-Id: 199809250559.AAA12886@dfw&#45;ix14.ix.netcom.com -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: 199809240523.AAA14210@dfw&#45;ix10.ix.netcom.com -->
<!--X-Reference: Pine.LNX.3.93.980924113713.30597A&#45;100000#pc4,zennet.com -->
<!--X-Head-End-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>MUD-Dev message, [MUD-Dev] Let's talk about numbers.</title>
<!-- meta name="robots" content="noindex,nofollow" -->
<link rev="made" href="mailto:jlsysinc#ix,netcom.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="msg01216.html">Previous</a>
&nbsp;|&nbsp;<a href="msg01218.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg01228.html">Previous</a>
&nbsp;|&nbsp;<a href="msg01323.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#01217">Author</A>
&nbsp;|&nbsp;<A HREF="#01217">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#01217">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>[MUD-Dev] Let's talk about numbers.</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] Let's talk about numbers.</LI>
<LI><em>From</em>: "Jon A. Lambert" &lt;<A HREF="mailto:jlsysinc#ix,netcom.com">jlsysinc#ix,netcom.com</A>&gt;</LI>
<LI><em>Date</em>: Fri, 25 Sep 1998 01:59:33 -5</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 24 Sep 98, Brandon J. Rickman wrote:
&gt; On Thu, 24 Sep 1998, Jon A. Lambert wrote:
&gt; &gt; On 23 Sep 98, Adam J. Thornton wrote:
&gt; &gt; &gt; There's a great maxim from somewhere that I can't remember: there
&gt; &gt; &gt; are only three interesting numbers: zero, one, and
&gt; &gt; &gt; infinity-defined-as-the-largest- number-your-machine-can-deal-with. 
&gt; &gt; &gt; I've found it's usually a good maxim to apply: either you can't have
&gt; &gt; &gt; something, you can have one of it, or I'll try to allocate space for
&gt; &gt; &gt; it for you and let you know if I can't.
&gt; &gt; 
&gt; &gt; ...
&gt; &gt; I agree,  we should always attempt an implementation  in terms 0, 1 
&gt; &gt; and many(unknown/infinity/X).  There are exceptions and instances 
&gt; &gt; where we must pay homage at some level to the failings of our 
&gt; &gt; silicon, but these should be rare and abstracted if possible.   
&gt; 
&gt; This is silly.

No it's not.  :)
 
&gt; Okay, say there are 3 interesting numbers: Zero, One, and Many. 
&gt; Since 3 is not interesting we should call it Many.  There are Many
&gt; interesting numbers.  Or there are 4 interesting numbers: Zero, One,
&gt; 3, and Many.
&gt; 
&gt; You are advocating a very rigid and inhumane programming practice. 

Is it?   Assume you are designing a mud and you decide upon modeling 
3 stats.   Your mud has been running for about a month and you've hit 
upon some good ideas and desire to extend your design to model 2 
additional stats.  If your implementation has assumed 'many' as 
opposed to '3' is it more easily modified?   Does this mean your 
original design was bad because you failed to originally document the 
need for the 2 additional stats, or good because you were able to 
modify your design because your implementation assumed extensibility?

&gt; Some thought should go into how numbers are important to the game,
&gt; not to the CPU.  Player stats ranging into the thousands would be
&gt; irritating, stats in the millions incomprehensible.  A player
&gt; walking around with 2^31 coins in her pocket is still a bug, even if
&gt; the code is bulletproof.

I'm not saying that assuming 'many' is to assume 'infinity' nor the 
limits of the CPU.  I probably shouldn't have parenthesized 
'infinity'.   Although it can't be discounted as a possibility in 
some scientific applications.  Yes there are often damn good reasons 
to impose limitations on 'many' in order to catch errors.  A string 
that expands to 1 megabyte may be an error.  Then again, it might 
also be a .jpeg file.  And there are often times when it is good 
practice to make an astract data type that exceeds the limitations of 
you CPU.  A 64-bit integer class on a 32-bit machine for instance.  
Later the class can be easily replaced by a true 64-bit integer.  
Depending upon bit flags and bit masks is another problem.  Look at 
my object-wear model on my web pages for an outstanding example of 
bad design.  (My only defense is that it was designed to be 
integrated into a server whose design was already shot to hell with 
magic-numbers ).

--
--/*\ Jon A. Lambert - TychoMUD     Internet:jlsysinc#ix,netcom.com /*\--
--/*\ Mud Server Developer's Page &lt;<A  HREF="http://www.netcom.com/~jlsysinc">http://www.netcom.com/~jlsysinc</A>&gt; /*\--
--/*\   "Everything that deceives may be said to enchant" - Plato   /*\--


</PRE>

<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<HR>
<ul compact><li><strong>Follow-Ups</strong>:
<ul>
<li><strong><A NAME="01323" HREF="msg01323.html">[MUD-Dev] Re: Let's talk about numbers.</A></strong>
<ul compact><li><em>From:</em> "Brandon J. Rickman" &lt;ashes#pc4,zennet.com&gt;</li></ul>
</UL></LI></UL>
<!--X-Follow-Ups-End-->
<!--X-References-->
<UL><LI><STRONG>References</STRONG>:
<UL>
<LI><STRONG><A NAME="01177" HREF="msg01177.html">[MUD-Dev] Re: let's call it a spellcraft</A></STRONG>
<UL><LI><EM>From:</EM> "Jon A. Lambert" &lt;jlsysinc#ix,netcom.com&gt;</LI></UL></LI>
<LI><STRONG><A NAME="01198" HREF="msg01198.html">[MUD-Dev] Re: let's call it a spellcraft</A></STRONG>
<UL><LI><EM>From:</EM> "Brandon J. Rickman" &lt;ashes#pc4,zennet.com&gt;</LI></UL></LI>
</UL></LI></UL>
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg01216.html">[MUD-Dev] Let's talk about numbers.</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg01218.html">[MUD-Dev] Re: META: What are you looking for in this list?</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg01228.html">[MUD-Dev] Re: numbers - was Re: spellcraft</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg01323.html">[MUD-Dev] Re: Let's talk about numbers.</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#01217"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#01217"><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>
<ul compact>
<ul compact>
<ul compact>
<ul compact>
<LI><strong><A NAME="01198" HREF="msg01198.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>, Thu 24 Sep 1998, 19:53 GMT
<UL>
<LI><strong><A NAME="01201" HREF="msg01201.html">[MUD-Dev] Re: let's call it a spellcraft</A></strong>, 
Adam J. Thornton <a href="mailto:adam#phoenix,Princeton.EDU">adam#phoenix,Princeton.EDU</a>, Thu 24 Sep 1998, 22:13 GMT
<UL>
<LI><strong><A NAME="01206" HREF="msg01206.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, 02:43 GMT
<UL>
<LI><strong><A NAME="01228" HREF="msg01228.html">[MUD-Dev] Re: numbers - was Re: spellcraft</A></strong>, 
Orion Henry <a href="mailto:orionz#ix,netcom.com">orionz#ix,netcom.com</a>, Fri 25 Sep 1998, 19:28 GMT
</LI>
</UL>
</LI>
</UL>
</LI>
<LI><strong><A NAME="01217" HREF="msg01217.html">[MUD-Dev] Let's talk about numbers.</A></strong>, 
Jon A. Lambert <a href="mailto:jlsysinc#ix,netcom.com">jlsysinc#ix,netcom.com</a>, Fri 25 Sep 1998, 06:00 GMT
<UL>
<LI><strong><A NAME="01323" HREF="msg01323.html">[MUD-Dev] Re: Let's talk about numbers.</A></strong>, 
Brandon J. Rickman <a href="mailto:ashes#pc4,zennet.com">ashes#pc4,zennet.com</a>, Mon 28 Sep 1998, 02:52 GMT
</LI>
</UL>
</LI>
</UL>
</LI>
</ul>
</ul>
<LI><strong><A NAME="01128" HREF="msg01128.html">[MUD-Dev] Re: let's call it a spellcraft</A></strong>, 
Travis Casey <a href="mailto:efindel#polaris,net">efindel#polaris,net</a>, Wed 23 Sep 1998, 06:56 GMT
<UL>
<LI><strong><A NAME="01129" HREF="msg01129.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>, Wed 23 Sep 1998, 11:56 GMT
<UL>
<LI><strong><A NAME="01209" HREF="msg01209.html">[MUD-Dev] Re: let's call it a spellcraft</A></strong>, 
Travis Casey <a href="mailto:efindel#polaris,net">efindel#polaris,net</a>, Fri 25 Sep 1998, 04:04 GMT
</LI>
</UL>
</LI>
</UL>
</LI>
</ul>
</ul>
</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>