1998Q3/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: [MUD&#45;Dev] Re: Room descriptions -->
<!--X-From-R13: @nguna T Kbfcr <lbfcrNunjnvv.rqh> -->
<!--X-Date: Tue, 29 Sep 1998 15:11:12 &#45;0700 -->
<!--X-Message-Id: Pine.GSO.3.95q.980929114659.4417A&#45;100000@uhunix2 -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: 19980927190708.16944#moos,ml.org -->
<!--X-Head-End-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>MUD-Dev message, [MUD-Dev] Re: Room descriptions</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>
[&nbsp;<a href="../">Other Periods</a>
&nbsp;|&nbsp;<a href="../../">Other mailing lists</a>
&nbsp;|&nbsp;<a href="/search.php3">Search</a>
&nbsp;]
<br clear=all><hr>
<!--X-Body-Begin-->
<!--X-User-Header-->
<!--X-User-Header-End-->
<!--X-TopPNI-->

Date:&nbsp;
[&nbsp;<a href="msg01370.html">Previous</a>
&nbsp;|&nbsp;<a href="msg01372.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg01320.html">Previous</a>
&nbsp;|&nbsp;<a href="msg01395.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#01371">Author</A>
&nbsp;|&nbsp;<A HREF="#01371">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#01371">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>[MUD-Dev] Re: Room descriptions</H1>
<HR>
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<UL>
<LI><em>To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A></LI>
<LI><em>Subject</em>: [MUD-Dev] Re: Room descriptions</LI>
<LI><em>From</em>: Nathan F Yospe &lt;<A HREF="mailto:yospe#hawaii,edu">yospe#hawaii,edu</A>&gt;</LI>
<LI><em>Date</em>: Tue, 29 Sep 1998 12:10:33 -1000</LI>
<LI><em>Reply-To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</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 Sun, 27 Sep 1998, Hal Black wrote:

:On Sun, Sep 27, 1998 at 03:26:38PM -0400, apocalypse#pipeline,com wrote:

:&gt; the sun. The responsibility of RP, and understanding is totally up
:&gt; to them, they are the character, im just the guy who makes the world,
:&gt; its up to them to interpret it, not me. 

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

:&gt; Hal Black:
:&gt; &gt;That's why I think we should 
:&gt; &gt;just provide hints when we can, and leave the imagination to the player.
:&gt; &gt;Nothing is more frustrating for me as a player to be told that I'm feeling
:&gt; &gt;something that I'm not.

:&gt; &gt;If Sam and Mark are twins, certainly they will see almost exactly the same
:&gt; &gt;things.  However, if Sam is blind and Mark can't smell, they will certainly
:&gt; &gt;need different descriptions of the perfume shop if you really want to put the
:&gt; &gt;player in the role they are playing.

:&gt; Again we can go round and round :) If mark cant smell, and the room tells him he
:&gt; can, whoa! hey sam! I can  sm(inhale)ell here!!!! the end result is the
:&gt; same , no matter what we try to do, we are going to force them 
:&gt; inevitably into something they may not be thinking and feeling.

:What???
:  I just said that if they are different, they get different perceptions.
:Explain to me how I can't do this.

:  Since you aren't seeing it, here is some code you can have in every room and
:it will work perfectly:

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

:&gt; what the player can see/hear/smell or feel, all the little things
:&gt; that the guy on the computer just found out about his character..
:&gt; Thats just too many times im trying to get into someones head
:&gt; that isnt mine. Ill take my chances with one time, but hundreds, thousands?

:This is actually pretty easy to implement.

:&gt; Hal Black :
:&gt; &gt;Sam in his spacesuit.

:&gt; &gt;Sam in a leaky spacesuit.

:&gt; 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? :)

:&gt; &gt;I think situations should be descriptive as possible...  But where appropriate.
:&gt; &gt;Otherwise, as a player trying to play a role, I just feel angry when I am
:&gt; &gt;forcefully removed from my role by the engine telling me to feel a certain way
:&gt; &gt;when I wouldn't, or when someone starts talking about the home-run race in
:&gt; &gt;a medieval game.

:&gt; Dont you see though, that "viewer specific" descriptions do this just
:&gt; as forcefully, and "un-correctly" as a static one. The only difference is
:&gt; whoever
:&gt; wrote the specific descriptions tried to get inside that viewers character
:&gt; more than one time. He just colored thousands more descriptions with his
:&gt; own personal ideas, prejudices, understandings, than the person that
:&gt; writes one. Those "viewer specific" descriptions are no more accurate 
:&gt; or entertaining than one, in fact, they have intruded so much, that now
:&gt; wherever I go, im told, "for my specific circumstances" what I see, hear
:&gt; etc. Cant I get a chance to do that? Why does the game engine have to kick
:&gt; me out of my character in each room, and tell me specifically for my character
:&gt; 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...

:hints for what you might be feeling, but shouldn't be overbearing.  But in
:the case of seeing and hearing...  If you are blind, the engine shouldn't be
:giving you any visual information at all.  If you are deaf, the engine
:shouldn't be relaying any noises to you.  And likewise, if your face is getting
:painfully burned off by the sun, it shouldn't be telling you how much you love
:the sun.  Maybe you do love the sun, maybe you don't, but it shouldn't tell
:you that you do.

Exactly.

:&gt; Im going to use a simple principle here :

:&gt; Akhams Razor.
:
:Actually it's either Ockham's or Occam's Razor in English.

Occam's. I'm a scientist. I use

:&gt; "The simplest explanation is often the real one" (not entirely quoted as written
:&gt; but definitely appropriate and consistent).

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

