<!-- MHonArc v2.4.4 --> <!--X-Subject: [MUD-Dev] Re: PDMud thread summary --> <!--X-From-R13: @vxynf Syzdivfg <q97ryzNqgrx.punyzref.fr> --> <!--X-Date: Thu, 22 Oct 1998 05:06:45 -0700 --> <!--X-Message-Id: Pine.SOL.3.96.981022133110.2984C-100000#licia,dtek.chalmers.se --> <!--X-Content-Type: text/plain --> <!--X-Reference: 19981022013503.A22302#divcom,slimy.com --> <!--X-Head-End--> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <html> <head> <title>MUD-Dev message, [MUD-Dev] Re: PDMud thread summary</title> <!-- meta name="robots" content="noindex,nofollow" --> <link rev="made" href="mailto:d97elm#dtek,chalmers.se"> </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> [ <a href="../">Other Periods</a> | <a href="../../">Other mailing lists</a> | <a href="/search.php3">Search</a> ] <br clear=all><hr> <!--X-Body-Begin--> <!--X-User-Header--> <!--X-User-Header-End--> <!--X-TopPNI--> Date: [ <a href="msg00348.html">Previous</a> | <a href="msg00350.html">Next</a> ] Thread: [ <a href="msg00345.html">Previous</a> | <a href="msg00354.html">Next</a> ] Index: [ <A HREF="author.html#00349">Author</A> | <A HREF="#00349">Date</A> | <A HREF="thread.html#00349">Thread</A> ] <!--X-TopPNI-End--> <!--X-MsgBody--> <!--X-Subject-Header-Begin--> <H1>[MUD-Dev] Re: PDMud thread summary</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] Re: PDMud thread summary</LI> <LI><em>From</em>: Niklas Elmqvist <<A HREF="mailto:d97elm#dtek,chalmers.se">d97elm#dtek,chalmers.se</A>></LI> <LI><em>Date</em>: Thu, 22 Oct 1998 14:04:00 +0200 (MET DST)</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 Thu, 22 Oct 1998, Jon Leonard wrote: > There's been enough discussion about collaboration on a MUD a that it's > starting to get tricky to follow, so I thought I'd try to provide a summary. Good initiative! This thread was becoming hard to follow. Oh, and I must say that to me, this thread has easily been the most interesting on the list since I joined (which you could probably tell by the frequency of my earlier posts as compared to now). The way I see it, PDMud should just about cater to anyone on this list, be they interested in game or social issues, to more low-level development aspects, design viewpoints, and so on. This is a many-faceted project where anyone with spare time could contribute in their field of interest/knowledge. [Structure:] > It should be a collection of mix and match modules, reconfigurable > even at runtime via dynamic linking. Many of the pieces should > behave like pieces of an OS. > > This allows for lots of flexibility for individual MUDs, understandable > pieces, and answering the question "Do we hardcode or softcode this?" > with "Both". The dynamically loaded modules allow us to get kind of a softcode (since it can be added and removed to the server at run-time) but still with the efficiency and speed of native code. I still like to keep the distinction between the internal MUD language which is used for world/quest/puzzle programming and the implementation language which is used to create the modules (native code). This allows us to delimit the compiler design project (building a production-quality native compiler is a *lot* of work) and tailor the MUD language towards game-specific stuff (which also would make it easier for non-programmers to grasp). Is this something we can agree on? Anyone not in favor? > Possible modules so far: > > Bootstrap (module handler) > Database storage/persistence (relational or Object Oriented) > Telnet server > Client/server messaging (for sophisticated clients than telnet) > Client graphics control > Magic system > Movement > Rooms & objects manager > Coordinate based location > Spatial data structures > on-line building > Event manager > Command Parser > Command Executor Another valid question: Is the driver just a bare skeleton? That is, will all functionality be dynamically loaded via the modules? IMHO, the driver should consist of a few primitives which provide the minimal functionality of any game server. One such thing is an event manager (c'mon! almost all games need one), a message hub/system/chain another, the module manager a third. Comments, please. > Project home(s), project maintainer(s): > > I'm volunteering to be project maintainer, keeping track of source code, > releases and so forth. If someone else wants to, thats fine too. Fine by me. This is one project which might become huge in scope. (Just a warning :) A tentative attempt at work division: a) Driver/Core/Server: the base core, specifications, design, protocols, inter-module communication, etc. The foundation, in other words. b) Modules: language VMs, DB handlers, on-line building, etc c) Lib: world, quests, puzzles, mobs, etc Everything below item a) should be designed to be "easily" replacable to make a wholly different kind of game, meaning the driver should be flexible enough to support *any* kind of game, from a high fantasy text-based MUD to a cyberpunk 3D graphics MMPOG. The flavor and behavior of the MUD should reside in the modules. That is, the driver should serve as an OS upon which several programs (modules) can be built to constitute a whole system (world). The driver does not necessarily need to consist of a lot of code (actually, maybe it should contain as little and be as tight as possible to improve efficiency, etc?), but must be extremely carefully designed. Most of the work is done by the modules, though. Needless to say, development of these areas cannot start at the same time. The inter-module communication and standard calling conventions must be resolved before anyone can start building modules, for example. If this is something we can use as a starting point, allow me to immediately register my interest in the a) area (with the option of getting on b later on). I'm especially thrilled about the design of a flexible system like this. > Jon Leonard -- Niklas Elmqvist (d97elm#dtek,chalmers.se) ---------------------- "The trouble with being a god is that you've got no one to pray to." -- Terry Pratchett, Small Gods </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="00356" HREF="msg00356.html">[MUD-Dev] Re: PDMud thread summary</A></strong> <ul compact><li><em>From:</em> "Adam J. Thornton" <adam#phoenix,Princeton.EDU></li></ul> <li><strong><A NAME="00354" HREF="msg00354.html">[MUD-Dev] Re: PDMud thread summary</A></strong> <ul compact><li><em>From:</em> Darrin Hyrup <shades#mythicgames,com></li></ul> </UL></LI></UL> <!--X-Follow-Ups-End--> <!--X-References--> <UL><LI><STRONG>References</STRONG>: <UL> <LI><STRONG><A NAME="00345" HREF="msg00345.html">[MUD-Dev] PDMud thread summary</A></STRONG> <UL><LI><EM>From:</EM> Jon Leonard <jleonard#divcom,slimy.com></LI></UL></LI> </UL></LI></UL> <!--X-References-End--> <!--X-BotPNI--> <UL> <LI>Prev by Date: <STRONG><A HREF="msg00348.html">[MUD-Dev] Re: PDMud (was Re: Bruce Sterling on Virtual Community goals)</A></STRONG> </LI> <LI>Next by Date: <STRONG><A HREF="msg00350.html">[MUD-Dev] Re: evil - good realism</A></STRONG> </LI> <LI>Prev by thread: <STRONG><A HREF="msg00345.html">[MUD-Dev] PDMud thread summary</A></STRONG> </LI> <LI>Next by thread: <STRONG><A HREF="msg00354.html">[MUD-Dev] Re: PDMud thread summary</A></STRONG> </LI> <LI>Index(es): <UL> <LI><A HREF="index.html#00349"><STRONG>Date</STRONG></A></LI> <LI><A HREF="thread.html#00349"><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: PDMud thread summary</STRONG>, <EM>(continued)</EM> <ul compact> <ul compact> <LI><strong><A NAME="00548" HREF="msg00548.html">[MUD-Dev] Re: PDMud thread summary</A></strong>, Alex Oren <a href="mailto:alexo#bigfoot,com">alexo#bigfoot,com</a>, Tue 27 Oct 1998, 09:50 GMT </LI> </ul> <LI><strong><A NAME="00559" HREF="msg00559.html">[MUD-Dev] Re: PDMud thread summary</A></strong>, Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Wed 28 Oct 1998, 04:14 GMT <UL> <LI><strong><A NAME="00565" HREF="msg00565.html">[MUD-Dev] Re: PDMud thread summary</A></strong>, Alex Oren <a href="mailto:alexo#bigfoot,com">alexo#bigfoot,com</a>, Wed 28 Oct 1998, 13:40 GMT </LI> </UL> </LI> </ul> </LI> <LI><strong><A NAME="00345" HREF="msg00345.html">[MUD-Dev] PDMud thread summary</A></strong>, Jon Leonard <a href="mailto:jleonard#divcom,slimy.com">jleonard#divcom,slimy.com</a>, Thu 22 Oct 1998, 08:39 GMT <UL> <LI><strong><A NAME="00349" HREF="msg00349.html">[MUD-Dev] Re: PDMud thread summary</A></strong>, Niklas Elmqvist <a href="mailto:d97elm#dtek,chalmers.se">d97elm#dtek,chalmers.se</a>, Thu 22 Oct 1998, 12:06 GMT <UL> <LI><strong><A NAME="00354" HREF="msg00354.html">[MUD-Dev] Re: PDMud thread summary</A></strong>, Darrin Hyrup <a href="mailto:shades#mythicgames,com">shades#mythicgames,com</a>, Thu 22 Oct 1998, 15:41 GMT <UL> <LI><strong><A NAME="00389" HREF="msg00389.html">[MUD-Dev] Re: PDMud thread summary</A></strong>, Niklas Elmqvist <a href="mailto:d97elm#dtek,chalmers.se">d97elm#dtek,chalmers.se</a>, Fri 23 Oct 1998, 07:47 GMT </LI> </UL> </LI> <LI><strong><A NAME="00356" HREF="msg00356.html">[MUD-Dev] Re: PDMud thread summary</A></strong>, Adam J. Thornton <a href="mailto:adam#phoenix,Princeton.EDU">adam#phoenix,Princeton.EDU</a>, Thu 22 Oct 1998, 16:33 GMT </LI> </UL> </LI> <LI><strong><A NAME="00353" HREF="msg00353.html">[MUD-Dev] Re: PDMud thread summary</A></strong>, Darrin Hyrup <a href="mailto:shades#mythicgames,com">shades#mythicgames,com</a>, Thu 22 Oct 1998, 14:58 GMT </LI> </UL> </LI> </UL></BLOCKQUOTE> </ul> <hr> <center> [ <a href="../">Other Periods</a> | <a href="../../">Other mailing lists</a> | <a href="/search.php3">Search</a> ] </center> <hr> </body> </html>