Location, movement, and relative spaces in a generated universe...

39 views
Skip to first unread message

Morgan Schweers

unread,
Oct 23, 1991, 6:30:10 AM10/23/91
to
Greetings,
Situation: Given a 'real' world, there any number of points between
one 'place' and another.

Problem: Most current 'interactive fiction' programs are based around
the concept of 'rooms', where a room can be almost anything.

Question: Does anyone know of alternate paradigms that could be
effectively used as space-dividers?

For example, you are in a 'living room'. If you were to 'sit down'
on a couch, then in many programs you would be entering a different room.
This would require some funky programming to allow you to see things going
on in the room, while still sitting in th couch. (It would either require
a false-couch, in which case you have to set a flag on the person stating
that they are sitting in the couch, etc., so they have to 'get up' before
they can move around the rest of the room, or it would require patching in
the information about the room to the couch. Thus if someone enters the
room, anyone in the couch is *ALSO* told about it.)

Under a more real-world design structure, I would guess that there
would be a 'vision distance', and 'vision blockers' which would limit
and extend the distance a person could see. With this, the person's
location becomes a matter of X-Y-Z coordinates in a universe which is
wormholed by whatever you've built. This then causes problems with
movement, in which you have to specify *WHERE* you're going to move
to. This is because it allows moving around inside a room, to look
around objects, etc. This brings up the question of changes in the
parsing mechanism, related to this form of universe-type. What sort
of descriptive (what the program shows the user) and acceptable (what
the user tells the program) changes must be made?

This is, of course, for a text-based system. IMHO, graphical systems
would require ray-tracing, and as such are not really available in terms
of modern processing power. (I suppose such a system could be written
for a few crays, linked together, but I think it *STILL* wouldn't be
quick!)

Any ideas, enhancements, suggestions, new-world-views, paradigm
swaps, etc.?

-- Morgan Schweers
--
m...@netcom.com | Morgan Schweers | Happiness is the planet Earth in your
m...@gnu.ai.mit.edu| I hate disclaimers| rear view mirror. -- Jeff Glass
Freela @ Furry | but I often say +--------------------------------------
K_Balore @ Furry | things that others| I'm a practicing furry! Some day
-----------------+ don't like, so... | I hope all this practice will pay off
IT'S NOT COMPANY OPINION. So there. | and I'll grow fur! -- me

Kari E. Hurtta

unread,
Oct 23, 1991, 12:03:12 PM10/23/91
to
In article <1991Oct23.10...@netcom.COM> m...@netcom.COM (Morgan Schweers) wrote:
> This is, of course, for a text-based system. IMHO, graphical systems
> would require ray-tracing, and as such are not really available in terms
> of modern processing power. (I suppose such a system could be written
> for a few crays, linked together, but I think it *STILL* wouldn't be
> quick!)

Why ray-tracing? IMHO, some lighter graphical system would be sufficient. For
example filled vector-graphic.

- K E H

Shawn L. Baird

unread,
Oct 23, 1991, 3:44:19 PM10/23/91
to
m...@netcom.COM (Morgan Schweers) writes:

> Problem: Most current 'interactive fiction' programs are based around
>the concept of 'rooms', where a room can be almost anything.

If the concept of rooms is extended a bit futher, as I'll detail below, the
fact that a room can be almost anything can be quite the advantage.

> For example, you are in a 'living room'. If you were to 'sit down'
>on a couch, then in many programs you would be entering a different room.
>This would require some funky programming to allow you to see things going
>on in the room, while still sitting in th couch. (It would either require
>a false-couch, in which case you have to set a flag on the person stating
>that they are sitting in the couch, etc., so they have to 'get up' before
>they can move around the rest of the room, or it would require patching in
>the information about the room to the couch. Thus if someone enters the
>room, anyone in the couch is *ALSO* told about it.)

