<!-- MHonArc v2.4.4 --> <!--X-Subject: [MUD-Dev] Re: mud client development systems --> <!--X-From-R13: X Q Znjerapr <pynjNhaqre.rate.ftv.pbz> --> <!--X-Date: Wed, 16 Dec 1998 20:47:15 -0800 --> <!--X-Message-Id: 199812170350.TAA03912#under,engr.sgi.com --> <!--X-Content-Type: text/plain --> <!--X-Reference: 36748ED8.99E8CF8C#radiks,net --> <!--X-Head-End--> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <html> <head> <title>MUD-Dev message, [MUD-Dev] Re: mud client development systems</title> <!-- meta name="robots" content="noindex,nofollow" --> <link rev="made" href="mailto:claw#under,engr.sgi.com"> </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="msg00976.html">Previous</a> | <a href="msg00978.html">Next</a> ] Thread: [ <a href="msg00962.html">Previous</a> | <a href="msg00971.html">Next</a> ] Index: [ <A HREF="author.html#00977">Author</A> | <A HREF="#00977">Date</A> | <A HREF="thread.html#00977">Thread</A> ] <!--X-TopPNI-End--> <!--X-MsgBody--> <!--X-Subject-Header-Begin--> <H1>[MUD-Dev] Re: mud client development systems</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: mud client development systems </LI> <LI><em>From</em>: J C Lawrence <<A HREF="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</A>></LI> <LI><em>Date</em>: Wed, 16 Dec 1998 19:50:51 -0800</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 Sun, 13 Dec 1998 22:06:48 -0600 Sunny Gulati<sunnywiz#radiks,net> wrote: > "Sounds like you're trying to implement CORBA on a mud". Way back when we had one of the principals from GnuStep on the list, and he asserted much the same thing. GnuStep might well be something to check into. > Talking to another friend Steve (wells#cedarnet,org), and he was > interested in doing some Perl/GTK or Java client-side coding if I > got my ideas along far enough. This got me thinking, on the 2 > hour drive back from his place.. he wants to play, but its not the > same place that I am looking at playing... I want to do Perl/Tk > (just because)... and Matt Messier, another friend, would want to > work in C++.. > - i wonder if I can make my client side objects language > independent? Yes, what you need to do is to define and document and pickle/unpickle process for your objects (see Python for a pretty good example) and messaging/function-call semantics (how are arguments presented etc) . Then contributors working in foreign languages need merely comply with your pickle and calls standards to interoperate. > Obviously, it would have to run in a seperate process. Need to > communicate back to the master client program (which has the > connection back to the mud). How should I do this? Look into Muq and its runtime variable command processors (ala Unix command shells). No, you can also use embedded interpreters. While Perls doesn't submit easily to mebedding, python embeds very elegantly and simply (can you tell I'm a fan?), and Tcl/TK isn't *too* difficult as long as you restrict your call set. C++ or anything else that produces linkable objects then merely depends on call/interface standards. > Back to the quesiton of how would I identify stuff? I was > initially thinking of something like how routed and the internet > do stuff.. then I thought the object identification could > specifically describe the path to get to it. Have a look into the naming system used in CoolMUD (forget the name right now). > Message = send a message, expect no response. Query = send a > message, expect response. Reply = reply to a query (references a > message id#) Replyuery = reply to a query (references a message > id#), expects a response <nod> I don't see a real need for the third case tho. It seems more sequence of two #1's. I use transaction frames. I have a FRAME message type which starts a transation, and then an ENDFRAME message type which ends it. Frames can of course be nested. Your first case (message with no respose) then derives to: A->B: FRAME A->B: Message (data) A->N: ENDFRAME Case #2 derives to: A->B: FRAME A->B: Query (data) B->A: Answer (data) B->A: ENDFRAME Actually there's a FRAME_ID specc'ed on each FRAME message. A complex transactions would then turn into: A->B: FRAME 1 A->B: Query (data) B->A: FRAME 2 B->A: Query (data) A->B: Answer (data) A->B: ENDFRAME 2 B->A: Answer (data) B->A: ENDFRAME 1 The reason for using the frames as versus merely tracking the state machine via the message types and tags is that (and this is a broken aspoect of my design in some ways) certain queries will generate multiple responses and I need the query frame not to state transition before all the answers are in. I tried to make it a bit cleaner by making the frame typically part of the header fields for the messages so the minimum number of messages get passed, but they can be first class messages if needed (happens in some cases for multi-message replied where tracking gets too difficult). -- J C Lawrence Internet: claw#kanga,nu (Contractor) Internet: coder#kanga,nu ---------(*) Internet: claw#under,engr.sgi.com ...Honorary Member of Clan McFud -- Teamer's Avenging Monolith... </PRE> <!--X-Body-of-Message-End--> <!--X-MsgBody-End--> <!--X-Follow-Ups--> <HR> <!--X-Follow-Ups-End--> <!--X-References--> <UL><LI><STRONG>References</STRONG>: <UL> <LI><STRONG><A NAME="00962" HREF="msg00962.html">[MUD-Dev] mud client development systems</A></STRONG> <UL><LI><EM>From:</EM> Sunny Gulati <sunnywiz#radiks,net></LI></UL></LI> </UL></LI></UL> <!--X-References-End--> <!--X-BotPNI--> <UL> <LI>Prev by Date: <STRONG><A HREF="msg00976.html">[MUD-Dev] Re: DIS: Client-Server vs Peer-to-Peer</A></STRONG> </LI> <LI>Next by Date: <STRONG><A HREF="msg00978.html">[MUD-Dev] Graphic design, client questions</A></STRONG> </LI> <LI>Prev by thread: <STRONG><A HREF="msg00962.html">[MUD-Dev] mud client development systems</A></STRONG> </LI> <LI>Next by thread: <STRONG><A HREF="msg00971.html">[MUD-Dev] mud client development systems</A></STRONG> </LI> <LI>Index(es): <UL> <LI><A HREF="index.html#00977"><STRONG>Date</STRONG></A></LI> <LI><A HREF="thread.html#00977"><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: Stack-Based NPC AI</STRONG>, <EM>(continued)</EM> <ul compact> <LI><strong><A NAME="00912" HREF="msg00912.html">[MUD-Dev] Re: Stack-Based NPC AI</A></strong>, Marc Hernandez <a href="mailto:marc#ias,jb.com">marc#ias,jb.com</a>, Mon 07 Dec 1998, 00:22 GMT </LI> </ul> </LI> <LI><strong><A NAME="00907" HREF="msg00907.html">[MUD-Dev] mud client development systems</A></strong>, Sunny Gulati <a href="mailto:sunnywiz#radiks,net">sunnywiz#radiks,net</a>, Sun 06 Dec 1998, 21:37 GMT <UL> <LI><strong><A NAME="00908" HREF="msg00908.html">[MUD-Dev] Re: mud client development systems</A></strong>, Caliban Tiresias Darklock <a href="mailto:caliban#darklock,com">caliban#darklock,com</a>, Sun 06 Dec 1998, 22:04 GMT </LI> </UL> <UL> <li><Possible follow-up(s)><br> <LI><strong><A NAME="00962" HREF="msg00962.html">[MUD-Dev] mud client development systems</A></strong>, Sunny Gulati <a href="mailto:sunnywiz#radiks,net">sunnywiz#radiks,net</a>, Mon 14 Dec 1998, 04:07 GMT <UL> <LI><strong><A NAME="00977" HREF="msg00977.html">[MUD-Dev] Re: mud client development systems</A></strong>, J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Thu 17 Dec 1998, 04:47 GMT </LI> </UL> </LI> <LI><strong><A NAME="00971" HREF="msg00971.html">[MUD-Dev] mud client development systems</A></strong>, Jay Carlson <a href="mailto:nop#mitre,org">nop#mitre,org</a>, Tue 15 Dec 1998, 22:56 GMT </LI> </UL> </LI> <LI><strong><A NAME="00906" HREF="msg00906.html">[MUD-Dev] Introduction</A></strong>, Mik Clarke <a href="mailto:mikclrk#ibm,net">mikclrk#ibm,net</a>, Sun 06 Dec 1998, 20:26 GMT <UL> <LI><strong><A NAME="00913" HREF="msg00913.html">[MUD-Dev] Re: Introduction</A></strong>, Adam J. Thornton <a href="mailto:adam#phoenix,Princeton.EDU">adam#phoenix,Princeton.EDU</a>, Mon 07 Dec 1998, 00:55 GMT <UL> <LI><strong><A NAME="00928" HREF="msg00928.html">[MUD-Dev] Re: Introduction</A></strong>, Mik Clarke <a href="mailto:mikclrk#ibm,net">mikclrk#ibm,net</a>, Mon 07 Dec 1998, 20:57 GMT </LI> </UL> </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>