<!-- MHonArc v2.4.4 --> <!--X-Subject: [MUD-Dev] Re: PDMud (was Re: Bruce Sterling on Virtual Community goals) --> <!--X-From-R13: @vxynf Syzdivfg <q97ryzNqgrx.punyzref.fr> --> <!--X-Date: Fri, 23 Oct 1998 00:35:37 -0700 --> <!--X-Message-Id: Pine.SOL.3.96.981023090855.14571A-100000#licia,dtek.chalmers.se --> <!--X-Content-Type: text/plain --> <!--X-Reference: 199810230246.UAA01227@ami-cg.GraySage.Edmonton.AB.CA --> <!--X-Head-End--> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <html> <head> <title>MUD-Dev message, [MUD-Dev] Re: PDMud (was Re: Bruce Sterling on Virtual Communi</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="msg00387.html">Previous</a> | <a href="msg00389.html">Next</a> ] Thread: [ <a href="msg00380.html">Previous</a> | <a href="msg00392.html">Next</a> ] Index: [ <A HREF="author.html#00388">Author</A> | <A HREF="#00388">Date</A> | <A HREF="thread.html#00388">Thread</A> ] <!--X-TopPNI-End--> <!--X-MsgBody--> <!--X-Subject-Header-Begin--> <H1>[MUD-Dev] Re: PDMud (was Re: Bruce Sterling on Virtual Community goals)</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 (was Re: Bruce Sterling on Virtual Community goals)</LI> <LI><em>From</em>: Niklas Elmqvist <<A HREF="mailto:d97elm#dtek,chalmers.se">d97elm#dtek,chalmers.se</A>></LI> <LI><em>Date</em>: Fri, 23 Oct 1998 09:32:43 +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> [Chris Gray:] > Efficient modules isn't enough to make the whole system efficient. You > also need efficient intermodule interaction. You don't want to be > spraying lots of random things all over. The modules should advertise > what they can handle, and the associations should be made once, at the > load time of the added module. Then data (commands, output, etc.) flows > in a directed manner. We want pipes, not a water sprinkler! Hmm, you're right. But we also need some way for new modules to broadcast their capabilities at the load time. So the water sprinkler at load time, then pipes henceforth. Maybe we could use a handshaking protocol like this: 1. module is loaded into memory, either at boot-strap time or through other means (an admin adding new functionality to the game or replacing buggy parts) 2. module connects to the broadcast channel and bellows "here I am, and I am capable of this..." 3. existing modules will silently process the broadcast message (everyone listens to the broadcast channel) and may decide to ignore the new module 4. if not, the interested modules request a pipe/channel to the new module from the core, which they receive 5. the modules may, if applicable, send information about themselves through their new pipes to the originating new module (if the new module for example is a new parser which requests grammars from all command handlers) I am thinking that we could use one-to-many pipes here... Or maybe even many-to-many pipes (not sure about that, though). That is, using the above handshaking sequence, a parser module would get a single output pipe which branches out to all command handlers since they are all interested in the parser "in the same way". It would also receive an input pipe from the network I/O module. This way, the parser would receive raw input from the input pipe, parse it and then emit the processed data to the output pipe, not caring who is listening. The processed data is propagated to all Maybe one-to-one pipes would be better since it would minimize the traffic flow and "water sprinkling". However, it would also force central modules such as the parser to become much more complicated since they would have to keep track of where different pipes lead and what to send on them. Not sure about it myself. We will also need a defined sequence for modules to disengage themselves from the module community and be unloaded. Or is there a better alternative to a message-based communication system like this? Anyone with more experience in these things than I? > Chris Gray cg#ami-cg,GraySage.Edmonton.AB.CA -- 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="00422" HREF="msg00422.html">[MUD-Dev] Re: PDMud (was Re: Bruce Sterling on Virtual Community goals)</A></strong> <ul compact><li><em>From:</em> Jon Leonard <jleonard#divcom,slimy.com></li></ul> <li><strong><A NAME="00392" HREF="msg00392.html">[MUD-Dev] Re: PDMud (was Re: Bruce Sterling on Virtual Community goals)</A></strong> <ul compact><li><em>From:</em> James Wilson <jwilson#rochester,rr.com></li></ul> </UL></LI></UL> <!--X-Follow-Ups-End--> <!--X-References--> <UL><LI><STRONG>References</STRONG>: <UL> <LI><STRONG><A NAME="00375" HREF="msg00375.html">[MUD-Dev] Re: PDMud (was Re: Bruce Sterling on Virtual Community goals)</A></STRONG> <UL><LI><EM>From:</EM> Chris Gray <cg#ami-cg,GraySage.Edmonton.AB.CA></LI></UL></LI> </UL></LI></UL> <!--X-References-End--> <!--X-BotPNI--> <UL> <LI>Prev by Date: <STRONG><A HREF="msg00387.html">[MUD-Dev] Re: PDMud (was Re: Bruce Sterling on Virtual Community goals)</A></STRONG> </LI> <LI>Next by Date: <STRONG><A HREF="msg00389.html">[MUD-Dev] Re: PDMud thread summary</A></STRONG> </LI> <LI>Prev by thread: <STRONG><A HREF="msg00380.html">[MUD-Dev] Re: PDMud (was Re: Bruce Sterling on Virtual Community goals)</A></STRONG> </LI> <LI>Next by thread: <STRONG><A HREF="msg00392.html">[MUD-Dev] Re: PDMud (was Re: Bruce Sterling on Virtual Community goals)</A></STRONG> </LI> <LI>Index(es): <UL> <LI><A HREF="index.html#00388"><STRONG>Date</STRONG></A></LI> <LI><A HREF="thread.html#00388"><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 (was Re: Bruce Sterling on Virtual Community goals)</STRONG>, <EM>(continued)</EM> <ul compact> <ul compact> <ul compact> <ul compact> <LI><strong><A NAME="00397" HREF="msg00397.html">[MUD-Dev] Re: PDMud (was Re: Bruce Sterling on Virtual Community goals)</A></strong>, Darrin Hyrup <a href="mailto:shades#mythicgames,com">shades#mythicgames,com</a>, Fri 23 Oct 1998, 14:51 GMT <UL> <LI><strong><A NAME="00412" HREF="msg00412.html">[MUD-Dev] Re: PDMud (was Re: Bruce Sterling on Virtual Community goals)</A></strong>, Jon Leonard <a href="mailto:jleonard#divcom,slimy.com">jleonard#divcom,slimy.com</a>, Fri 23 Oct 1998, 20:18 GMT </LI> </UL> </LI> </ul> </ul> </ul> <LI><strong><A NAME="00375" HREF="msg00375.html">[MUD-Dev] Re: PDMud (was Re: Bruce Sterling on Virtual Community goals)</A></strong>, Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Fri 23 Oct 1998, 02:52 GMT <UL> <LI><strong><A NAME="00380" HREF="msg00380.html">[MUD-Dev] Re: PDMud (was Re: Bruce Sterling on Virtual Community goals)</A></strong>, J C Lawrence <a href="mailto:claw#kanga,nu">claw#kanga,nu</a>, Fri 23 Oct 1998, 03:41 GMT </LI> <LI><strong><A NAME="00388" HREF="msg00388.html">[MUD-Dev] Re: PDMud (was Re: Bruce Sterling on Virtual Community goals)</A></strong>, Niklas Elmqvist <a href="mailto:d97elm#dtek,chalmers.se">d97elm#dtek,chalmers.se</a>, Fri 23 Oct 1998, 07:35 GMT <UL> <LI><strong><A NAME="00392" HREF="msg00392.html">[MUD-Dev] Re: PDMud (was Re: Bruce Sterling on Virtual Community goals)</A></strong>, James Wilson <a href="mailto:jwilson#rochester,rr.com">jwilson#rochester,rr.com</a>, Fri 23 Oct 1998, 09:56 GMT <UL> <LI><strong><A NAME="00393" HREF="msg00393.html">[MUD-Dev] Re: PDMud (was Re: Bruce Sterling on Virtual Community goals)</A></strong>, Jo Dillon <a href="mailto:emily#thelonious,new.ox.ac.uk">emily#thelonious,new.ox.ac.uk</a>, Fri 23 Oct 1998, 10:12 GMT </LI> </UL> </LI> <LI><strong><A NAME="00422" HREF="msg00422.html">[MUD-Dev] Re: PDMud (was Re: Bruce Sterling on Virtual Community goals)</A></strong>, Jon Leonard <a href="mailto:jleonard#divcom,slimy.com">jleonard#divcom,slimy.com</a>, Fri 23 Oct 1998, 21:28 GMT </LI> </UL> </LI> </UL> </LI> <LI><strong><A NAME="00376" HREF="msg00376.html">[MUD-Dev] Re: PDMud (was Re: Bruce Sterling on Virtual Community goals)</A></strong>, Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Fri 23 Oct 1998, 03:01 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>