You talk as though the model for this was not constructed, yet a general
purpose system that allows "rooms" to be placed inside of other "rooms" is
definitely possible. Such a hierarchy would allow you to determine if
actions in the parent room were visible to someone in the child room. This
may not be quite as generalized as the 3D theme, but the major problem I see
with 3D are the difficulties of navigating and displaying such a world to
the text screen of a user. For example, you might want to determine if the
route to the door specified by the user is accessible, but to truly guage if
it is not you must perform a complicated path finding algorithm (something
perhaps analagous to finding paths for circuits on a circuit board) unless
you have some paths precomputed, in which case you must perhaps tell the user
there is no path (the precomputed one is blocked) when there may be a route
slightly around it. Of course, both methods could be combined.
I think that, with sufficient study, you'll find that rooms, however, that
rooms offer all of the above capabilities if desired. A room can be treated
as containing a 3D model if desired. From my viewpoint it seems a lot easier
to simulate 3D inside of rooms than to simulate rooms within 3D.
Another advantage offered by rooms is the fact that, since they are merely
linked to other rooms, they can be moved with relatively little difficulty,
thus enabling you to easily make elevators, vehicles, etc.
In a system requiring distance for line of sight missile combat or
somesuch, you have the option to extend your parser to handle distances and
dimensions within rooms. LOS calculations should be relatively minimal,
simply find the path to the target calculating a rough distance and whether
or not the target is visible.

Since I've heard this method mentioned before, I could probably find a few
people who do agree with the method and, maybe, would even be interested in
working on it. I don't personally think it is the right direction to head
just yet, but then that's only my opinion.

> -- Morgan Schweers
>--
>m...@netcom.com | Morgan Schweers | Happiness is the planet Earth in your
>m...@gnu.ai.mit.edu| I hate disclaimers| rear view mirror. -- Jeff Glass
>Freela @ Furry | but I often say +--------------------------------------
>K_Balore @ Furry | things that others| I'm a practicing furry! Some day
>-----------------+ don't like, so... | I hope all this practice will pay off
>IT'S NOT COMPANY OPINION. So there. | and I'll grow fur! -- me

| bai...@rigel.cs.pdx.edu | Efficiency tomorrow, for today I code! |
| | I think I am right, therefore I am right. |

Vax

unread,
Oct 23, 1991, 4:30:04 PM10/23/91
to
I think this is getting a little out of control... graphical muds?
Not in this decade, pal! :-)
Anyway, I was also wondering how an xyz axis system would work... I have
often contemplated how it would be if shouts, etc (pardon the Mud references)
would only go to the surrounding area (in 3-space), without going through
'special' exits, such as magic portals... I mean, it's obvious a shout object
could be written to 'walk' in certain directions, and tell people the shout,
but like I said... problems there....
Anyway, the couch could be an object, not a room, since couches don't really
contain you... But then again, that wasn't actually your question... For
a better example, how about a cage or large aquarium in the middle of a room?
I'm not really sure how you could -EFFECTIVELY- and -EASILY- program this.
Sure, room-based systems worked in one-player games, but -truly-, are they
realistic in a multi-user game? I'm not really sure... they work ok under
some circumstances...
And who would -really- want an absolute xyz coordinate in mud? What about
all the extra-dimensional sh*t that people love to throw in:
"A large blue,humungous glowing super-hot magickal time space feeling worm hole
extra-dimensional pulsing powerful evil extra-nasty portal lies here and
every block west of here for the next five miles" (untargeted flame)
How would you make a randomly targetable teleport without xyz axes?
Answers anyone? Anyone? Beuller? ..... Vax-N/8 the CR-miser

Brent LaVelle

unread,
Oct 23, 1991, 4:30:51 PM10/23/91
to
In article <1991Oct23.10...@netcom.COM> m...@netcom.COM (Morgan Schweers) writes:
>Greetings,
> Situation: Given a 'real' world, there any number of points between
>one 'place' and another.
>
> Problem: Most current 'interactive fiction' programs are based around
>the concept of 'rooms', where a room can be almost anything.
>
> Question: Does anyone know of alternate paradigms that could be
>effectively used as space-dividers?

When I left the Monster project I began working on a Monster like program
for unix. In this game (which does work but is quite dusty) there are
event tables that say which kind of events are reported to players(magiks)
in other rooms. I'll use your example of the sofa in the living room.
You have a place called living room and a place called sofa. All of the
heard seen and felt events from the sofa would be sent to the room as
well as all of the seen felt and heard events from the room would be
sent to the sofa.

