1999Q2/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: Re: [MUD&#45;Dev] Virtual machine design -->
<!--X-From-R13: Pra Uerrne <terrneNploreuvtujnl.arg> -->
<!--X-Date: Sat, 17 Apr 1999 15:46:52 &#45;0700 -->
<!--X-Message-Id: 3718DDD1.E4DB6D0D#cyberhighway,net -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: 199904171426.QAA01828#pattern,dworkin.nl -->
<!--X-Head-End-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>MUD-Dev message, Re: [MUD-Dev] Virtual machine design</title>
<!-- meta name="robots" content="noindex,nofollow" -->
<link rev="made" href="mailto:greear#cyberhighway,net">
</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="msg00066.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00068.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg00064.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00076.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#00067">Author</A>
&nbsp;|&nbsp;<A HREF="#00067">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#00067">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>Re: [MUD-Dev] Virtual machine design</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>: Re: [MUD-Dev] Virtual machine design</LI>
<LI><em>From</em>: Ben Greear &lt;<A HREF="mailto:greear#cyberhighway,net">greear#cyberhighway,net</A>&gt;</LI>
<LI><em>Date</em>: Sat, 17 Apr 1999 19:15:29 +0000</LI>
<LI><em>Reply-To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A></LI>
<LI><em>Sender</em>: <A HREF="mailto:greear#burrito,cyberhighway.net">greear#burrito,cyberhighway.net</A></LI>
<LI><em>Sender</em>: <A HREF="mailto:mud-dev-admin#kanga,nu">mud-dev-admin#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>
"Felix A. Croes" wrote:
&gt; 
&gt; Ben Greear &lt;greear#cyberhighway,net&gt; wrote:
&gt; 
&gt; What constitutes a "real" programming language?  My guess is that you
&gt; consider internal programming languages too slow and not powerful
&gt; enough.

Speed doesn't really bother me, unless it's attrocious.  I'm more
concerned
with the power of the language.  To me a real language is anything that
has
variables and conditional branches.  I believe to use such a language,
you
need a decent understanding of logic flow and programming.  I don't
think
this is readily found in the general gaming populous.

&gt; Lacking in power: may be true for some languages, but not necessarily
&gt; for all of them.  Some are powerful enough that you cannot just write
&gt; muds in them, but any sort of internet server.

Yep, but once you reach this stage, I think the benefits of a more
standard language (c/c++/java/whatever) outweigh a proprietary language
that you write.  That doesn't mean that you couldn't write a perfectly
good
language for this sort of thing, but more that the effort you put into
it may not be justified, compared to what you can do with an already
written language/compiler/profiler.

&gt; 
&gt; "Common users can't program in any real language": did you just grant
&gt; internal programming languages the status of "real language"?  Or do
&gt; you mean that since internal programming languages are not "real", it
&gt; is possible that common users may be able to program in them?

Oh, I absolutely think there are many people on this list and elsewhere
that can write a relatively complete 'real' language for their game.  I
just don't think it's worth it!  I am *not* convinced that common users
will ever be able to use them (well?).

&gt; While a lot of users who attempt mud programming never master the
&gt; basic principles, it is be surprising to see how much they can
&gt; accomplish even so.  Anyone can make rooms and monsters, which may
&gt; have predefined behaviours implemented by more capable programmers.

That is why I see a more simple scripting language as more appropriate.
Let the real programmers program in a normal language, and let those
that can or want to script use the methods/commands available to them.

&gt; However, those who stand to gain the most from an internal programming
&gt; language are not the commot users -- who may never see any code,
&gt; depending on the type of mud -- but the expert programmers, because
&gt; of the boost in productivity obtained by writing in a high-level
&gt; language.

That is a good point, and I agree.

&gt;  - Programmers cannot crash the mud.  Nothing as silly as dereferencing
&gt;    a NULL pointer is possible.

So your internal language has no pointers?  I guess you could just
crash the individual 'programlets' instead of your entire server
if desired.  (By crash I mean abort abruptly, as the programmer
probably did not want it to happen.)

&gt;  - Any change can be made without taking the mud down, and takes effect
&gt;    immediately.  If necessary, it can also be instantly undone.  A well-
&gt;    run mud doesn't have to reboot.  This is particularly interesting
&gt;    for commercial muds, where downtime means loss of revenue and/or
&gt;    customer dissatisfaction.

I wonder if commercial muds would do *any* development on production
servers.  If your language is powerful enough to affect the game play,
then it's definately powerful enough to affect it negatively!

It would be much safer to have multiple copies of the servers, one to
develop on, and the other to host normal players on.

&gt;  - The mud can be made enormously complex without affecting the
&gt;    complexity and reliability of the basic server, which can in fact
&gt;    be smaller and simpler than what would be needed for even a
&gt;    medium-sized mud without internal programming language.

This implies an enormously complex set of internal programs, which I
would imagine would be just as hard to maintain as the normal server
code, perhaps more-so because you also have compilers to deal with, and
a non-standard language that your programmers must become proficient at.

&gt; 
&gt; Regards,
&gt; Felix Croes

-- 
Ben Greear (greear#cyberhighway,net)  <A  HREF="http://www.primenet.com/~greear">http://www.primenet.com/~greear</A> 
Author of ScryMUD:  mud.primenet.com 4444        (Released under GPL)
<A  HREF="http://www.primenet.com/~greear/ScryMUD/scry.html">http://www.primenet.com/~greear/ScryMUD/scry.html</A>


_______________________________________________
MUD-Dev maillist  -  MUD-Dev#kanga,nu
<A  HREF="http://www.kanga.nu/lists/listinfo/mud-dev">http://www.kanga.nu/lists/listinfo/mud-dev</A>


</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="00092" HREF="msg00092.html">Re: [MUD-Dev] Virtual machine design</A></strong>
<ul compact><li><em>From:</em> Hans-Henrik Staerfeldt &lt;hhs#cbs,dtu.dk&gt;</li></ul>
<li><strong><A NAME="00076" HREF="msg00076.html">Re: [MUD-Dev] Virtual machine design</A></strong>
<ul compact><li><em>From:</em> Matthew Mihaly &lt;diablo#best,com&gt;</li></ul>
</UL></LI></UL>
<!--X-Follow-Ups-End-->
<!--X-References-->
<UL><LI><STRONG>References</STRONG>:
<UL>
<LI><STRONG><A NAME="00064" HREF="msg00064.html">Re: [MUD-Dev] Virtual machine design</A></STRONG>
<UL><LI><EM>From:</EM> "Felix A. Croes" &lt;felix#dworkin,nl&gt;</LI></UL></LI>
</UL></LI></UL>
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg00066.html">Re: [MUD-Dev] Virtual machine design</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg00068.html">Re: [MUD-Dev] Virtual machine design</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00064.html">Re: [MUD-Dev] Virtual machine design</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg00076.html">Re: [MUD-Dev] Virtual machine design</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#00067"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#00067"><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>Re: [MUD-Dev] Virtual machine design</STRONG>, <EM>(continued)</EM>
<ul compact>
<LI><strong><A NAME="00065" HREF="msg00065.html">Re: [MUD-Dev] Virtual machine design</A></strong>, 
Jo Dillon <a href="mailto:emily#thelonious,new.ox.ac.uk">emily#thelonious,new.ox.ac.uk</a>, Sat 17 Apr 1999, 16:49 GMT
</LI>
<LI><strong><A NAME="00060" HREF="msg00060.html">Re: [MUD-Dev] Virtual machine design</A></strong>, 
Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Sat 17 Apr 1999, 16:31 GMT
<UL>
<LI><strong><A NAME="00080" HREF="msg00080.html">Re: [MUD-Dev] Virtual machine design</A></strong>, 
claw <a href="mailto:claw#kanga,nu">claw#kanga,nu</a>, Mon 19 Apr 1999, 07:52 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="00064" HREF="msg00064.html">Re: [MUD-Dev] Virtual machine design</A></strong>, 
Felix A. Croes <a href="mailto:felix#dworkin,nl">felix#dworkin,nl</a>, Sat 17 Apr 1999, 16:46 GMT
<UL>
<LI><strong><A NAME="00067" HREF="msg00067.html">Re: [MUD-Dev] Virtual machine design</A></strong>, 
Ben Greear <a href="mailto:greear#cyberhighway,net">greear#cyberhighway,net</a>, Sat 17 Apr 1999, 22:46 GMT
<UL>
<LI><strong><A NAME="00076" HREF="msg00076.html">Re: [MUD-Dev] Virtual machine design</A></strong>, 
Matthew Mihaly <a href="mailto:diablo#best,com">diablo#best,com</a>, Sun 18 Apr 1999, 17:13 GMT
</LI>
<LI><strong><A NAME="00092" HREF="msg00092.html">Re: [MUD-Dev] Virtual machine design</A></strong>, 
Hans-Henrik Staerfeldt <a href="mailto:hhs#cbs,dtu.dk">hhs#cbs,dtu.dk</a>, Tue 20 Apr 1999, 06:24 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="00069" HREF="msg00069.html">RE: [MUD-Dev] Rebooting (was: Virtual machine design)</A></strong>, 
Eli Stevens (KiZurich) <a href="mailto:c718157#showme,missouri.edu">c718157#showme,missouri.edu</a>, Sun 18 Apr 1999, 06:29 GMT
</LI>
<LI><strong><A NAME="00070" HREF="msg00070.html">RE: [MUD-Dev] Virtual machine design</A></strong>, 
Eli Stevens (KiZurich) <a href="mailto:c718157#showme,missouri.edu">c718157#showme,missouri.edu</a>, Sun 18 Apr 1999, 06:30 GMT
</LI>
</UL>
</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>