Resets and repops

Nathan Yospe yospe at hawaii.edu
Sun Mar 23 09:57:42 CET 1997


On Sat, 22 Mar 1997, Adam Wiggins wrote:

:> Actually, Object display is static. The issue here is the "player added"
:> routine for the Location. Whenever a Player requests info from an Area, in
:> any form, it takes the form of adding the Player, by proxy at the least,
:> to the Location, for whatever duration, then extracting the Player later.
:> If I wanted to keep everything alive, I could put a null Player container
:> in every room in the game, or even define the Location default with player
:> present flags... but, I think of this as equivalent to a haunted house.
:> You ever run a really good haunted house? The secret is, have everything
:> ready for the people coming through, and give them some background noises,
:> but don't have the scenes all running when they are empty. This just tires
:> out your actors and gains nothing. Same with my MUD. Its all about how
:> convinced the Players are, after all. And Shrodingers can could have
:> remained undefined until opening time, instead of trying to calculate
:> every milisecond whether the isotope decayed and released the poison. The
:> end result is the same to the outside observer.
:
:Okay, sounds like you've got everything under control.  I'm still lazy,
:though.  The only concession to memory/processor constraints we're
:planning to make use of is the item-cleanup thing I already mentioned, and
:a 'statis' mode for untouched zones.  Thus a zone with a player in it right
:now will have mobiles running their AI routines every second or more to
:decide what they should be doing, whereas one that was just left recently
:by a player runs at, say, once every 5 seconds, and zones which haven't been
:touched in a while only move once every minutes or less.

This isn't too dissimilar from my system, really... I have a much higher
check locally (1/20 to 1/10 of a second) and it goes to zero a lot
faster... and the long range updates and proxy system is a little more
complex... but not that much, from your description

:However, I find it hard to get worried these days about processor and memory.
:First of all, our mud with only a base area loaded up takes approximately
:the same amount of memory as the tcsh it's running in.  Secondly, I
:made a tiny code mistake a few months back that caused the mob AI pathfinding
:routine (recursive, which can get rather nasty for long distances) to be
:called 20,000 times per second instead of only when it needs to find a path
:(should be once every couple of real life minutes for most mobiles).
:The only reason I noticed is that our CPU usage jumped from 3% to like 8%.
:Since then we've upgraded to a computer that is signifigantly faster (mud
:compiles in 20-30 seconds instead of 1-2 minutes) and has four times as much
:ram.  So I have trouble getting worked up about processor usage :)

I'm on a university server. Legit, and they are comparing me favorably to
the other three legit MU*s (A MOO, two MUSHes) so its not that bad... but
I like to be discreet.

:> *smirk* I did write an area that had a certain species being generated
:> like clones on an assembly line. _Very_ like clones... that's exactly what
:> they were. I guess its nice having things like that... things are a little
:> too turbid in my world to notice, though. There are few stores, and many,
:> many battlefields.
:
:My co-imp used to build for a mud we used to play together, and he always
:had monster creation rooms with whimsical decriptions of artificers hard
:at work constructing various mobiles.  They'd load up in that room and
:then wander out through the one-way exits, to avoid having them just 'appear'
:in rooms with the player (since he didn't want to make his zone pop-if-empty).

Actually, I meant literally, where the Players could see. The area
involved an assembly line of clones of a hostile species, force grown...
the longer you hung around, the more of them there were attacking you. The
objective is to shut the whole thing down.

:> Er.. the second case. Seperate game worlds. Yes, a tad messy, but no one
:> is going to design a complex Area if its gonna get turned into a crater by
:> the first hotshot Character to visit it... unless it can also get turned
:> into a crater by the second, third, and so forth. This lets a Player feel
:> like he's accomplished a permanent thing (until he gets to be a builder of
:> high enough skill to catch on) without making the builder feel like his
:> beautiful Area has been trashed.
:
:Nod...I'm curious to know how the resolution of room descs works.
:Like...one guy is standing there who thinks its a crater, someone walks
:in who's never been there before...they are both seeing different things?
:Or the crater-guy somehow transfers his info to the new arrival?

Well, someone who has never seen it before walks in not to the crater, but
to the pre cataclysm complex. Unless he does so in the company of the
first, who will presumably be quite proud of the destruction he has
wrought. The description, and its dynamicism, is up to the builders. I
support unlimited dynamicism... but only require a reasonable degree.

:[memory bases..]
:> :Amusing.  Could even toss player notes onto a given memory, thus:
:> :
:> :> note silke this asshole tried to steal my hat!
:> :
:> :And later...
:> :Silke has arrived from the north.
:> :> ponder
:> :> recall Silke
:> :You seem to remember thinking, 'This asshole tried to steal my hat!'
:> :> growl
:> :
:> :Hmmm.  Dang, that could be useful in real life:
:> 
:> Hey! I liiike that! Mind if I steal the idea?
:
:I wouldn't write about 'em if I didn't want people to use them. :)

