[MUD-Dev] Rooms

Koster Koster
Fri Jun 4 16:11:33 CEST 1999


> -----Original Message-----
> From: Greg Munt [mailto:greg at uni-corn.demon.co.uk]
> Sent: Friday, June 04, 1999 9:08 AM
> To: mud-dev at kanga.nu
> Subject: [MUD-Dev] Rooms
> 
> I personally feel that - to some extent - co-ordinate based 
> systems have
> been done to death on MUD-Dev, and would welcome discussion 
> of alternate
> systems, even new ways of developing the StockMUD room-based concept.

Yet More Nifty Legend Features Never Implemented. :) Legend uses the
Diku-derived area file/template thing, but is big on making new area file
sections that expand the capabilities of the data. The following notions
were all about getting maximal use out of standard rooms.

1) Creating a #GENERIC section for portions of room descriptions that were
shared across multiple rooms. his would be something like

#GENERIC
#10001
In the desert~
Sandy desert stretches everywhere around you, the grains of sand eerily like
waves
frozen at the instant of cresting.~
...

Then a regular pair of rooms could be:

#ROOMS
#10001 GENERIC 10001
, by a tree~
A scraggly tree struggles out from among the grains of sand, its leaves
heavy with
gritty grains, its roots questing thirstily into the ground.
~
...
#10002 GENERIC 10001
among the rocks~
The sand between the dune crests is littered with boulders and broken
fragments, as if
a leviathan had become rock here and shattered. In the shadows of the stone
life huddles:
Small lizards and bugs seeking any respite from the day's sun and the
night's winds.
...

The specified generic desc would then be prepended automatically.

> l
In the desert, by a tree
Sandy desert stretches everywhere around you, the grains of sand eerily like
waves frozen at the instant of cresting. A scraggly tree struggles out from
among the grains of sand, its leaves heavy with gritty grains, its roots
questing thirstily into the ground.

2) Creating a WILDERNESS flag for rooms which expands a room automatically
into a 5x5 grid. Using the above GENERIC style system to build descriptions
based on landmarks. Landmarks would be defined by coordinate offset within
the room, and could even provide "internal walls" so that the 25 room grid
could be broken up. The spec I wrote:

WILDERNESS

Flag a room as wilderness, and it becomes a 5x5 grid.

Entry into a wilderness flagged room:
You enter at the midpoint if you have no previous offset.
If you have an offset, you enter at that offset.

Departing a wilderness flagged room:
Your offsets are removed when you leave a regular room for a regular room.

Landmarks: defining landmarks is done by adding landmarks into a wilderness
flagged room with coordinate offsets.

L
xOffset yOffset
keyword keyword~
short description~
long description~
BLOCKNORTH|BLOCKSOUTH|etc|SKIPNORTH|SKIPSOUTH|etc
rangeAtWhichSeen

BLOCK<dir> blocks movement in that direction from this one, and vice versa.
SKIP<dir> moves you two offsets in that direction from this one.

Regular Room stuff:
In a Peaceful Forest~
Sunlight falls gently from above, filtered by the leaves of the towwering
trees.
~

L
-1 1
brook small~
a small brook splashes east and west~
A small brook flows across the ground here, water merrily splashing.~
NONE
1
L
-1 1
embankment muddy~
a muddy embankment~
A muddy embankment too steep to climb prevents crossing to the north.~
BLOCKNORTH
1 
L
-1 2
pebbles gravel~
pebbles and gravel cover the ground~
Pebbles and gravel crunch underfoot.~
NONE
0
L
-1 2
log fallen mossy~
a fallen log that lays athwart the brook~
A mossy fallen log lays across the brook, affording crossing.~
SKIPNORTH


Landmarks in the same offset location are reported using the long string
appended to the rest of the room description, plus "here".

Landmarks in an adjacent offset location are reported using the short
string,
plus assessing the distance it is visible. 

Example of the above in practice:

Sunlight falls gently from above, filtered by the leaves of the towering
trees. A small brook flows across the ground here, water merrily splashing.
A muddy embankment prevents crossing to the north. South of you, you see
a fallen log that lays athwart the brook.

> north

You are unable to go north; a muddy embankment prevents you.

> south

Sunlight falls gently from above, filtered by the leaves of the towering
trees. Pebbles and gravel crunch underfoot. To the north you see a small
brook that splashes from east to west, and a muddy embankment. A mossy
fallen log lays across the brook, affording crossing.

> north

You go north, thanks to a fallen log that lays athwart the brook.
Sunlight falls gently from above, filtered by the leaves of the towering
trees. A muddy embankment and a small brook that splashes from east to 
west are south of you.

3) Automatically having "phantom rooms" above any room defined as outdoors.
Using the room title with caps stripped, you'd build a generic aerial
description, perhaps by drawing from a #GENERIC description as above. You
can move in directions that the map doesn't actually have rooms for, by
tracking offsets from the room, but if you go down, you'd get a message
basically saying, "there's no room to land straight down, so you circle
around and back to the room you took off from." If you move in a valid
direction, of course, it actually moves you.

4) Stuff Legend actually already supports include things like variable
substitution into room descriptions; alternate room descriptions which can
be swapped out based on script triggers (time of day, season, special
events); special flags for redirecting visible output to other rooms (eg, a
room partitioned by one-way glass: people in one room can see everything
that occurs in the room behind the one-way glass, but the folks in the
interrogation chamber cannot witness text originating from the viewing
area); script capability to alter room exits on the fly...

There's a lot you can do with just the StockMUD room system.

-Raph


_______________________________________________
MUD-Dev maillist  -  MUD-Dev at kanga.nu
http://www.kanga.nu/lists/listinfo/mud-dev




More information about the mud-dev-archive mailing list