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 >

