|
Byakko Newbie
Joined: 10 Nov 2000 Posts: 1
|
Posted: Tue Apr 02, 2002 7:57 pm
Very Hard Mapping Challenge: A Huge World |
Greets,
Try as I might, I have been unable to come up with a way to map the ouside world on my mud (DarkeMUD). The problem is threefold.
The first is the size of the map... the world is arranged in a huge grid of 2000x1000x21 rooms (ground level and ten up and ten down). Thats 4.2 million rooms. Obviously it's not practical to have the entire map resident in memory at one time... perhaps some use of the database to store partial map information can be used. Even restricting the map to a very localized area would involve a huge number of rooms. Luckily, one need not visit every room to see what's in it.
The second challenge is the nature of a player's ability to cross the world. If the character can fly, how high he can fly depends upon his strength - and strength can change over time (somewhat randomly) depending upon the successfulness of spells. If you can fly up 3 levels you may be able to cross hills, but not mountains. Flying is also fatigung, and flying at too high an altitude for too long may result in falling to the ground (and dying, most likely). Depending on how well you can swim, you may start to drown when crossing water. There is a chance you can drop down rooms under water, and it may take several attempts of "up" to resurface. Being underwater for a long time is naturally bad for your health. These complications may make a fast walker a bad idea, or at least very hard to code.
The third feature that complicates this mapping task are the room description themselves. It could be too bright or it could be too dark (resulting in no description at all). But normally, there is description with a mini-map at the left to show your surroundings. The size of the minimap displayed varies. Here's an example:
It is very bright.
~-..-~~ forest heavy mixed [ ? ]
-.??.-~ The dense green of the forest is broken up by a few tamarack,
.?^*.-~ already in their golden plummage of autumn. The air is much
.?*@.-~ colder, foretelling of the cold winter soon to come. Squirrels
.*^^.-~ scold and chatter as they continuously gather seeds and nuts
*^^^.-~ for the long winter season ahead.
?^^^.-~
There are six obvious exits: castle, north, west, east, south, and up.
Note, that each of the symbols on the map is colored. A ^ in red may signify a mountain, wheras a ^ in green may signify a forested hill. (the first would require strong flying to get over, the second could be walked). Also note that the room description varies even in the same terrain type, and that they also change based on the season and whether it's day or night. It could also be raining (moving weather patterns). Basically, the description cannot be relied upon, making use of the minimap essential.
One other thing, after you've flown up, only the mountains and other high objects appear on the map - the rest is empty. Underwater the map displays water spaces and rock spaces.
What is the goal of the map? To get from one point on the world map to another, avoiding terrains that cannot be crossed, or dealing with them if they must be traveled through. And to identify, or help identify, ones location after becoming lost (which isn't that rare of an occurance...).
I think it's impossible. It might've been managable if zmud supported multi-dimensinal arrays and simple file read/writes in conjuction with the map... but I have no idea of how to tackle the problem with the tools zmud provides.
Thanks, and I hope it's at least been an interesting read.
-Byakko |
|
|
|
TonDiening GURU
Joined: 26 Jul 2001 Posts: 1958 Location: Canada
|
Posted: Tue Apr 02, 2002 11:35 pm |
Similar concept with here.
Ir would depend what changes with the height.
Can you be tunneling underground ie multi layer
or is it just relief based.
Generally you could fragment the map into
chunks and only have 4 chunks loaded at a time.
Where that case would be hitting a nw, sw, se
or ne corner of the chunks.
Ton Diening |
|
|
|
Byakko Newbie
Joined: 10 Nov 2000 Posts: 1
|
Posted: Wed Apr 03, 2002 9:46 am |
quote:
Similar concept with here.
Ir would depend what changes with the height.
Can you be tunneling underground ie multi layer
or is it just relief based.
Generally you could fragment the map into
chunks and only have 4 chunks loaded at a time.
Where that case would be hitting a nw, sw, se
or ne corner of the chunks.
Ton Diening
hmmm, interesting.
In answer to your question, yes it is possible to be tunnelling underground. (the ability to do so for players isn't in... but there are plans to allow thief characters to make pit traps and the like). In structure, there are simply rooms above and below each ground level room (and gravity to pull people down... perhaps not all the way to ground level depending on the terrain).
I read your other thread... and it seems feasible. Basically break the map up into (many) small cubes, keep track of your x,y,z coords, and update the file based on where you are. Then write the updated info to file upon leaving the area.
I'm having some difficulties pattern matching the map in a way that preserves information on the ansii color of the individual symbols. This is needed because it affects the ability to cross that spot, so it needs to recorded as a different symbol in the output file. |
|
|
|
TonDiening GURU
Joined: 26 Jul 2001 Posts: 1958 Location: Canada
|
Posted: Sat Apr 13, 2002 6:17 am |
The other is to play with your
special characters when you pull in your
maps. Check out #DEFAULT. I haven't tried
it but it appears to be something of use
to you there. I just changed my special
characters to other ones and deal with that
oddity for that mud.
With the cubes you really only need to have
4 loaded at a time 2D but with 3D you'll
have to play around a bit.
I was going to sooner or later push the
concept through a plugin x,y,color plot
to see if that would work better.
With the color plot you can start assigning
the various bits more information. If you
have ever signal processed satellite photos..
The idea being that you can stack more information
into the 256 color option than just color.
Also means you need an interpreter when you
view your maps.
Ton Diening |
|
|
|
Agroamar Beginner
Joined: 09 Feb 2002 Posts: 10 Location: USA
|
Posted: Sat Apr 13, 2002 2:51 pm |
hrm, hehe Byakko um, question, what mud is that? I would like to take a look :)
|
|
|
|
Daagar Magician
Joined: 25 Oct 2000 Posts: 461 Location: USA
|
Posted: Tue Apr 16, 2002 2:40 am |
He mentioned that it is DarkeMUD. |
|
|
|
Userfaulty Beginner
Joined: 16 Jun 2001 Posts: 20 Location: Germany
|
Posted: Wed Apr 17, 2002 4:17 am |
Hmm, to me it seems that it would be possible but it would take a LOOOOONG time to complete. You could try breaking your map down into sections almost along the lines of county maps. With the multiple map descriptions for the same rooms it could be possible to just gag the room descriptions and tell the mapper to move without checking the output of the mud. It would take a lot of coding but you could also try using #IF/THEN commands to get rid of the 4 Dimensional problem (only being able to stay up for a certain amount of time). I am not exactly a guru but I hope I gave ya some ideas.
P.S. "I learned all my coding from trying to get Zmud Automapper to recognize it was open!" j/k heh.
Userfaulty |
|
|
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|