<!-- MHonArc v2.4.4 --> <!--X-Subject: Re: Resets and repops --> <!--X-From-R13: @nguna Kbfcr <lbfcrNunjnvv.rqh> --> <!--X-Date: from tacitus.globecomm.net [207.51.48.7] by mx3.ibm.net id 858815340.88680-1 Wed Mar 19 23:49:00 1997 --> <!--X-Message-Id: Pine.GSO.3.95q.970319090340.24265A-100000@uhunix2 --> <!--X-Content-Type: text/plain --> <!--X-Reference: 199703190419.EAA71441#out2,ibm.net --> <!--X-Head-End--> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <html> <head> <title>MUD-Dev message, Re: Resets and repops</title> <!-- meta name="robots" content="noindex,nofollow" --> <link rev="made" href="mailto:yospe#hawaii,edu"> </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="msg00143.html">Previous</a> | <a href="msg00146.html">Next</a> ] Thread: [ <a href="msg00140.html">Previous</a> | <a href="msg00150.html">Next</a> ] Index: [ <A HREF="author.html#00144">Author</A> | <A HREF="#00144">Date</A> | <A HREF="thread.html#00144">Thread</A> ] <!--X-TopPNI-End--> <!--X-MsgBody--> <!--X-Subject-Header-Begin--> <H1>Re: Resets and repops</H1> <HR> <!--X-Subject-Header-End--> <!--X-Head-of-Message--> <UL> <LI><em>To</em>: Mud Dev Mailing List <<A HREF="mailto:mud-dev#null,net">mud-dev#null,net</A>></LI> <LI><em>Subject</em>: Re: Resets and repops</LI> <LI><em>From</em>: Nathan Yospe <<A HREF="mailto:yospe#hawaii,edu">yospe#hawaii,edu</A>></LI> <LI><em>Date</em>: Wed, 19 Mar 1997 13:53:22 -1000</LI> <LI><em>Reply-To</em>: Nathan Yospe <<A HREF="mailto:yospe#hawaii,edu">yospe#hawaii,edu</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 Tue, 18 Mar 1997 claw#null,net wrote: :On 17/03/97 at 12:17 PM, "Jon A. Lambert" <jlsysinc#ix,netcom.com> said: :>I heartily agree with your sentiments. I am attempting something :>similar. I treat most NPCs identically to characters. The subsystems :>that NPCs run issue commands to an input buffer. In like fashion, the :>players' input buffers are written to by the network process. The problem here is that you get the same overhead on an NPC as on a PC, with the interpreter, but twice, as you have to create the NPC commands in the first place. I do allow for this in my own system, but I also have lower level command access for both PCs and NPCs, and in general, PCs tend to use the command buffer more, NPCs the lower level access. Nonetheless, PC reflexes, for example, take advantage of low level access, adn some people will undoubtably use the high level access when programming NPC behavior. My PCs and NPCs are not different classes... there is a single tag with enumerated values Player/AI/Comp Control/Switched Out for the four basic states of behavior. Imms cannot enable anything but their own bodies and Comp Control bodies... In other words, no player body stealing, and no disruption of complex evolutionary AIs. :I don't distinguish between any sort of objects, be they rooms, mobiles, :dumb objects, or players. They're all the same, all do the same things, :and outside of the IO going to a connection object for players, all run :exactly the same code. That's interesting... you use a free user programming system, though, don't you? My Characters are not physically there... they are sort of a core for a creature to be built around, out of Item components... an Item is simply a composite of Item components with no Character mind behind it. I guess this is partly a result of my limb component system... any Item component, capable of being a full fledged Item in its own right, has a set of Types it inherits behaviors and characteristics from, many of which are precoded in binary form, but which can be added to by internal programming. As such, you can program a Character, but you can also specifically program its arm to be, say, a cybernetic cannon with special targetting... :What I don't do is bind player characters or non-player objects to using :the parsed command line. Any object may directly call any method, with :any set of arguments, on any other object. Of course it is then up to the :receiving object's security criteria as to how and if it accepts the call :(stolen straight from COOL). As such the automation code for mobiles Very few of my objects can be called at all by anything outside of the Environmental Nuance And Balance/Localized Event State (don't blame me, one of my friends is an acronym freak and suggested the above when I attempted to describe the enables system.) What this means is that my system cannot be commanded to act, except by proxy or programmed response. Everything is based on the ability of every object to REact. This means that every object has a set of reactions to poll through for various impulses, but does not have to react to any specific impulse. (Though, for example, gravity is a very persuasive impulse, with a reaction that cannot, in the current version, be overridden, merely countermanded.) :(that's all a mobile is: a normal object with an event chain that causes :state changes in the mobile) can directly call the relevant methods to :affect the subject mobile, or it can lodge command strings to be parsed :into a direct method call (which in truth is just another method call with :the command as an argument). For me, a Character is an object capable of taking commands (from the Player, AI, etc) and delivering impulses to associated Item components. (Sort of a nervous system representation) :Part of the neat aspect of this is that I expect players to augment :themselves and their character objects with home-grown, purchased, stolen, :or otherwise acquired code to implement various neat features. Earlier :discussion focussed on the Combat Packages aspect of this (more or less :intelligent user-written combat AI libraries), but I can also see it :happening with socials, naming cards (objects which :auto-register/de-register names on teh recipient), mana factories/sinks, :etc. Hmm. Of course, having made my world highly dependent on real world physics, none of this is relevant to me, but my codebase certainly doesn't forbid it, should an admin of some less scientific version decide to make, for example, programming equivalent to spell design/learning/casting. Again, this would require some interesting constraints on programming... making the programs cost the programmers big time in some manner... :BYOC takes a whole new meaning. Heh. As opposed to my system: BYOI - bring your own intelligence. A player cannot write code to violate physics, but there is nothing to prevent AI writing, though the AI will have the same limits as a player... merely, possibly, faster reflexes. I expect and encourage players to write AIs for whatever they feel an AI could handle better than they could... then rate builder's products on how much Player AI is used in the builder's zone. Certainly ups the creativity factor... and since the rating factors into how many mortality points a builder can gain (which make the difference in terms of reincarnation, as well as purchasing more builder resources, creating new Characters, etc...) for an area, builders vie for the most complex Area AIs and challenges. :>I also agree with the concept that NPC activity continues in areas/zones :>that players are not present in. There can be significant overhead :>involved with this. :Hehn. I took a classic (for me) tack, and decided to ignore the problem :on the basis that it would invalidate the server both for simulation :work, and because addressing it would cause any unrelated synergy across :the MUD world to dissappear (eg rumours of events in areas not populated :with players would no longer propagate, which would cause remote reactions :to their rumours (cf watchers, spoofs and triggers) to no longer occurr). This, for me, can be handled completely by the update factors... and I could never run a simulation without a TuringAI controlling at least one Character in the simulation region, and TuringAIs trigger action the same as Players. TuringAIs are designed to convince Players that they are Players, thus upping the apparent Player density... and forcing people to look alive, lest they be mistaken for a poorly designed TuringAI. The less desirable Players get kind of weeded out by these things. In any case, the overhead on the system, if I ran _everything_ would be far too great. Better to run a handful of Areas where the Players are... it also keeps track of where people go quite well. :>I have attempted to balance this by programming some :>NPCs to be "marshalls" for other NPCs or controllers of city/town :>subsystems. Thus not all NPC scripts are active and consuming resources :>all the time. For instance city guard captains are programmed to issue :>patrol orders and attack orders to their charges. An interesting side :>affect is that by taking out a "marshall" or subsystem controller, a ^e? :>great amount of chaos ensues until a replacement NPC is found. :Cute. I like this. Hmmm. I tend to like everything remotely active to be completely active, thinking for itself to a greater or lesser extent. :>In a related vein, I was inspired by Nathan's description of his :>implementation of the physical laws of the universe to do something not :>altogether dissimilar in my server. While Nathan's model seems highly :>appropriate to a real world with real laws of physics, my world's physics :>are entirely subject to the whims of the gods. I don't believe in :>physics, I believe in divine intervention. (*grin*) It was my original :>intention that all immortals/deities actually be THAT. They can be :>player/administrator run and can be used literally as gods. My immortal :>pantheon is very similar to the greek mythos albeit with different names. *grin* I modeled a bit of that into my graphical project... I like it too, and hope someone will eventually run such a world with a Physmud++ base... I certainly provided enough support for that, and for alternative physical models... nonetheless, any consistant model will create a better mud, whatever the model may be. :>They demand sacrifices, quests and generally participate in mortal :>affairs. As such they are roleplayed by whomever is granted with the :>responsibility. With this in mind, I have done away with my solar/lunar :>timer events and have assigned maintenance and execution of these events :>to the Apollo NPC's and Artemis NPC's subsystems. Quite nice. How do you model the Deiatic charis :> It may be that Apollo might wish to delay the sunrise to allow a favored :>player to gain advantage in an early morning attack or Artemis decides :>that an eclipse would be appropriate to auger a significant event. With :>the NPC always "playing", it is possible for them to respond in an :>automated way to sacrifices, prayers and quests. There are many other :>possibilities, as I decide which dieties' subsystems control which mud :>events. Linking scheduling is quite simple in my system, partly because I had to allow for the distorted physics of the region around a black hole, the effects of time dialation, and simpler matters such as different planetary systems, differing gravitational fields, free fall localities, fluid environments... I think I could link in a "gods" system fairly easilly. The whole point of Physmud++ is that it can model any, _any_ set of laws to the universe. :cf the original Gods system. You can find a passable description in :Bartle's original MUD survey. Uh... what survey would this be? __ _ __ _ _ , , , , /_ / / ) /_ /_) / ) /| /| / /\ First Light of a Nova Dawn / / / \ /_ /_) / \ /-|/ |/ /_/ Final Night of a World Gone Nathan F. Yospe - University of Hawaii Dept of Physics - yospe#hawaii,edu </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="msg00143.html">3D graphics</A></STRONG> </LI> <LI>Next by Date: <STRONG><A HREF="msg00146.html">Re: List software</A></STRONG> </LI> <LI>Prev by thread: <STRONG><A HREF="msg00140.html">Re: Resets and repops</A></STRONG> </LI> <LI>Next by thread: <STRONG><A HREF="msg00150.html">Re: Resets and repops</A></STRONG> </LI> <LI>Index(es): <UL> <LI><A HREF="index.html#00144"><STRONG>Date</STRONG></A></LI> <LI><A HREF="thread.html#00144"><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: Resets and repops</STRONG>, <EM>(continued)</EM> <ul compact> <LI><strong><A NAME="00136" HREF="msg00136.html">Re: Resets and repops</A></strong>, Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Tue 18 Mar 1997, 23:44 GMT </LI> <LI><strong><A NAME="00138" HREF="msg00138.html">Re: Resets and repops</A></strong>, Adam Wiggins <a href="mailto:nightfall#inficad,com">nightfall#inficad,com</a>, Wed 19 Mar 1997, 00:57 GMT </LI> <LI><strong><A NAME="00139" HREF="msg00139.html">Re: Resets and repops</A></strong>, claw <a href="mailto:claw#null,net">claw#null,net</a>, Wed 19 Mar 1997, 01:00 GMT </LI> <LI><strong><A NAME="00140" HREF="msg00140.html">Re: Resets and repops</A></strong>, Furball <a href="mailto:K.L.Lo-94#student,lut.ac.uk">K.L.Lo-94#student,lut.ac.uk</a>, Wed 19 Mar 1997, 08:28 GMT </LI> <LI><strong><A NAME="00144" HREF="msg00144.html">Re: Resets and repops</A></strong>, Nathan Yospe <a href="mailto:yospe#hawaii,edu">yospe#hawaii,edu</a>, Thu 20 Mar 1997, 07:49 GMT </LI> <LI><strong><A NAME="00150" HREF="msg00150.html">Re: Resets and repops</A></strong>, Jon A. Lambert <a href="mailto:jlsysinc#ix,netcom.com">jlsysinc#ix,netcom.com</a>, Thu 20 Mar 1997, 13:23 GMT </LI> <LI><strong><A NAME="00151" HREF="msg00151.html">Re: Resets and repops</A></strong>, Jon A. Lambert <a href="mailto:jlsysinc#ix,netcom.com">jlsysinc#ix,netcom.com</a>, Thu 20 Mar 1997, 14:40 GMT </LI> <LI><strong><A NAME="00153" HREF="msg00153.html">Re: Resets and repops</A></strong>, claw <a href="mailto:claw#null,net">claw#null,net</a>, Fri 21 Mar 1997, 02:57 GMT </LI> <LI><strong><A NAME="00154" HREF="msg00154.html">Re: Resets and repops</A></strong>, Nathan Yospe <a href="mailto:yospe#hawaii,edu">yospe#hawaii,edu</a>, Fri 21 Mar 1997, 03:03 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>