ID:155822
 
Why can I not have a map file larger than 20 million tiles after multiplying x, y, and z coordinates? Is there a way to add multiple map files to go over this limit? Whenever I try to go over 20 million tiles it says that "your computer is low on memory" and 20 million tiles only takes up 30MB. My computer has plenty of memory. I realize the map size I am looking for is a bit large. I want to know if there is any way to get around that limit.

I am not trying to have different shaped maps I just want it larger. Any ideas at all would be appreciated.
T-twenty million? ...30MB? ...LARGER?
It'll be at least 200MB. Depends how many variables there are.
In response to Ripiz
If I had more RAM would it stop complaining and do what I tell it to? That is the only kind of memory I can think of that it might be talking about. Does anyone now what the error message "Your computer is low on memory" specifically refers to?

If I do 880x880x41 that is my limit but if I do 1000x1000x20 than that is also my limit. The first one is 31,750,400 tiles. The second one is 20,000,000 tiles. Where are these limits coming from and how do I get around them?

Has nobody ever made a game this large before? Based on my game design it would take a person less than 6 hours to see 31,750,400 tiles not that I would expect anyone to waste that much time explorering. I do not have a problem with the list limitations or the object limitations because I can always write superior code to go around those limitations. I do not even know where to start to get around map size limitations.
In response to Snakelinux
It depends what exactly throws the error - DM, DS, DD or OS?

Depends how much it takes, it's limited to 2 GB anyways.
In response to Snakelinux
Snakelinux wrote:
If I do 880x880x41 that is my limit but if I do 1000x1000x20 than that is also my limit. The first one is 31,750,400 tiles. The second one is 20,000,000 tiles. Where are these limits coming from and how do I get around them?

Refer to [link], turfs use 3-byte identifiers, so these would be exhausted at 2^24 ~ 16.7million. Beyond that, the actual number of turfs you can actually put in a series of maps in a DMB should be (2^16)^3 = 281474976710656. You will hit the turf limit before you can actually fill up your map completely.

Has nobody ever made a game this large before? Based on my game design it would take a person less than 6 hours to see 31,750,400 tiles not that I would expect anyone to waste that much time explorering. I do not have a problem with the list limitations or the object limitations because I can always write superior code to go around those limitations. I do not even know where to start to get around map size limitations.

No. Why would you need such gigantic maps? Anywho, you can get around these limitations by using something like LummoxJR's SwapMaps or IainPeregrine's /dmp_reader and not having all of these maps loaded at once.
Everything doesn't have to be on the first layer just make a map smaller and when you walk to the edge of it change there z level...
Snakelinux wrote:
Why can I not have a map file larger than 20 million tiles after multiplying x, y, and z coordinates? Is there a way to add multiple map files to go over this limit? Whenever I try to go over 20 million tiles it says that "your computer is low on memory" and 20 million tiles only takes up 30MB. My computer has plenty of memory. I realize the map size I am looking for is a bit large. I want to know if there is any way to get around that limit.

You can't actually have 20 million tiles; that's over BYOND's limit of a little more than 16.7 million. Also if you do a quick check on the math, you'll see that 20 million tiles in a little over 31 million bytes isn't possible without some kind of serious internal compression; that would mean each tile was only a byte and a half. BYOND stores the base turf info in a flat array so that is definitely not the case here.

Lummox JR
In response to Lummox JR
I have figured out how to get around the z limits so I no longer need as large of a map. I still have one more problem I hope you can help me with. It would be much easier if I could increase the x and y map size by more than a 1,000. If the tiles are stored in a flat array than I should be able to build a 3000x3000x1 map size just as easily as a 1000x1000x9 map size. Byond limits will not allow me to go over a 1000 for x or y. Is there anyway to bypass that? I really do not want to switch maps because the path finders and visual effects in my game would be much more complicated with the jumping around. I think this is the last difficult obstacle I will have to deal with in the designing stage of making the game. Any ideas would be appreciated.
In response to Snakelinux
I think I recall someone saying you can change a map's size by opening it in Notepad.
In response to Lummox JR
Are turfs stored in a flat array? Where the position of each one on the map is determined by the index of the turf?