:&gt; In summary, to make specific descriptions, is to try to invade
:&gt; each of the now millions of minute possibilites within each
:&gt; characters perceptions (and hehe, I definately do not relish
:&gt; the idea of trying to write all those descriptions, someone
:&gt; would be at it for years of real time).

:There really wouldn't be millions of different of descriptions.  Just as many
:as your characters has senses per room.  And of course you don't have to have
:a distinct smell and taste for every region.  It would be nice to have
:physical effects too, such as the sunlight and the breathing oily air, but I
:think it's just as easy to put those in the player objects as it is to put them
:in the room, and perhaps it fits better.

Well, that's not all that simple to say...

:You can really do a lot of neat things with the engine if you want.  If you
:don't want to, it is your hill of beans.

The key is having a lot of neat things in the _client_. ;)

:I guess the other alternative is just to let the players make up whatever they
:want for their roles.  In free-form role-playing, where the players aren't
:bound by any universal rules, and can march around being Bill Clinton one minute
:and Billy the Kid 5 minutes later, at their whim, it seems kinda pointless to
:have the admins bound by any rules either in how they make up the game.  Maybe
:that is the kind of thing you're used to..  I'm not sure.

Reminds me of some games I've seen... *grin*
-- 

Nathan F. Yospe - Born in the year of the tiger, riding it forever after
University of Hawaii at Manoa, Dept of Physics, second year senior (joy)
(On Call) Associate Algorithm Developer, Textron Systems Corp, Maui Ops.
yospe#hawaii.edu <A  HREF="http://www2.hawaii.edu/~yospe">http://www2.hawaii.edu/~yospe</A> Non commercial email only



</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="01395" HREF="msg01395.html">[MUD-Dev] Re: Room descriptions</A></strong>
<ul compact><li><em>From:</em> Hal Black &lt;hal#moos,ml.org&gt;</li></ul>
</UL></LI></UL>
<!--X-Follow-Ups-End-->
<!--X-References-->
<UL><LI><STRONG>References</STRONG>:
<UL>
<LI><STRONG><A NAME="01315" HREF="msg01315.html">[MUD-Dev] Re: Room descriptions</A></STRONG>
<UL><LI><EM>From:</EM> Hal Black &lt;hal#moos,ml.org&gt;</LI></UL></LI>
</UL></LI></UL>
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg01370.html">[MUD-Dev] Re: A little help</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg01372.html">[MUD-Dev] Re: Simulation (Was Re: Room descriptions)</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg01320.html">[MUD-Dev] Re: Room descriptions</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg01395.html">[MUD-Dev] Re: Room descriptions</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#01371"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#01371"><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>[MUD-Dev] Re: Room descriptions</STRONG>, <EM>(continued)</EM>
<ul compact>
<ul compact>
<ul compact>
<LI><strong><A NAME="01317" HREF="msg01317.html">[MUD-Dev] Re: Room descriptions</A></strong>, 
Caliban Tiresias Darklock <a href="mailto:caliban#darklock,com">caliban#darklock,com</a>, Mon 28 Sep 1998, 00:09 GMT
<UL>
<LI><strong><A NAME="01318" HREF="msg01318.html">[MUD-Dev] Re: Room descriptions</A></strong>, 
Hal Black <a href="mailto:hal#moos,ml.org">hal#moos,ml.org</a>, Mon 28 Sep 1998, 00:58 GMT
<UL>
<LI><strong><A NAME="01321" HREF="msg01321.html">[MUD-Dev] Re: Room descriptions</A></strong>, 
J C Lawrence <a href="mailto:claw#kanga,nu">claw#kanga,nu</a>, Mon 28 Sep 1998, 02:19 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="01320" HREF="msg01320.html">[MUD-Dev] Re: Room descriptions</A></strong>, 
J C Lawrence <a href="mailto:claw#kanga,nu">claw#kanga,nu</a>, Mon 28 Sep 1998, 01:16 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="01371" HREF="msg01371.html">[MUD-Dev] Re: Room descriptions</A></strong>, 
Nathan F Yospe <a href="mailto:yospe#hawaii,edu">yospe#hawaii,edu</a>, Tue 29 Sep 1998, 22:11 GMT
<UL>
<LI><strong><A NAME="01395" HREF="msg01395.html">[MUD-Dev] Re: Room descriptions</A></strong>, 
Hal Black <a href="mailto:hal#moos,ml.org">hal#moos,ml.org</a>, Thu 01 Oct 1998, 01:09 GMT
</LI>
</UL>
</LI>
</ul>
</ul>
<LI><strong><A NAME="01316" HREF="msg01316.html">[MUD-Dev] Re: Room descriptions</A></strong>, 
Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Sun 27 Sep 1998, 23:19 GMT
<UL>
<LI><strong><A NAME="01322" HREF="msg01322.html">[MUD-Dev] Re: Room descriptions</A></strong>, 
Adam J. Thornton <a href="mailto:adam#phoenix,Princeton.EDU">adam#phoenix,Princeton.EDU</a>, Mon 28 Sep 1998, 02:35 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="01319" HREF="msg01319.html">[MUD-Dev] Re: Room descriptions</A></strong>, 
apocalypse <a href="mailto:apocalypse#pipeline,com">apocalypse#pipeline,com</a>, Mon 28 Sep 1998, 01:11 GMT
</LI>
</ul>
</LI>
</UL></BLOCKQUOTE>

</ul>
<hr>
<center>
[&nbsp;<a href="../">Other Periods</a>
&nbsp;|&nbsp;<a href="../../">Other mailing lists</a>
&nbsp;|&nbsp;<a href="/search.php3">Search</a>
&nbsp;]
</center>
<hr>
</body>
</html>