1999Q2/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: [MUD&#45;Dev] Virtual machine design -->
<!--X-From-R13: Eunar Yvat <gunaqbeNqbahg.quvf.bet> -->
<!--X-Date: Thu, 15 Apr 1999 23:56:33 &#45;0700 -->
<!--X-Message-Id: 19990416195942.A1116#donut,dhis.org -->
<!--X-Content-Type: text/plain -->
<!--X-Head-End-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>MUD-Dev message, [MUD-Dev] Virtual machine design</title>
<!-- meta name="robots" content="noindex,nofollow" -->
<link rev="made" href="mailto:thandor#donut,dhis.org">
</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="msg00053.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00055.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg00269.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00057.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#00054">Author</A>
&nbsp;|&nbsp;<A HREF="#00054">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#00054">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>[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>: [MUD-Dev] Virtual machine design</LI>
<LI><em>From</em>: Shane King &lt;<A HREF="mailto:thandor#donut,dhis.org">thandor#donut,dhis.org</A>&gt;</LI>
<LI><em>Date</em>: Fri, 16 Apr 1999 19:59:43 +1000</LI>
<LI><em>Mail-Followup-To</em>: mud-dev#kanga,nu</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: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>
I'm currently working on a mud design, and what I'm really a little
stuck on is the best way to progress with respect to virtual machine
design. As I see it, there are four basic options I could go with:

1) A java virtual machine, running compiled java (or java-like) code
2) Adapt an existing virtual machine from another mud to my needs
3) Write my own virtual machine, and make it a target for the egcs
   compiler, thus allowing it to run byte compiled C/C++ code.
4) Write my own virtual machine, and write my own mud language.

Am I missing any options here?

Anyway, my thinking comes down to this:

The java option has some appeal, I must admit. However, sticking to the
jvm spec is both a plus and minus I guess. At least I have something to
work from, but it's also rather restrictive. On the up side, there's no
need to write a compiler. I know some people were talking about using a
jvm for the devmud vm though, so if they have any thoughts, I'd love to
hear them.

Adapting a virtual machine from another mud seems like the least work,
but I question how well it would work. I'd most likely have to also
adapt the language that those muds use. If I liked the availible
choices at present, I wouldn't want to make something new. So I don't
think this would be a good choice.

The vm that is a target of gcc/g++ is what I'm really thinking about
doing. It would have the advantage of the same code compiling to either
byte code or native code, which appeals to me greatly. And there would
also be nothing stopping me from writing a compiler for some other
language should I decide to do so. In short, this option seems to give
the greatest flexibility for the least amount of work. And knowing that
quake3 (although not a mud) uses a similar approach (with the lcc
compiler I believe), makes me think I'm right. Or am I?

The final option is probably a poor one, since the real problem with it
is (IMO) that people would rather not learn a language that's only
useful on a particular mud. They're more likely to use C/C++ which they
already know, or will be useful to them elsewhere if they learn. Thus
I'm wary of a making something that doesn't offer a "standard"
language, at least as an option (whether that be C/C++/java/whatever).

Any thoughts from people who have been through this? What choice did
you make and why?

-- 
- Shane King &lt;thandor#ihug,com.au&gt;     &lt;ICQ#:2492866&gt;
             &lt;<A  HREF="http://homepages.ihug.com.au/~thandor/">http://homepages.ihug.com.au/~thandor/</A>&gt;
"If a machine, a terminator, can learn the value of human life, maybe we
can too." - Sarah Connor, Terminator II: Judgement Day.


_______________________________________________
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="00065" HREF="msg00065.html">Re: [MUD-Dev] Virtual machine design</A></strong>
<ul compact><li><em>From:</em> Jo Dillon &lt;emily#thelonious,new.ox.ac.uk&gt;</li></ul>
<li><strong><A NAME="00058" HREF="msg00058.html">Re: [MUD-Dev] Virtual machine design</A></strong>
<ul compact><li><em>From:</em> Alex Stewart &lt;riche#crl,com&gt;</li></ul>
<li><strong><A NAME="00057" HREF="msg00057.html">Re: [MUD-Dev] Virtual machine design</A></strong>
<ul compact><li><em>From:</em> Ben Greear &lt;greear#cyberhighway,net&gt;</li></ul>
</UL></LI></UL>
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg00053.html">Re: [MUD-Dev] Blending graphics with text</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg00055.html">Re: [MUD-Dev] Blending graphics with text</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00269.html">[MUD-Dev] Re[2]: [MUD-Dev] Sockets</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg00057.html">Re: [MUD-Dev] Virtual machine design</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#00054"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#00054"><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] Sockets</STRONG>, <EM>(continued)</EM>
<ul compact>
<ul compact>
<ul compact>
<LI><strong><A NAME="00272" HREF="msg00272.html">Re: [MUD-Dev] Sockets</A></strong>, 
Travis Casey <a href="mailto:efindel#io,com">efindel#io,com</a>, Sun 16 May 1999, 21:10 GMT
</LI>
<LI><strong><A NAME="00293" HREF="msg00293.html">RE: [MUD-Dev] Sockets</A></strong>, 
Adam Wiggins <a href="mailto:adam#angel,com">adam#angel,com</a>, Tue 18 May 1999, 06:37 GMT
</LI>
</ul>
<LI><strong><A NAME="00257" HREF="msg00257.html">Re: [MUD-Dev] Sockets</A></strong>, 
Mark Gritter <a href="mailto:mark#erdos,Stanford.EDU">mark#erdos,Stanford.EDU</a>, Sat 15 May 1999, 09:31 GMT
</LI>
<LI><strong><A NAME="00269" HREF="msg00269.html">[MUD-Dev] Re[2]: [MUD-Dev] Sockets</A></strong>, 
Travis Casey <a href="mailto:efindel#io,com">efindel#io,com</a>, Sun 16 May 1999, 21:07 GMT
</LI>
</ul>
</ul>
</LI>
<LI><strong><A NAME="00054" HREF="msg00054.html">[MUD-Dev] Virtual machine design</A></strong>, 
Shane King <a href="mailto:thandor#donut,dhis.org">thandor#donut,dhis.org</a>, Fri 16 Apr 1999, 06:56 GMT
<UL>
<LI><strong><A NAME="00057" HREF="msg00057.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, 04:43 GMT
<UL>
<LI><strong><A NAME="00059" HREF="msg00059.html">Re: [MUD-Dev] Virtual machine design</A></strong>, 
Shane King <a href="mailto:thandor#donut,dhis.org">thandor#donut,dhis.org</a>, Sat 17 Apr 1999, 05:09 GMT
<UL>
<LI><strong><A NAME="00062" HREF="msg00062.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, 16:33 GMT
<UL>
<LI><strong><A NAME="00074" HREF="msg00074.html">Re: [MUD-Dev] Virtual machine design</A></strong>, 
claw <a href="mailto:claw#kanga,nu">claw#kanga,nu</a>, Sun 18 Apr 1999, 17:09 GMT
</LI>
</UL>
</LI>
</UL>
</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>