[DGD]Re:Rooms with views

John West McKenna john at ucc.gu.uwa.edu.au
Wed Nov 3 03:29:24 CET 1999


Dworkin writes:

>You might not have to abandon the rooms system if you introduce
>positions (coordinates) in rooms, and if you can see what's going
>on in adjacent rooms.

That was just an example, and not all of the reason I'd like to abandon
rooms.  I should have made it more clear that this is a purely experminental
lib, and it doesn't matter so much if what I'm trying doesn't work in
a game :-)

I don't like rooms.  I also don't like coordinates, although the reasons
behind that are much harder to explain.  I'm thinking more along the lines
of a web of objects, joined by spatial relationships ("a little to the
south-east of", "on top of" "a long way north" - I'm inclined to make the
distances fuzzy rather than precise measurements, but I'm not sure why).
Each object also has a size, and large objects can be seen from further
away.

Updating this graph dynamically as people move around is hard, so I think
I'll have to cheat slightly and have a fixed web of 'landmark' objects
that don't move.  Movable objects can form relatively simple transient 
relationships with them.

This will require making a 'description engine' that can walk the object
graph and write a description of what the player can see.  That's going
to be quite a challenge.  But that's what this whole project is about :-)
(making my life unnecessarily difficult, and also breaking as many of the
standard MUD assumptions as I can find).

If anyone is feeling like a little history lesson, have a look at the
Inform port of Advent (the game binary is at
ftp://ftp.gmd.de/if-archive/games/zcode/Advent.z5 and you'll also need an
interpreter from ftp://ftp.gmd.de/if-archive/infocom/interpreters).  The
'help' command has a very interesting history of the game that started it
all.  Calling locations 'rooms' can be traced back to the 1830s.

John West

List config page:  http://list.imaginary.com/mailman/listinfo/dgd



More information about the DGD mailing list