*grin*

:> :A tall man approaches you.
:> :A tall man says, "Adam!  How's it going?  Been a long time!"
:> :> say uhh....
:> :> recall man
:> :You think really hard, trying to remember anything you can about the tall man
:> :Hmmm, you think his name might be "Phil."
:> :> ' how's it going phil
:> :Phil says, "Uh, it's 'Bill'."
:> :> doh
:> :> name phil bill
:> :You will now call him 'Bill'.
:> 
:> *grin* Never thought of scrambled names...
:
:This was actually the first thing that occured to me when we put in memory
:(oh so long ago).  The other nice thing about storing your last remembed
:state of someone, aside from the disguises and things, is that you immediately
:'notice' new things, but you can choose to filter out things that your
:character already 'knows'.  Thus if you're used to seeing Chani wearing
:a stillsuit, and she walks in wearing one, you just see:
:
:Chani has arrived from below.
:
:versus that guy who _hates_ wearing stillsuits:
:
:Joeseph, clad in a stillsuit, has arrived from below.
:
:or:
:
:Joeseph, missing an arm, has arrived from below.
:> say joe!  what happened to your arm??

Yeah, I do this... maybe not the stillsuit, unless there is something
remarkable about stillsuits... is there? But the arm, or a bulky armored
battlesuit, or whatever, if unusual for the Character in question.

:> *grin* well, I keep trying for those. Sooner or later, one of these Turing
:> AIs is gonna pull it off.
:
:Actually, it's not all _that_ tricky.  That mud I metioned above that
:my co-imp used to build for had a couple of pretty nice mob-procs.
:Uhh....Flewder was one, and then some warrior guy.  They'd cast spells on
:you, group with you, etc etc.  Or Biff the Dragonslayer, who we jokingly
:referred to as Biff the Newbie Slayer.  Basically he'd shout, 'All
:those that wish to hunt a dragon, come to me!' every so often.   I think he'd
:only take people under level 15 (on a 50 level system) with him.  They'd
:follow him, he'd group them and they'd head off to fight the green dragon
:nearby.  Now, the dragon wasn't all that tough...Biff would usually kick
:its ass.  However it liked to breath partway through combat, usually doing
:enough damage to kill any character (particularly spellcasters) under level
:10, not to mention fragging most of their eq.
:Heh, that was a pretty lame mud, but at the time it seemed cool.
:Anyhow, the main problem I see with mobs is just their repetitiousness.
:That is, what breaks the illusion is this:
:
:> say flewder, cast fly on me
:Flewder says, 'Just a moment, I'm all out of mana right now!'
:Flewder sits down and rests.
:> say flewder, cast fly on me
:Flewder says, 'Just a moment, I'm all out of mana right now!'
:
:It would be immediately better if he'd choose from a list of mesages
:randomly, and better still if he 'remembered' recent requests:
:
:> say flewder, cast fly on me
:Flewder says, 'Just a moment, I'm all out of mana right now!'
:Flewder sits down and rests.
:> say flewder, cast fly on me
:Flewder says, 'I *said*, just a moment!  Sheesh.'
:> say flewder, cast fly on me
:Flewder says, 'Look, if you keep pestering me, you're not gonna get your fly at all.'

I'm trying to create one that can talk believably about personal life in
the chat rooms, remember you, and convince you that you are making a
personal friend, to the point where eventually you ask about meeting in
person. At that point, of course, the AI had better decline.

:> :Ha...I still read and post to r.g.m.*, mostly because they have pretty
:> :low traffic anyways (especially when you cut out the spam with a nice
:> :killfile or a quick next-message-key finger), but I do get tired of the
:> :"Are you out of your MIND?!?!?" and "Why would anyone want to play any
:> :mud that isn't exactly like all the ones that are existing right now?
:> :You ought to quit wasting your time and just code yet another druid
:> :class, or maybe C00L ANS1 C0L0RZ."
:> 
:> Well, we've had a couple of nice discussions pop up from time to time. I
:> try to fan the flames whenever one of them comes up... potential recruit
:> screening for here, for one thing. *grin*
:
:Very true.  And I must say I do enjoy fanning the flames, myself, despite
:my better judgement...

I meant as in encouraging discussion, not as in starting fights. *smirk*

   __    _   __  _   _   ,  ,  , ,  
  /_  / / ) /_  /_) / ) /| /| / /\            First Light of a Nova Dawn
 /   / / \ /_  /_) / \ /-|/ |/ /_/            Final Night of a World Gone
Nathan F. Yospe - University of Hawaii Dept of Physics - yospe at hawaii.edu




More information about the mud-dev-archive mailing list