<!-- MHonArc v2.4.4 --> <!--X-Subject: Re: Just a bit of musing --> <!--X-From-R13: Oqnz Ivttvaf <avtugsnyyNvasvpnq.pbz> --> <!--X-Date: from babe.globecomm.net [207.51.48.8] by mx01.ca.us.ibm.net id 857819434.141401-1 Sat Mar 8 11:10:34 1997 --> <!--X-Message-Id: Pine.BSI.3.95.970308040956.6850A-100000#user1,inficad.com --> <!--X-Content-Type: text/plain --> <!--X-Reference: 199703080412.EAA81105#out2,ibm.net --> <!--X-Head-End--> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <html> <head> <title>MUD-Dev message, Re: Just a bit of musing</title> <!-- meta name="robots" content="noindex,nofollow" --> <link rev="made" href="mailto:nightfall#inficad,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="msg00077.html">Previous</a> | <a href="msg00079.html">Next</a> ] Thread: [ <a href="msg00077.html">Previous</a> | <a href="msg00079.html">Next</a> ] Index: [ <A HREF="author.html#00078">Author</A> | <A HREF="#00078">Date</A> | <A HREF="thread.html#00078">Thread</A> ] <!--X-TopPNI-End--> <!--X-MsgBody--> <!--X-Subject-Header-Begin--> <H1>Re: Just a bit of musing</H1> <HR> <!--X-Subject-Header-End--> <!--X-Head-of-Message--> <UL> <LI><em>To</em>: Multiple Recipients of MUD Design Mailing List <<A HREF="mailto:mud-dev#null,net">mud-dev#null,net</A>></LI> <LI><em>Subject</em>: Re: Just a bit of musing</LI> <LI><em>From</em>: Adam Wiggins <<A HREF="mailto:nightfall#inficad,com">nightfall#inficad,com</A>></LI> <LI><em>Date</em>: Sat, 8 Mar 1997 04:17:28 -0700 (MST)</LI> </UL> <!--X-Head-of-Message-End--> <!--X-Head-Body-Sep-Begin--> <HR> <!--X-Head-Body-Sep-End--> <!--X-Body-of-Message--> <PRE> > >...The code tends to be littered with for loops that iterate thru > >lists (room lists, player lists, etc etc). I, among others, feel this is > >a Bad Thing (tip o' the hat to coder@). > > Yup. I find it utterly mazing that nobody (else) has done a fully event > driven server. No polling loops, no list scanning, no wasted iterations. > Just grab the event, process what's needed, and get out. It probablys sounds quite a bit harder than it actually is. Implementing it is simple, and from there things just get easier. It's extremely nice to be able to say, "Okay, I'll continue with this in a bit, so toss an event on the queue..." and just exit whatever function you're in, rather than trying to save a bunch of stuff in external variables somewhere and then hope that the proper function gets called again at the right time. > >I posit that, in general, command interpreters for muds are Bad Things. > >The proposal runs sorta like this: > > The command interface to a mud can be viewed as a context free grammar. > > A good MUD grammar is incredibly context sensitive. A simple example is > the case where the presence or proximity of an object adds verbs to the > players. There is no need for this crap to wander thru the global > namespace, or even warp the general grammar. I don't actually agree with this. This is where you end up with things like "push" as a social, except for one room on the entire mud where it pushes a button. In another room with a similar button but written by a different person, you have to use "press." I dislike the effect you get from the old adventurer games of "guess the verb" - I want to know what commands I have availible to interact with my character right from the start. Thus I know if I see a button in the room, I can alway use a certain command straight off to try to push it. If that doesn't work it means it's not a pushable button and I can start bending my mind to think of other things to do with it, rather then "well...lemme try 'press'...hmmm, maybe it doesn't answer to 'button', how about 'green'?" This is in the same category as restricting the "steal" command to only those in the thieves' guild. Huh? My character can't try to steal something from someone? Why not? Is he just so incredibly sheltered that he's never heard of or even thought of trying to take something from someone without their knowning? Now, he'll probably fail, but this is just fine, and different from restricting the command altogether. </PRE> <!--X-Body-of-Message-End--> <!--X-MsgBody-End--> <!--X-Follow-Ups--> <HR> <!--X-Follow-Ups-End--> <!--X-References--> <!--X-References-End--> <!--X-BotPNI--> <UL> <LI>Prev by Date: <STRONG><A HREF="msg00077.html">Re: Just a bit of musing</A></STRONG> </LI> <LI>Next by Date: <STRONG><A HREF="msg00079.html">Re: Just a bit of musing</A></STRONG> </LI> <LI>Prev by thread: <STRONG><A HREF="msg00077.html">Re: Just a bit of musing</A></STRONG> </LI> <LI>Next by thread: <STRONG><A HREF="msg00079.html">Re: Just a bit of musing</A></STRONG> </LI> <LI>Index(es): <UL> <LI><A HREF="index.html#00078"><STRONG>Date</STRONG></A></LI> <LI><A HREF="thread.html#00078"><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>Re: Just a bit of musing</STRONG>, <EM>(continued)</EM> <ul compact> <LI><strong><A NAME="00068" HREF="msg00068.html">Re: Just a bit of musing</A></strong>, coder <a href="mailto:coder#ibm,net">coder#ibm,net</a>, Sat 08 Mar 1997, 11:53 GMT </LI> <LI><strong><A NAME="00069" HREF="msg00069.html">Re: Just a bit of musing</A></strong>, coder <a href="mailto:coder#ibm,net">coder#ibm,net</a>, Sat 08 Mar 1997, 11:54 GMT </LI> <LI><strong><A NAME="00076" HREF="msg00076.html">Re: Just a bit of musing</A></strong>, Jon A. Lambert <a href="mailto:jlsysinc#ix,netcom.com">jlsysinc#ix,netcom.com</a>, Sat 08 Mar 1997, 14:00 GMT </LI> <LI><strong><A NAME="00077" HREF="msg00077.html">Re: Just a bit of musing</A></strong>, Adam Wiggins <a href="mailto:nightfall#inficad,com">nightfall#inficad,com</a>, Sat 08 Mar 1997, 19:00 GMT </LI> <LI><strong><A NAME="00078" HREF="msg00078.html">Re: Just a bit of musing</A></strong>, Adam Wiggins <a href="mailto:nightfall#inficad,com">nightfall#inficad,com</a>, Sat 08 Mar 1997, 19:10 GMT </LI> <LI><strong><A NAME="00079" HREF="msg00079.html">Re: Just a bit of musing</A></strong>, Adam Wiggins <a href="mailto:nightfall#inficad,com">nightfall#inficad,com</a>, Sat 08 Mar 1997, 19:19 GMT </LI> <LI><strong><A NAME="00080" HREF="msg00080.html">Re: Just a bit of musing</A></strong>, Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Sun 09 Mar 1997, 01:34 GMT </LI> <LI><strong><A NAME="00086" HREF="msg00086.html">Re: Just a bit of musing</A></strong>, Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Tue 11 Mar 1997, 13:45 GMT </LI> <LI><strong><A NAME="00088" HREF="msg00088.html">Re: Just a bit of musing</A></strong>, Jon A. Lambert <a href="mailto:jlsysinc#ix,netcom.com">jlsysinc#ix,netcom.com</a>, Wed 12 Mar 1997, 03:39 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>