[MUD-Dev] Re: Autogenerated room descriptions

S. Patrick Gallaty choke at sirius.com
Wed Sep 30 11:53:38 CEST 1998


-----Original Message-----
From: Richard Woolcock <KaVir at nospam.dial.pipex.com>
To: mud-dev at kanga.nu <mud-dev at kanga.nu>
Date: Wednesday, 30 September, 1998 11:34
Subject: [MUD-Dev] Re: Autogenerated room descriptions


>> On Sun, 27 Sep 1998, T. Alexander Popiel wrote:
>> 
>> :The recent thread on room descriptions and senses leads me
>> :to wonder: has anyone done any work with using the story
>> :paraphrase AIs to autogenerate room descriptions from
>> :individual elements?  It seems like that would satisfy
>> :the craving for variant room descriptions quite nicely...


My map manager creates the room long() from the types
of surrounding rooms.  As well as objects on the map which
are considered 'highly visible'.
This makes for interesting and somewhat varied room 
descriptions...

Sample constructed room descriptions would be:

You are in a dense forest, which blocks your sight.  To the 
far northwest you see the outlines of mountains.

You are in a grassy plain.  To the north and east lay rolling
hills, to the south is a shallow marsh and to the west is a 
group of low buildings made from stone.

You are in a cold, barren desert.  Barren desert lays in
every direction as far as you can see.  Far to the north
you see a thin black spire. 

The way I did all this fanciness was to have an array of
terrain types which have several factors:

vis_mod: The amount that this terrain impedes visibility
vis_bonus: The amount that this terrain adds to visibility (only
    applicable when the player is in this terrain, can be
    negative if the terrain is obscuring)
visibility: How much this terrain stands out from other
    terrain.  (Generally only positive for things like tall trees, 
    mountains, hills etc.)

Additionally objects on the map have a 'visibility' factor which
    if (object->visibility > sum(all_squares_in_between->vis_mod)
    the object is added to the long() based on the distance from
    the object to us.  All 'map objects' have additional text 
    descriptions for near_short() and far_short().
    An example near_short() would be "towering black spire,
    engraved with arcane runes".  An example far_short() would be
    "a black spire".

I load a template object then configure it with the head_object and 
then pop it into the 2-d array of rooms.  At some interval I scan the
array and recycle rooms which haven't been visited and are empty.

Of course this code isn't in use anywhere, since I am a hacker and 
not an area coder.  Usually I try to inspire young, new and energetic
wizard types to use my tools to make things ... if they can understand
them.









More information about the mud-dev-archive mailing list