ID:154651
 
I'm considering designing an overlay map for travel which is of a significanlty larger scale than the tactical map.

If I do this, there are a few things I'll want to happen -
1. The overlay map will be "black" until someone moves near that location, then it will be revealed. Revealed locations remain revealed.
2. Maps can be made and inter-exchanged so that areas folks haven't explored yet can be revealed.
3. Custom labels can be applied to specific areas of note, so that if someone knows the location of a cave can mark it on their map, or give a name to player-built towers, towns etc.

Has anyone attempted something like this, and if so what sort of design methods do you recommend? Any thoughts?

One possibility I know is to make each location on the map a portal to another server, but for what I want this may be a bit tedious... I'm considering this on a limmited basis as nessisary. Not sure, suggestions?
On 3/26/00 11:17 am Gabriel wrote:
I'm considering designing an overlay map for travel which
is of a significanlty larger scale than the tactical map.

The more I consider the idea, the more I like it. Does anyone remember the old Sir-Tech games?

They designed three RPGs based on a table-top system that is popular in Germany. Realms of Arkania (Star Trail was one of them) which had three interfaces - a town view (first-person), tactical view (tile-based) and overland view(well developed map where you click on where you want to go).

These games were (and to this day remain) some of the best developed systems I'd ever played. I must be sub-consiously recreating the games because that's what I'm making...

If you remember the games, then you know what I'm aiming for :).
Okay, after letting all the info stew in my brain for six hours, I have a basic idea of what I need to happen, just not sure if it's possible (yet).

If I have a main overland map, each turf will be a link to another map. Here's where I run into a problem since I don't know if this is possible to do yet.

I'm thinking I have to do something like usr.loc=locate(/turf/zone1/North). I'm going to end up with a lot of zones on a 100x100 tile map doing this, even allowing four to eight tiles to equal a zone.

turf/zone1/North will be a turf on another map which may be up to 100x100 tiles.

This all assumes that I'll be able to load multiple maps (successive z levels?).

Any thoughts?
In response to Gabriel (#2)
On 3/26/00 9:57 pm Gabriel wrote:
Okay, after letting all the info stew in my brain for six hours, I have a basic idea of what I need to happen, just not sure if it's possible (yet).

If I have a main overland map, each turf will be a link to another map. Here's where I run into a problem since I don't know if this is possible to do yet.

I'm thinking I have to do something like usr.loc=locate(/turf/zone1/North). I'm going to end up with a lot of zones on a 100x100 tile map doing this, even allowing four to eight tiles to equal a zone.

turf/zone1/North will be a turf on another map which may be up to 100x100 tiles.

This all assumes that I'll be able to load multiple maps (successive z levels?).

Any thoughts?

With the map editor, you can edit the instances of all of the objects in your map. So you can create a variable for all of those map turfs that point to a certain area in the map. Thus your map will be a proper map and point to the mapped points in the full version map. =)

I.e. you create a variable called "location" or something and then type in its destination as /area/zone1, and poof, you've got a perfect candidate for a locate(location) spell.

Unfortunately, that means a lot of fine tuning... I guess its either the nodes' way, or the instances' way.
In response to Spuzzum (#3)
Unfortunately, that means a lot of fine tuning... I guess its either the nodes' way, or the instances' way.

Currently for APC I have 198 separate turfs on the small map that link to 198 areas in the map. Each small turf on the map zooms in to an 11x11 area in the large map. Then these turfs in the large map, when clicked upon, will load a full-blown map from one of my special savefiles, and then you will locate to that map.

I was originally planning on making maps for EVERY SINGLE TURF on the LARGE MAP. That's 23,958 maps, which is "byond" the capabilities of any hard drive out there. =) I quickly decided to generate them from overlayed terrain maps instead, which would then generate their borders... at least that way is plausible.
In response to Gabriel (#2)
This all assumes that I'll be able to load multiple maps (successive z levels?).

I'll be trying this soon myself and will post any tips/code I generate as a result.
Well, it looks like it will work after some testing except that the old problem I've had with the map editor messing up the entire map is back... haven't tested it since the patch, but I reapplied the patch and same problem.

Basically, it's the one where the turfs/objects/mobs seem to start populating the entire map even when you tell it not to. Get's frustrating having to redo the test map every time -g- I need to start making backups...

As a side not, I've been playing with the PictureDicer... pretty neat except that it copies over my grid to the main picture.

If anyone needs any clipart or pictures, I'm a registered professional user with CorelDRAW and CorelPAINT - I just loaded it back on my machine after two years of not using it. I can't seem to find my book with all the images, but I can browse through the thousands one at a time... If I could get the transparencies working and PictureDicer not to print my grid I might add some neato graphics to the overland map :).

:: rubs eyes :: Oops... Just went 20hrs with no sleep -g-.
In response to Spuzzum (#4)
On 3/26/00 11:45 pm Spuzzum wrote:
Currently for APC I have 198 separate turfs on the small
map that link to 198 areas in the map. Each small turf
on the map zooms in to an 11x11 area in the large map.
Then these turfs in the large map, when clicked upon,
will load a full-blown map from one of my special
savefiles, and then you will locate to that map.

I was originally planning on making maps for EVERY SINGLE
TURF on the LARGE MAP. That's 23,958 maps, which
is "byond" the capabilities of any hard drive out there.
=) I quickly decided to generate them from overlayed
terrain maps instead, which would then generate their
borders... at least that way is plausible.

Hm, I don't think I'll need that many :). What I'm looking at is an overland map of however large the world gets (say 1000x1000 before I link to other servers, or whatever number fits).

