<!-- MHonArc v2.4.4 --> <!--X-Subject: Re: [MUD-Dev] Re: Multi-threaded mudding (was a flamefest) --> <!--X-From-R13: fvybivpNfepr.ue ([vebfyni Evybivp) --> <!--X-Date: from tacitus.globecomm.net [207.51.48.7] by mx4.ibm.net id 862644085.37624-1 Sat May 3 07:21:25 1997 --> <!--X-Message-Id: 199705030728.JAA28828#regoc,srce.hr --> <!--X-Content-Type: text/plain --> <!--X-Reference: 3.0.32.19970502203318.00b46f38#mail,tenetwork.com --> <!--X-Head-End--> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <html> <head> <title>MUD-Dev message, Re: [MUD-Dev] Re: Multi-threaded mudding (was a flamefest)</title> <!-- meta name="robots" content="noindex,nofollow" --> <link rev="made" href="mailto:silovic#srce,hr"> </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="msg00317.html">Previous</a> | <a href="msg00319.html">Next</a> ] Thread: [ <a href="msg00316.html">Previous</a> | <a href="msg00323.html">Next</a> ] Index: [ <A HREF="author.html#00318">Author</A> | <A HREF="#00318">Date</A> | <A HREF="thread.html#00318">Thread</A> ] <!--X-TopPNI-End--> <!--X-MsgBody--> <!--X-Subject-Header-Begin--> <H1>Re: [MUD-Dev] Re: Multi-threaded mudding (was a flamefest)</H1> <HR> <!--X-Subject-Header-End--> <!--X-Head-of-Message--> <UL> <LI><em>To</em>: <A HREF="mailto:mud-dev#null,net">mud-dev#null,net</A></LI> <LI><em>Subject</em>: Re: [MUD-Dev] Re: Multi-threaded mudding (was a flamefest)</LI> <LI><em>From</em>: <A HREF="mailto:silovic#srce,hr">silovic#srce,hr</A> (Miroslav Silovic)</LI> <LI><em>Date</em>: Sat, 3 May 1997 09:28:03 +0200 (MET DST)</LI> <LI><em>Cc</em>: <A HREF="mailto:mud-dev#null,net">mud-dev#null,net</A></LI> </UL> <!--X-Head-of-Message-End--> <!--X-Head-Body-Sep-Begin--> <HR> <!--X-Head-Body-Sep-End--> <!--X-Body-of-Message--> <PRE> > At 08:08 PM 5/2/97 PST8PDT, you wrote: > > > >On 02/05/97 at 05:58 PM, Jeff Kesselman <jeffk#tenetwork,com> said: >At > >04:38 PM 5/2/97 PST8PDT, coder#null,net wrote: > > > >>>While technically accurate, its really a questionable point. ColdX's > >>>definition of envets are tightly limited to connection and I/O state > >>>changes. It actually has no real concept of an internally generated > >>>event, or even an event model as regards internal state changes for > >>>the DB. It's only events center on what happens on its network ports. > >... > >>I think to make your poitn vaild you need to explain what the differnece > >>between an "internal event" and a message pass is, in your model. I see > >>no practical difference. In my model and in the term event driven as I > >>understand it to be commonly used, the only difference is that the call > >>coems from the OS... which is to say it happens inresponse to IO (or the > >>clock, which is also a form of IO really.) > > > >A running MUD has the unusual property of being self-animating. Ignoring > >the questions of swapping out inactive areas etc, even if no users ever > >log in, the mobiles will continue to wander their paths, night and day > >will progess thru the MUD world, weather will change, seasons will pass. > >The game world will animate itself. > > > >I model these animations as events. A mobile moves his next step by > >having a closing event log a new event to step him forward some time in > >the future. > > Pardon me, but it soudns like syntactic sugar on top of a timer event. > > I just don't see it as beign paradigmaticly really all that different from > animating off of a generic call back timer. I have sucha thing in my Cold > core runnign off the heartbeat,as I suspect virtually every Cold core does. > > Thanks for giving me the reference, though. > > JK This is an answer to both of the above. Currently Cold uses $scheduler to implement timed pause (i.e. to keep the task suspended for a number of seconds). The normal way of implementing 'animation' is to schedule next move of the monster to some time in the future, and to cancel the scheduled task if anything else happens. Don't get me wrong, even though it's currently implemented in the core and runs off heartbeat (basically $scheduler object checks the task queue every few seconds and resumes the tasks that need it), it properly belongs to the driver. Both ways are slow, though - 1000 monsters running around are plenty, unless you set them to a rather long period, say, a minute ($scheduler uses heap and it doesn't have problems with a large number of active tasks, the bottleneck is the actual movement). Cold simply isn't meant to simulate the world in the same way it's done in DIKU (but there are other ways. For instance, you can make the monsters /really/ smart. And you can get them to wind down, so that they sleep unless something is happening nearby). Oh, and to respond something else, Cold is not threaded yet, except for the cooperative multitasking supported by interpreter itself. The reason for it is that we decided that it'd take us ages to finish the system if we do it, so threading is scheduled for the next major version. Also, thanks to cooperative thingie, Cold doesn't face any of the problems usually associated with threads, and currently has no builtin systems that deal with it. Miro PS. Thanks for inviting me to the list. :) I see it could be fun. Background notice: I'm working on Cold development, and I expect to be instantly recognized by the people involved with it. I mostly play MUSHes, and I tend to enphasize roleplaying over slashing, imagination over code, and imagination-stimulating code (such as weather, player-to-player informational systems, detailed geography, good building support) over video-game code - unless it really is *smashing* game code. :) </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="00323" HREF="msg00323.html">Re: [MUD-Dev] Re: Multi-threaded mudding (was a flamefest)</A></strong> <ul compact><li><em>From:</em> Ling <K.L.Lo-94#student,lut.ac.uk></li></ul> </UL></LI></UL> <!--X-Follow-Ups-End--> <!--X-References--> <UL><LI><STRONG>References</STRONG>: <UL> <LI><STRONG><A NAME="00312" HREF="msg00312.html">Re: [MUD-Dev] Re: Multi-threaded mudding (was a flamefest)</A></STRONG> <UL><LI><EM>From:</EM> Jeff Kesselman <jeffk#tenetwork,com></LI></UL></LI> </UL></LI></UL> <!--X-References-End--> <!--X-BotPNI--> <UL> <LI>Prev by Date: <STRONG><A HREF="msg00317.html">Re: [MUD-Dev] Re: Multi-threaded mudding (was a flamefest)</A></STRONG> </LI> <LI>Next by Date: <STRONG><A HREF="msg00319.html">Last sendmail test (we're up to 8.*)!</A></STRONG> </LI> <LI>Prev by thread: <STRONG><A HREF="msg00316.html">Re: [MUD-Dev] Re: Multi-threaded mudding (was a flamefest)</A></STRONG> </LI> <LI>Next by thread: <STRONG><A HREF="msg00323.html">Re: [MUD-Dev] Re: Multi-threaded mudding (was a flamefest)</A></STRONG> </LI> <LI>Index(es): <UL> <LI><A HREF="index.html#00318"><STRONG>Date</STRONG></A></LI> <LI><A HREF="thread.html#00318"><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: [MUD-Dev] Re: Multi-threaded mudding (was a flamefest)</STRONG>, <EM>(continued)</EM> <ul compact> <ul compact> <LI><strong><A NAME="00311" HREF="msg00311.html">Re: [MUD-Dev] Re: Multi-threaded mudding (was a flamefest)</A></strong>, coder <a href="mailto:coder#ibm,net">coder#ibm,net</a>, Sat 03 May 1997, 08:36 GMT </LI> </ul> <LI><strong><A NAME="00312" HREF="msg00312.html">Re: [MUD-Dev] Re: Multi-threaded mudding (was a flamefest)</A></strong>, Jeff Kesselman <a href="mailto:jeffk#tenetwork,com">jeffk#tenetwork,com</a>, Sat 03 May 1997, 10:21 GMT <UL> <LI><strong><A NAME="00313" HREF="msg00313.html">Re: [MUD-Dev] Re: Multi-threaded mudding (was a flamefest)</A></strong>, coder <a href="mailto:coder#ibm,net">coder#ibm,net</a>, Sat 03 May 1997, 11:38 GMT </LI> <LI><strong><A NAME="00316" HREF="msg00316.html">Re: [MUD-Dev] Re: Multi-threaded mudding (was a flamefest)</A></strong>, coder <a href="mailto:coder#ibm,net">coder#ibm,net</a>, Sat 03 May 1997, 12:32 GMT </LI> <LI><strong><A NAME="00318" HREF="msg00318.html">Re: [MUD-Dev] Re: Multi-threaded mudding (was a flamefest)</A></strong>, Miroslav Silovic <a href="mailto:silovic#srce,hr">silovic#srce,hr</a>, Sat 03 May 1997, 14:21 GMT <UL> <LI><strong><A NAME="00323" HREF="msg00323.html">Re: [MUD-Dev] Re: Multi-threaded mudding (was a flamefest)</A></strong>, Ling <a href="mailto:K.L.Lo-94#student,lut.ac.uk">K.L.Lo-94#student,lut.ac.uk</a>, Mon 05 May 1997, 18:02 GMT </LI> </UL> </LI> </UL> </LI> <LI><strong><A NAME="00315" HREF="msg00315.html">Re: [MUD-Dev] Re: Multi-threaded mudding (was a flamefest)</A></strong>, Jon A. Lambert <a href="mailto:jlsysinc#ix,netcom.com">jlsysinc#ix,netcom.com</a>, Sat 03 May 1997, 12:15 GMT <UL> <LI><strong><A NAME="00322" HREF="msg00322.html">Re: [MUD-Dev] Re: Multi-threaded mudding (was a flamefest)</A></strong>, Miroslav Silovic <a href="mailto:silovic#srce,hr">silovic#srce,hr</a>, Sun 04 May 1997, 12:45 GMT </LI> </UL> </LI> <LI><strong><A NAME="00321" HREF="msg00321.html">Re: [MUD-Dev] Re: Multi-threaded mudding (was a flamefest)</A></strong>, Jeff Kesselman <a href="mailto:jeffk#tenetwork,com">jeffk#tenetwork,com</a>, Sun 04 May 1997, 11:28 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>