[MUD-Dev] Languages for MUD drivers
Laurent Bossavit
laurent at netdive.com
Tue Nov 16 03:01:55 CET 1999
Hi all,
As my quest for the perfect M* server design continues (I've been a
deep lurker on the list for over one year, though some of you might
remember my interest at one time in porting LambdaMOO to Java (done,
but not the panacea I hoped)) I am more and more convinced that the
crucial parts are the underlying (implementation) and visible (world-
building) languages - ideally both being the same.
A lot of the issues M* server designers and implementors struggle
with are in fact active areas of programming language research. These
are in approximate order of importance (for M* writers!)
- distributed processing support (for large worlds)
- concurrent processing support (for reactive worlds)
- object orientation (for modular worlds)
- object persistence (as in MOO)
- run-time mutability (aka dynamic recompilation, as in MOO/ColdC)
- reflective capabilities (so programs can modify themselves)
- security (to enable in-game access to world code by 'wizards')
If we assume a language with the above properties, writing a M*
driver is almost trivial. A thin layer of network code will handle
client connections; a command parser will probably provide the most
challenging exercise in low-level programming, writing core
character/monster/item classes would almost belong to the 'world
design' category.
I've recently been looking a dozens of languages old and new to see
if any fit the bill - I'll mention as a random selection Obliq,
Phantom, Oz, Erlang... So far only one actively supported language
comes really close, E (www.erights.org). It's unfortunately not quite
finished yet - the language spec itself is still evolving and
persistence is not implemented - but in most other respects quite
attractive for the purposes stated above. (In fact it actually
started out as a language specifically to support virtual
environments).
If you agree (or disagree) with the above assessment, or have
pointers to languages which would make good candidates for
implementing a M* server, please speak up. ;)
-[Morendil]-
Press Ctrl-Alt-Del to continue
_______________________________________________
MUD-Dev maillist - MUD-Dev at kanga.nu
http://www.kanga.nu/lists/listinfo/mud-dev
More information about the mud-dev-archive
mailing list