Each tile in the overland map contains a link to a tactical map, which is really just that area on the overland map on a smaller scale. Every nine tiles on the overland map will lead to the same tactical map from different directions.

The tactical map will contain up to 100x100 tiles but will probably be smaller than this.

Avg Total Maps: 120,000
Avg Total Tiles: 300 million

cut that in half...
60,000 maps and 150 mil tiles

into quarters...
30,000 maps and 75 mil tiles

Hm, I think I better rethink this idea...
In response to Gabriel (#6)
On 3/27/00 4:09 am Gabriel wrote:
Well, it looks like it will work after some testing except that the old problem I've had with the map editor messing up the entire map is back... haven't tested it since the patch, but I reapplied the patch and same problem.

Basically, it's the one where the turfs/objects/mobs seem to start populating the entire map even when you tell it not to. Get's frustrating having to redo the test map every time -g- I need to start making backups..

Yikes. I thought we had this one fixed. Well, we definitely have to make this a priority. The best thing you can do to help us out is to try and reproduce this error on a small scale and send me the project. I would also like more infomration about this problem. Does it happen only with large maps? With maps containing a large number of objects? What are you doing when you get the error? Compiling? Loading a new map? And so on. We do have a glitch that causes compilation errors with largely populated maps, so perhaps that is related.

If none of that works, I would like to look at some code that causes the problem. Anyone who could provide an example would have our great thanks.

I really want to get to the bottom of this one. This is especially frustrating because I thought I had it figured out a few weeks ago.
In response to Gabriel (#1)
Cool :-) I used to spend hours playing those games daily.. I really liked the character creation system in that series - the level of detail was just excellent. Actually, that was pretty much what I liked about the entire series - detail. It was one of the most detailed series' I've ever seen, and for some reason, that really drew me to it.

-AbyssDragon
In response to Gabriel (#7)
The tactical map will contain up to 100x100 tiles but will probably be smaller than this.

Avg Total Maps: 120,000
Avg Total Tiles: 300 million

cut that in half...
60,000 maps and 150 mil tiles

into quarters...
30,000 maps and 75 mil tiles

Hm, I think I better rethink this idea...

Well, my world is in fact covered by 23,958 turfs, that will lead to one of the 29 other Z levels. Instead of trying to make those other Z levels into actual detailed maps, I create the entire map at runtime from a file. It creates lag for a few seconds, but at least it saves you the trouble of making lag for minutes at a time while the humongous world tries to contemplate its existence.

BTW, practically no desktop PC can handle a 1000x1000x30 map. The math works out to be 30 million tiles, multiplied by twelve bytes each, or 360 million bytes of memory taken up at runtime. My pretty much above-average PC only has 128 MB RAM, so imagine the difficulty I would have trying to run something over 3 times bigger than my free memory. A mainframe computer would be able to get by, maybe, but nothing else would stand a chance.
In response to Spuzzum (#10)
On 3/27/00 6:05 pm Spuzzum wrote:
Well, my world is in fact covered by 23,958 turfs, that
will lead to one of the 29 other Z levels. Instead of
trying to make those other Z levels into actual detailed
maps, I create the entire map at runtime from a file. It
creates lag for a few seconds, but at least it saves you
the trouble of making lag for minutes at a time while the
humongous world tries to contemplate its existence.

I considered this as an alternative (probably the only one really) which may work for random encounters but won't do for the big-picture, which is to allow players to settle and create city-states.

What I'll probably have to do for this to work is limit the number of links to Z levels on the travel map to places of interrest which players can build and adventure on. For times when I want to go tactical (random encounters when travelling), I'll have to do some sort of random generated terrain to fight on - either like you're doing or hardcoded areas where I do check to see if it's being used:

for(mob in area)
if(!isnull(mob.key))
return 0

Another idea, which may work, is to do a 1:1 ratio for the travel:tactical map for most areas, and going larger for special areas.

What I'm thinking is 9 tiles on the travel map will lead to one of nine tiles in the same tactical map. Special areas can be larger (large city will probably be on a 50x100 scale or larger).

For a 250x250 tile overland map, this is approx. 40,000 tiles total for the game. Can split this as nessisary... Or even better, some form of dynamic loading can be done if the maps aren't being used since most of them will be dormant.

Using the save file is a good workaround for this sort of thing. It would throw my dynamic reproduction system out the window though... I could do a rapid calculation process to determine animal population when the map is loaded by saving a date-time stamp to the map being saved, but I still won't be able to have marauding bands when population reaches a peak.