Resets and repops

Chris Gray cg at ami-cg.GraySage.Edmonton.AB.CA
Sat Mar 22 12:20:36 CET 1997


[JonL:]
:[Nathan Y, on not reseting areas until PCs enter]
:> :  Scrying
:> Again, this would create a local Player controlled bodyless Character
:> manifestation, and adhere to the rules.
:
:Well, the tricky part is:
:
:> scry elven archwizard

But isn't it a bit unrealistic to be able to do that? I was thinking about
this stuff this morning, and it occurs to me that one of the things I
would want to do is to be careful about identification. In my system all
database entries have a unique ID. I would use that as a handle for things.
You can put a name for it into your private symbol table. Then, you can
refer to it, unambiguously, by that name. So, the 'scry' for me, would
end up not using 'elven archwizard', but some made-up name by which this
player refers to the NPC. Such a name can only be made when you have some
other unambiguous way of referencing the archwizard, such as by being in
the same room as him and doing the naming. So, having this link to the
elven archwizard can be considered enough to keep that NPC active. If
you don't have some kind of unambiguous reference like that, then the
above command seems to me to require some sort of scan of the entire
world, in order to find something that meets that description. Now, you
may want to allow that, but for most uses, I think an unambiguous
reference would be preferable.

[Just scribbles note about this down - added to stack of such.]

Here's a general question for you guys who advise doing everything for
"real": Do you have evidence that doing this is going to be practical
in a large-ish MUD in the next few years? I don't have a gut feel for
the speed of a 100% in-memory MUD, since mine has a disk based DB with
lots of caching, but what I've observed is that DB access is the big
bottleneck. ChrisL, what have you observed on this? If a system is
100% in-memory, then links from one entity to another can be just pointers,
but with a disk-based system that's harder. Do any of you convert DB-refs
to pointers on the fly when objects are loaded? That would require keeping
track of where all the pointers are, and also would require conditional
code of some kind whenever a pointer is followed. In my testing, I've
found that I can run 50-100 NPC's moving every couple of seconds, on this
roughly 15 MIP machine. The world complexities we've been talking about
would seem to require 100's or 1000's of active NPC's. Also, the code
being discussed is a lot more complex than what I'm currently running.
Is my system just hopelessly slow, or is there something wrong with my
assumptions here?

I guess I can barely imaging this kind of thing working with a 100%
in-memory system, running 100% native code (i.e. very little scripting
or whatever you want to call it). Mine is 0% true in-memory and 100%
scripting (fairly efficient scripting language, however), so maybe this
is why I'm slow. Comments?

: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:
:
: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'.

This is actually rather telling. This *would* be very useful in real life.
Politicians have assistants whose job is to provide this information -
prepping the big-wig on whoever they are going to meet, just before the
meeting. Such things as tidbits about whatever the big-wig learned on
previous meetings, what was discussed, etc. For normal folks, however,
we have to rely on our fallible memories. Is it realistic to provide
this kind of aid in the game? Handy, yes. This is one of the reasons
why I would like to go to a 100% 3D graphic game. You can then avoid
a lot of the stuff that is needed in text games and simply leave things
like noticing, remembering, etc. up to the human player. You don't have
to come up with text descriptions dependent on the local conditions -
you just display the world according to those local conditions, and the
visual acuity of the player if you want, and let the player sort it all
out. Much more realistic. Is it playable, though?

:Yeah, that's what's cool about a system like this - players, being as
:clever as they are, will come up with tricks along these lines that you never
:thought of when programming it, but still working perfectly within the system
:(because it is all consistant).  Not to mention I love concepts which
:are neither good nor bad...they just _are_.  What you want to make of
:them is up to you as the player.

I *really* like it when unexpected, but consistent, things happen. Too
bad that in my simple system, it has only sorta happened once. Sniff!

--
Chris Gray   cg at ami-cg.GraySage.Edmonton.AB.CA



More information about the mud-dev-archive mailing list