Another example would be an 8' high stone wall. You could not hear nor
see the place on the other side but you might be able to hear(although
not very well) what people were saying on the other side of the wall.
So I would make an entry to the event tables for each place that would
pass heard events from one place to the other. They would have a
garble of say 40 so this:
Commander Meditat says, "Go find Krotche and tell him I have the Sword
of the kings"
Would turn into this for someone on the other side of the wall:
Co????der Me???at ?ays, "?? fi?d K??t?he an??te?? h?m I ???e t?? S?ord
o? the kin??"

Yet another example would be an arrow slit in a castle wall. You could
see and hear out, yet only hear in. The only felt events would have to have a
range of 20' and a size of less than 5(of the arbitrary unit) and the
felt events going into the castle have a 80% greater chance of missing.


So: I do not use x,y coords just more pointers on the great graph of life.
Some of the more complicated issues I was coming up against were the
English sentances used to describe multi-location events. Another was
movement from a senced place to another senced place. If anyone is
interested in this approch I will dig throug my old game and post more.
I could even fire it up. Although the interface was as bad as mud with
the inturruptions to the command line.

Hope this helped.

Brent LaVelle
lav...@convex.com

Mark Crimson Friedman

unread,
Oct 23, 1991, 8:16:45 PM10/23/91
to
In article <1991Oct23.10...@netcom.COM> m...@netcom.COM (Morgan Schweers) writes:
> For example, you are in a 'living room'. If you were to 'sit down'
>on a couch, then in many programs you would be entering a different room.
>This would require some funky programming to allow you to see things going
>on in the room, while still sitting in th couch. (It would either require
>a false-couch, in which case you have to set a flag on the person stating
>that they are sitting in the couch, etc., so they have to 'get up' before
>they can move around the rest of the room, or it would require patching in
>the information about the room to the couch. Thus if someone enters the
>room, anyone in the couch is *ALSO* told about it.)

Hey! No biggie here: I think several people have developed the like.
For example, I did it on NAIVE (the 'meta-room' concept), and a friend
ported the idea over to MOO (named as 'areas'). This type of
construction offers so much more to the ambiance of a virtual
environment!

For example, if I examined The Lounge of the Starship Naive:

