[MUD-Dev] Re: Room descriptions

Hal Black hal at moos.ml.org
Wed Sep 30 21:30:35 CEST 1998


On Tue, Sep 29, 1998 at 12:10:33PM -1000, Nathan F Yospe wrote:
> On Sun, 27 Sep 1998, Hal Black wrote:
> 
> :Someone has to make the universe rules.  And the game engine is your tool for
> :making that reality manifest to immerse players in it.  Surely you shouldn't
> :have to tell players this...  But what happens when some circumstance happens
> :that they DO end up outside?  Either you can monitor the game all the time as
> :the admin and type stuff in (which I'd never attempt) or you can code it once
> :and let the players play and let the engine take care of this kind of thing.
> 
> Bingo. Either another convert, or convergent design.

8')  Convergent design in this case I think.  I've been planning this sort of
thing for some time, since before I joined the list.  Looks like you are doing
some excellent stuff with Physmud from what I have read in the archives.
Can't wait to see it in action.

> :What???
> :  I just said that if they are different, they get different perceptions.
[...]
> :if (character.body.can_see()) character.render(VISION,room.desc);
> :if (character.body.can_smell())  character.render(SMELL,room.scent);
> 
> :In a nutshell: if Mark can't smell, he doesn't get smell messages!!!
> :               if Sam can't see, he doesn't get vision messages!!!
> 
> Of course, you might want to make this less absolute... see my (superceded)
> earlier design with a sensory level based markup language... now consider a
> version that takes into account lighting levels, etc...

I absolutely plan to do it that way.  The aim above was to have a very simple
example for purposes of illustration and brevity.  The real model will have
different types of energy at different magnitudes.  Maybe a member of a canid
race will be able to hear that thief sneaking up behind him because of his
acute hearing, while a human might not, etc.

> :> Hal Black :
> :> >Sam in his spacesuit.
> 
> :> >Sam in a leaky spacesuit.
> 
> :> see above ;)
> 
> :Here is some pseudo-code for you to implement this.  What's good about it is
> :that you only have to implement the body once, and it will work in any
> :environment.  There are other, more sophisticated, ways to do this too, so that
> :vampires don't breathe, for instance if you don't want them to breathe in your
> :world.  I am trying to be brief here.
> 
> :    body human interfaces living {
> :       breathe {
> :          if (not breathable(environment.air)) {
> :	       choke();
> :          }
> :          call(1 seconds, breathe);
> :       }
> :       bool breathable(gas theGas) {
> :          if theGas = earthlike return true;
> :          else return false;
> :       }
> :    }
> 
> :    environment room {
> :       theAir = smoky;
> :       gas air() {
> :          if (body.in_sealed_container())
> :             return body.container.environment.air();
> :          else
> :             return theAir;
> :       }
> :    }
> 
> :    environment suit {
> :       gas air() {
> :          if (punctured)
> :             return (environment.air());
> :          else
> :             return earthlike;
> :       }
> :    }
> 
> :So it is kinda messy wrt to variable names and type names...  sue me, it's
> :pseudo-code. 8')
> 
> And looks suspiciously java-inspired. Or is that just me? :)

Caught red handed.  8')
  Yup, current (non)working code is in Java.

> :> Dont you see though, that "viewer specific" descriptions do this just
> :> as forcefully, and "un-correctly" as a static one. The only difference is
> :> whoever
> :> wrote the specific descriptions tried to get inside that viewers character
> :> more than one time. He just colored thousands more descriptions with his
> :> own personal ideas, prejudices, understandings, than the person that
> :> writes one. Those "viewer specific" descriptions are no more accurate 
> :> or entertaining than one, in fact, they have intruded so much, that now
> :> wherever I go, im told, "for my specific circumstances" what I see, hear
> :> etc. Cant I get a chance to do that? Why does the game engine have to kick
> :> me out of my character in each room, and tell me specifically for my character
> :> now, what i see, hear, etc..
> 
> :I have never advocated that the game engine should take you out of your
> :character and tell you how you feel.  However, the physical body of your
> :character will - IN SOME CASES - bias your viewpoint.  The engine can give
> 
> Yes. In fact... well, if you look in the archives, you'll even see posts
> about implementing "blind rage" and the like, along with player-intelligence
> based perception...

Yes, there is a very interesting post in the archives somewhere about using
player intervention to override instinctive action by the character.  (search
for Kzin)  That is a very cool feature I'd like to add for some of the advanced
roleplaying races.

> :> Im going to use a simple principle here :
> 
> :> Akhams Razor.
> :
> :Actually it's either Ockham's or Occam's Razor in English.
> 
> Occam's. I'm a scientist. I use

There are actually two accepted spellings as mentioned above.  I don't think
they were as strict about spelling back in the day as we are now.

> :Occam was born before there were things like quantum physics.  8')
> 
> :Since you're quoting Occam, it is interesting to note in the context of this
> :debate that he applied his theory to psychological powers distinct for each
> :mode of sense.  8')
> 
> Also, the quote considered only viable explanations. And quantum physics is
> pretty simple, honest. Now, high energy quantum chromodynamics... or string
> theory... or supersymmetry...

Heh.  I wish I knew more about that kind of thing.  I'm an EE so at least
I could have taken some solid state, but I took more math instead.  Only
so much time I guess.




More information about the mud-dev-archive mailing list