[MUD-Dev] Virtual machine design

claw at kanga.nu claw at kanga.nu
Sun Apr 18 01:03:29 CEST 1999

On Sat, 17 Apr 1999 16:26:38 +0200 (CEST) 
Felix A Croes <felix at dworkin.nl> wrote:

> Ben Greear <greear at cyberhighway.net> wrote:

>> 1) Common users can't program in any real language, so why
>> implement one in the game.  Surely it would be easier to just
>> write all the code in a 'real' language of your choice and then
>> use readily available compilers to make it into a binary....

> What constitutes a "real" programming language?  My guess is that
> you consider internal programming languages too slow and not
> powerful enough.

Technically there is nothing preventing your server from compiling
your softcode down to highly optimised system-level binaries, and
then dynamically linking them into its runtime image via the
standard shared library API's for that plaform.  

> Too slow: taking a look at the history of the LPmud server family,
> it is interesting to note that the "speed wars" which spurred much
> of the development of the various servers until two or three years
> ago have all but died out.  The reason for this is that with
> current hardware, or even with previous generation hardware, most
> of these muds have all the speed that they'll ever need.

The only server family I'm currently aware of which is (accurately)
criticised with having preformance problems is MOO (and some of its
Tiny-* ancestors).  I find that kinda impressive.

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

Competent programmer/users who participate in the game culture will
regularly create features which benefit a disproportionally large
number of users, and define new econmic systems for that game (cf
LambdaMOO).  This is a reflaection of the fact that such
programmer/users are able to (re)define new resources and resource
relationships by their programming.  

You don't need a whole lot of such characters to do a whole lotta
good to your game.  You do have to have some tho.

>> 2) Common users can script, so I definately see the need for
>> simple scripting.  3) I understand that many people strive for a
>> basic interpreter type of shell, which is incredibly flexible,
>> and then use this language to write their game particulars in.
>> However, to me this looks a lot like re-writing the OS.

> Precisely.

I'll silently note that Shades, that venerable game of old, was
precidely this.  The game was the command shell for the OS.  There
was no exiting the game, or killing the server.  The game was the
OS'es command shell...just significantly re-written.

> Of course, there would be no point in redoing the operating system
> as it is.  

MUD servers bear a remarkable resemblance to simple OS'es.  In fact,
outside of some hardware specifica, is there anything an OS
generally does, or needs to do, that a MUD server doesn't?

J C Lawrence                              Internet: claw at kanga.nu
----------(*)                            Internet: coder at kanga.nu
...Honorary Member of Clan McFud -- Teamer's Avenging Monolith...

MUD-Dev maillist  -  MUD-Dev at kanga.nu

More information about the mud-dev-archive mailing list