Thanks for all the input you guys, I wish I could post something longer
here, but my time on here is limited for now. I'll work on an original
mapping system, and if it works, I will post the snippet on here! I was
just hoping there was a quick-fix snippet out there...coding requires a
LOT of time these days since the MUD experience is getting more and more
complexe...anyway...once again, thanks guys!
Noose

On Tue, 22 Oct 2002, Tony Kuiper wrote:

> Hello, All.
> First time poster here.  I've had over 2 years to muck around in ROM's code
> and a fraction of that to lurk on the list, so I thought it's about time I
> gave a little back.  Here goes...  (Warning, semi-long email follows)
>
> The reason it's difficult to do this with ROM is the exit/room structure
> itself.  Not the data structures, but the way they work.  The whole idea
> behind the current system (IMHO) is flexibility, and in this situation that
> very flexibility bites you in the butt.
> This flexibility allows a room to link to itself (exit leaves north and
> arrives south into the same room) and for "return" exits to lead in
> different directions than they originated (exit leaves north and arrives
> east).  It also allows what I like to think of as "variable distance" exits.
> For example...
>
> Room 100 links East/West to room 101
> Room 101 links East/West to room 102
> Room 102 links North/South to room 103
> Room 103 links East/West to room 104
> Room 104 links North/South to room 100
>
> This would (intelligently) give you a map like this if you were standing in
> room 100:
> ( * = room, --- = exit between rooms, @ = you )
>
>
> 104       103
> *---------*
> |         |
> @-----*---*
> 100  101  102
>
> but with a "simple" mapping algorithm (that doesn't understand distance
> properly) if standing in room 100 would look like
>
> 104   103
> *-----*
> |     |     |
> @-----*-----*
> 100   101   102
>
> Ouch.  103 and 101 do NOT link to eachother and 102 actually links to 103,
> not "empty space"!!!  Why?  In reality, the exit link between Room 103 and
> 104 is "longer" than that between 100 and 101 or between 101 and 102.
> That's why you'll (almost) never see a "quick and easy" snippet for mapping
> an area.  ROM allows too many difficult to map situations to make an easy
> snippet.
>
> Sorry for that bad news, but now some ideas -
>
> 1. Implement a "distance" value for each exit and make a way to map
> "variable distance" exits correctly.  A.k.a., the exit between room 103 and
> 104 would have a distance of 2 and the rest would have a distance of 1 so
> the mapper will make the "exit line" between 103 and 104 longer.  (This
> requires a custom mapping function and editing of all areas in your mud -
> not a very fun thing, but would be the most rewarding IMHO.)
> 2. Create static maps and print out a part of that map based upon what room
> the player is in. (Maybe the easiest.)
> 3. Move the ROM areas to a coordinate locked system that doesn't allow all
> of ROM's nifty exit features (self-linking rooms, "variable length" exits,
> etc...) and requires all rooms and exits to fit nicely on the "grid".  (Ick!
> Yuck! Nasty!)
>
> Questions, comments?  Fire away!
>
> Tony
>
> > I saw an ascii map on a mud one time and the map itself had an area of
> > about 5 x 5 rooms, with the current room you were in being in the middle
> > of the map. I found a snippet for an ascii map, but the map doesn't go
> > further than the next room over. Is anyone familiar with this snippet and
> > if so, has anyone made any adjustments to it? If not, does anyone have
> > their own piece of code they are willing to share?
> >
> > Thanks,
> > Noose
> >
> >
> > --
> > ROM mailing list
> > [email protected]
> > http://www.rom.org/cgi-bin/mailman/listinfo/rom
> >
>
>
> --
> ROM mailing list
> [email protected]
> http://www.rom.org/cgi-bin/mailman/listinfo/rom
>


Reply via email to