Re: [RELEASE] Wilderness/ASCII Mapping System

From: James Turner (turnerjh@XTN.NET)
Date: 06/18/98


Christopher Avans <parka@CDC.NET> writes:

>  Well here we go...
>   Patent them and chase offenders how?
> seems like a bad statment but it is, you have to accept that if you post
> am idea, code, etc you gonna get people who use it and give no credit much
> less something in the log in screen. Sorry man you put it on a ftp site
> you must accept such things unless you rich and bored.

Software patents are very messy.  His idea wouldn't merit it, though
the patent office has given some very... peculiar patens regarding
software.  He'd lose in court if he took it that far, but he's stated
he didn't want to, and that his license was miss-construed.  No harm
no foul, and I apologize for my jump to conclusions about his code :)

>  He like a dozen others saw the maps said hurm and went to work. Well I
> did this and came to conclusion I didnt like the small world it creates.
> You can use gross ammounts of rnum and get a somewhat tidy filling but
> (note this is my view not ness others) I have already ran into problem
> with running out rnums and had to switch to long int with rnum. So I
> decided to just use maps while you on your personal ship and I did it by
> hacking at do_scan. If you plf_map when you enter room it scans for sector
> types instead of char's in the room of course I added extra checks so it
> look more than just rooms scan does. Then with a simple const charater
> making sector types represent ansi. Doing this I also put a S for others
> ships like he did P and M for players and mob. So if you hoped on my ship
> would you shout I gave no credit?

Several months back I too wanted to do an overhead map... but I took a
different approach.  Using a full room structure per room is a waste
of memory for the size of map I had in mind.

Instead, I stored the rooms in a large array in memory. My current map
-- approximately 900 by 800 squares -- has about 720,000 rooms in it,
and takes one byte per room in memory.  To handle characters on the
map, I have a special room set up where every player and object on the
map are closeted away.  This required a lot of changes to low-level
functions, but after a bit of work it works very well.  The map is so
large that it is possible to easily get lost between cities... which
is the desired effect.  Right now it's running around 1500 lines of
code.  There are doubtlessly still some bugs left, but I'm very happy
with it -- as are my users.

There are a lot of different approaches.  It depends on your desired
size, efficiency, memory, etc.  I like mine because it is easy to
change the map (it's basically a big text file, but there are other
ways we edit it) and pretty efficient on load-up (considering it has
to quickly parse a 700k file, anyway).

I bug my builders saying I made 700,000 rooms, why can't they do that
too? ;)

--
James Turner               turnerjh@xtn.net
                           http://www.vuse.vanderbilt.edu/~turnerjh/


     +------------------------------------------------------------+
     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |
     +------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 12/15/00 PST