****
Lounge(#69RX)
Type: ROOM Flags:
Owner: Crimson Key: *UNLOCKED* Parent: GLOBAL_ENVIRONMENT(#0RD)
This is where everyone hangs out most of the time that that they're
not in ColdStorage. Couches and chairs line the rooms. You can look
out the front of the starship to the north. A bar sits in one corner
of the room.
Contents:
Crimson(#1PWBM)
Rawhide(#139PWM)
Exits:
bar;drink;sit;sit down(#265EO)
chair;recline;sit on a chair;sit(#212EO)
fall;down;d(#201E)
couch;sit;sit on couch;sit on the couch;sit down(#197EO)
north;n(#122E)
south;s;out;o;exit;x;hall;hallway(#71EO)
Meta-Rooms:
On a Reclining Chair(#211R)
On a Couch(#167R)
On the Carpet(#200R)
At the Bar(#264R)
Position message: standing
****

Notice the meta-room list at the bottom of the output. This list
shows all the areas that are linked to the lounge by sight and sound.
For example, if I did a look:

****
Lounge(#69RX)
This is where everyone hangs out most of the time that that they're
not in ColdStorage. Couches and chairs line the rooms. You can look
out the front of the starship to the north. A bar sits in one corner
of the room.
Obvious Exits: bar, chair, couch, south
Contents:
Rawhide(#139PWM)
theSTRanger(#424PWBM) (sitting on a couch)
Lerxst(#126PWM) (sitting at the bar)
****

So now we can see other people in the room (followed by the 'position
message' for their particular meta-room), and poses and speaking are
broadcasted throughout the entire meta-system.

Additionally, you can only see objects within your immediate
meta-room. This is because objects are assumed to be smaller than
people and must be examined at a closer range (plus the fact that
NAIVE has no general 'size' property on objects!).

Of course, this scheme has no "X-Y-Z" system attatched and does not
consider line of sight. There are, however, rules that can limit
sight and sound projection via QUIET and DARK flags, if so desired.

So the moral of this story is that 'areas' can be created quite
easily, and they add a lot to the atmosphere of a MUD. It's worth
pursuing adding this type of mod to your system: your players will
love it...or at *least* raise an eyebrow or two! :^7

Hack away, hack away, hack away all...
- Mark "Crimson" Friedman

And yes, NAIVE is still up for alpha testing. It's incredible how
this puppy hasn't moved a single unit! Oh well, it's good practice
for me, anyway...
--
+----====>>>))) Mark Friedman is frie...@cis.ohio-state.edu (((<<<====----+
| "There is nothing former | (Disclaimer : the opposite of Datclaimer) |
| about King Crimson." | "I used to have a photgraphic memory |
| - Robert Fripp, 5/11/90 | but it was never developed..." |

Shag

unread,
Oct 23, 1991, 8:48:15 PM10/23/91
to
So, basically, it's all just object-oriented programming, with sub-objects
defined, inheriting certain attributes of the object that they are sub-objects
of. Wonderful how cutting-edge programming theory can only really be found in
use on games. ;)
-shag
--
+----------------------------------------------------------------------+
| Dan "Shag" Birchall, Official Random, NJ Intercampus Network. +-+
| The NJ Intercampus Network is not responsible for me. They're glad. | |
| For further disclaimers, contact information, and lyrics, finger me. | |
+-+--------------------------------------------------------------------+ |
+----------------------------------------------------------------------+

du...@unify.com

unread,
Oct 24, 1991, 11:50:02 AM10/24/91
to
lav...@convex.com (Brent LaVelle) writes:
> Another example would be an 8' high stone wall. You could not hear nor
> see the place on the other side but you might be able to hear(although
> not very well) what people were saying on the other side of the wall.
> So I would make an entry to the event tables for each place that would
> pass heard events from one place to the other. They would have a
> garble of say 40 so this:
> Commander Meditat says, "Go find Krotche and tell him I have the Sword
> of the kings"
> Would turn into this for someone on the other side of the wall:
> Co????der Me???at ?ays, "?? fi?d K??t?he an??te?? h?m I ???e t?? S?ord
> o? the kin??"

The replacement of characters is an elegantly simple method for garbling
a message, but I have a couple of suggestions. First, this technique does
not work well with the label that identifies the speaker. I imagine that the
names of the characters are sufficiently unique that "Co????der Me???at"
would not really hide his identity. Instead I would suggest providing
a non-visual description of the voice (based on the non-visual aspect of
the situation). If the "garble" were low, say listening through a dense
hedge, "A deep, authoritative, male voice says '...'". With a higher
"garble", "A deep, male voice says '...'". And so on until with the
highest "garble" you get "A faint voice says '...'".

The actual words of his sentence I would like to see broken down by
syllables, substituting and dropping the surrounding consonants. I am hard
pressed to convince myself that the word "find", if the "n" were unheard,
would retain the "d". "fie" would be more appropriate (the "e" added to
retain the long "i"). Similarly with "h?m" and the silent "e" of have? ;-)
Also the capital "K" and "S" identify these words as proper nouns, which
I would retain only if that entire word survived the garble (and was
previously known to the player).

Don't get me wrong, I am not trying to bash Mr. LeVelle's work. I myself
have not implemented or worked out such a garbling technique, which is
why I stated that the character replacement method is elegantly simple.
Instead, I am eager to see interactive fiction stride ahead in quality.
Has anyone else thought about this or worked on implementations?
-Duane Gibson (du...@Unify.Com)

Les Hill

unread,
Oct 24, 1991, 2:54:58 PM10/24/91
to
m...@netcom.COM (Morgan Schweers) writes:
> For example, you are in a 'living room'. If you were to 'sit down'
>on a couch, then in many programs you would be entering a different room.
>This would require some funky programming to allow you to see things going
>on in the room, while still sitting in th couch. (It would either require
>a false-couch, in which case you have to set a flag on the person stating
>that they are sitting in the couch, etc., so they have to 'get up' before
>they can move around the rest of the room, or it would require patching in
>the information about the room to the couch. Thus if someone enters the
>room, anyone in the couch is *ALSO* told about it.)

IMO, this perception that the "room paradigm"+ is flawed is simply based on
your own limited experience. There is no reason that games designed with
the "room paradigm" cannot have the "visible-within-the-room-including-subrooms"
aspect (without resorting to 'funky programming'.) It is strictly a design problem.
If you wish to have rooms which are visible from other rooms, design for it --
the simplest design I can think of off the top of my head is:
...
struct room {
....
struct room visible_by[]; /* list of rooms which receive this
rooms action descriptions */
...

When an action occurs in a room, the description is sent to the room itself
and all of its visible_by rooms.

Moreover, using a 3D paradigm for this kind of game is probably unusable given
current technology (not everyone playing MUDs has access to an SGI on fiber :)

Les

+ the room paradigm is a design in which actors move from room-space to adjacent
room-space through some connection graph. Within each room-space there are no
subdivisions (although there may be "sub" rooms). The illusion of actual
spatiality is ONLY a function of the descriptions for each room and the actors
themseleves.

--
Copyright 1991 by Les Hill
Extraordinary crimes against the people and the state have to be avenged by
agents extraordinary. Two such people are John Steed -- top professional, and
his partner, Emma Peel -- talented amateur; otherwise known as "The Avengers."
INTERNET: l...@ufl.edu UUCP: ...!gatech!uflorida!leh BITNET: vishnu@UFPINE

Richard Parvin Jernigan

unread,
Oct 24, 1991, 3:11:09 PM10/24/91
to
In article <> du...@Unify.com () writes:

>lav...@convex.com (Brent LaVelle) writes:
>> Co????der Me???at ?ays, "?? fi?d K??t?he an??te?? h?m I ???e t?? S?ord
>> o? the kin??"
>
>The replacement of characters is an elegantly simple method for garbling
>a message, but I have a couple of suggestions.
> [ stuff about rather involved method for garbling messages ]

>previously known to the player).
>
>Don't get me wrong, I am not trying to bash Mr. LeVelle's work. I myself
>have not implemented or worked out such a garbling technique, which is
>why I stated that the character replacement method is elegantly simple. ...

>Has anyone else thought about this or worked on implementations?

It seems to me that the alternatives suggested by Duane are so incredibly
involved that the task of implementing them outweighs their usefulness.
Personally, I believe Brent's suggestion about character replacement, though
it does suffer from poor placement of ?'s and all-too-easy speaker recognition,
is quite adequate--it, not unlike hearing a sentence faintly, causes the reader
to ponder what was being said and try to decrypt it. And that's what we're
looking for after all, isn't it?

Richid "Full of talk, but can he walk that walk?" J
--
Things you don't hear on Star Trek: (ric...@owlnet.rice.edu)
"Uhura, I'm scared."
"Shut her down, Scotty--she's suckin' mud."
"Dammit Spock, that's the fifteenth NutterButter you've eaten today!"

Judy Anderson

unread,
Oct 24, 1991, 4:45:17 PM10/24/91
to
>>lav...@convex.com (Brent LaVelle) writes:
>>> Co????der Me???at ?ays, "?? fi?d K??t?he an??te?? h?m I ???e t?? S?ord
>>> o? the kin??"


Someone on LambdaMOO simulated a bad loudspeaker system using this
technique. They used "w" instead of "?", which makes for more humanly
readable text, but still not very understandable. It would look like:

Cowwwwder Mewwwat ways, "ww fiwd Kwwtwhe anwwteww hwm I wwwe tww Sword
ow the kinww"

yduJ on LambdaMOO yd...@lucid.com 'yduJ' rhymes with 'fudge'
[ LambdaMOO is lambda.parc.xerox.com 8888 / 13.2.116.36 8888 ]
Join the League for Programming Freedom, lea...@prep.ai.mit.edu

Richard Dearden

unread,
Oct 24, 1991, 8:35:41 PM10/24/91
to
In article <60...@ut-emx.uucp> v...@ccwf.cc.utexas.edu (Vax) writes:

> Anyway, the couch could be an object, not a room, since couches don't really
> contain you... But then again, that wasn't actually your question... For
> a better example, how about a cage or large aquarium in the middle
> of a room?
> I'm not really sure how you could -EFFECTIVELY- and -EASILY- program this.

We already have. We solved the problem by telling objects to pass
messages to everything in them as well as dealing with them
themselves. Then you just put the couch object inside the room object,
and you get the couch hearing messages to the room, the description of
the couch for free, the whole works.

Better than that, by putting all the rooms into a universe room, you
get messages to everyone by telling them to the universe, and by
building a tree structure of such universes, you can send messages to
only certain areas.

The only problem we have at the moment is seeing people on the couch
from the room.

Richard.

--
+------------------------+-----------------------------------------------+ __o
|Richard Dearden |"There's no such thing as sanity, | -\<.
|ric...@comp.vuw.ac.nz | and that's the sanest fact..." -Dire Straits | O/ O
+------------------------+-----------------------------------------------+-----

Mark Kantrowitz

unread,
Oct 24, 1991, 11:19:37 PM10/24/91
to
In article <32...@uflorida.cis.ufl.EDU> l...@crane.cis.ufl.edu (Les Hill) writes:
>m...@netcom.COM (Morgan Schweers) writes:
>> For example, you are in a 'living room'. If you were to 'sit down'
>>on a couch, then in many programs you would be entering a different room.
>>This would require some funky programming to allow you to see things going
>>on in the room, while still sitting in th couch.
>
>IMO, this perception that the "room paradigm"+ is flawed is simply based on
>your own limited experience. There is no reason that games designed with
>the "room paradigm" cannot have the "visible-within-the-room-including-subrooms"
>aspect (without resorting to 'funky programming'.) It is strictly a design problem.


The Oz world model propagates sense data along four types of
connections between objects: IN, ON, PART-OF, and CONNECTIONS. The
latter are typically used to connect rooms (e.g., door-connection,
window-connection etc.). Sense data distributed through a connection
can be modified by the connection (e.g., green colored glass tints the
object green, passing through an open door diminishes sound intensity,
passing through a closed door drops the intensity to zero). So you can
be sitting on the couch in the living room and see when someone enters
the room. On the other hand, if you're sitting in a container and the
container is closed, you won't see when someone enters the room, but
you might hear them enter.

--mark

Aaron Putnam

unread,
Oct 25, 1991, 1:01:32 AM10/25/91
to
In article <1991Oct25.0...@comp.vuw.ac.nz> Richard...@comp.vuw.ac.nz (Richard Dearden) writes:
>In article <60...@ut-emx.uucp> v...@ccwf.cc.utexas.edu (Vax) writes:
>
>> Anyway, the couch could be an object, not a room, since couches don't really
>> contain you... But then again, that wasn't actually your question... For
>> a better example, how about a cage or large aquarium in the middle
>> of a room?
>> I'm not really sure how you could -EFFECTIVELY- and -EASILY- program this.
>
>We already have. We solved the problem by telling objects to pass
>messages to everything in them as well as dealing with them
>themselves. Then you just put the couch object inside the room object,
>and you get the couch hearing messages to the room, the description of
>the couch for free, the whole works.
>
>Better than that, by putting all the rooms into a universe room, you
>get messages to everyone by telling them to the universe, and by
>building a tree structure of such universes, you can send messages to
>only certain areas.
>
>The only problem we have at the moment is seeing people on the couch
>from the room.
>

I was thinking about this problem earlier, and came up with basically the
same solution, with the addition that anything said within an object should
recursively be sent to all of its inventory, and its environment. Objects
should have different levels of sound-induction (for lack of a better term);
ie, a cage, or couch, wouldn't block any of the sound, whereas a crystal
sphere might block 90% of sound within the bubble. This should actually be
very easy to code, if a little thought is put into it, and could open up
some new possibilities in coding. (Oh, btw, objects should also have a
value for the level of induction in the other direction, since one-way
blockage is a possibility). In the instance of rooms, either a 'universe'
room could be used (or simulated, keeping a null environment), or the links
between rooms could be traced, though it would ahve to be done carefully,
because it could get quite computationally expensive. (Especially with a
section of rooms with minimal sound-lossage).

>Richard.
>
>--
>+------------------------+-----------------------------------------------+ __o
>|Richard Dearden |"There's no such thing as sanity, | -\<.
>|ric...@comp.vuw.ac.nz | and that's the sanest fact..." -Dire Straits | O/ O
>+------------------------+-----------------------------------------------+-----

-Desmodus
-aa...@cie.uoregon.edu

grspa...@spider.ualr.edu

unread,
Oct 25, 1991, 5:09:16 PM10/25/91
to
In article <1991Oct24....@rice.edu>, ric...@flammulated.owlnet.rice.edu (Richard Parvin Jernigan) writes:
> Personally, I believe Brent's suggestion about character replacement, though
> it does suffer from poor placement of ?'s and all-too-easy speaker recognition,
> is quite adequate--it, not unlike hearing a sentence faintly, causes the reader
> to ponder what was being said and try to decrypt it. And that's what we're
> looking for after all, isn't it?

and, not unlike hearing a sentence faintly, it causes the reader to ponder who
was saying what and try to determine the speaker. if a person's name is
distinct enough to recognize it with only a few letters then perhaps their voice
is equally as distinct.

================================================================================
USMailNet: Guy R. Spangler 2801 S University Ave Little Rock, AR 72204
AT&TNet: (501)569-8712
BITNet: GRSPA...@UALR.BITNET
InterNet: GRSPA...@UALR.EDU

Disclaimer: What?!?!? I didn't say that!!!!!

Jon H. Leonard

unread,
Oct 27, 1991, 4:16:11 PM10/27/91
to
Regarding having parts of rooms visible from other parts of the same room:

A wizard on the LPmud I run has some code that does this successfully.

It consists of two separate rooms (a colisem and the stands) in which the
activities in the other room are visible.

The implementation isn't too bad:
Each room catches messages, and forwards them to the contents of the other room
(tell_room)
The long description of each room has a trap that lists the contents of the
other room.

This does generate a certain amount of "this is not here" messages if one
tries to "look at gladiator" from the stands, but the additional commands
that are supposed to have ranged effect could be easily changed as well.

Jon Leonard (Morgar)
--
Jon Leonard jleo...@jarthur.claremont.edu

I'm not an actor, I just play one on TV.

Frank Tore Johansen

unread,
Oct 28, 1991, 6:16:15 AM10/28/91
to

[This has become pure LPMUD, those not interested can press <next> now]

In article <1991Oct27....@muddcs.claremont.edu>, jleo...@jarthur.claremont.edu (Jon H. Leonard) writes:
> [Half of the example deleted]


> Each room catches messages, and forwards them to the contents of the other
> room (tell_room)
> The long description of each room has a trap that lists the contents of the
> other room.
>
> This does generate a certain amount of "this is not here" messages if one
> tries to "look at gladiator" from the stands, but the additional commands
> that are supposed to have ranged effect could be easily changed as well.

This is far from enough if you want realism. Let's say each such
"room within a room" has the property "meta". Then present() must be
rewritten to search recursively inside all such rooms, as well as
add_action(). (Of course object->query_meta() would probably be a bit
faster than object->query_property("meta")). The result would be a slow
mud, since present() and add_action() is used extensively when players
walk around. I think Fizban of Genesis argued for this a year ago
(unsuccessfully of course). Maybe in five years, when computers are more powerfull, this will be realistic.

-Frank aka Murky@Vikingmud

Felix Lee

unread,
Oct 28, 1991, 4:28:24 PM10/28/91
to
I've been thinking about this problem from the opposite end. I'm
trying to see how the Rogue/Hack class of games can be improved with
more sophisticated models of everything. These games already have a
somewhat abstract model of rooms and space. It wouldn't be hard to
give the games a parser that would understand things like "leave the
room" and "go to the staircase". Right now, single-key commands are
prevalent, but a parser would be simpler and more flexible.

A better model of space might give all objects a size and a shape and
a position within an enclosing object. Line-of-sight calculations can
still be fairly simple and quick.

You don't need heavy raytracing graphics engines to do models good
enough for game-playing. Simple overhead views or chase views are
fine. Pure text is cheaper to build and display though.
--
Felix Lee fl...@cs.psu.edu

Reply all
Reply to author
Forward
0 new messages