ID:1619643
 
Keywords: building, compile, map
(See the best response by Kaiochao.)
I've been having a bit of an issue with something, and I was maybe hoping someone could shed some light onto how I could go about this.

I'm working on a project that has quite the extensive map (somewhere around 750,000 tiles), because I intend to make the entire "World" of the game on this map, and for it to be quite extensive and explorable (imagine The Elder Scrolls Online or Skyrim).

Now, I may be wrong, but I'm under the assumption that maps and interfaces are compiled upon the first time loading the game and stored in cache to allow quicker load-times when next loading the game (think this is referred to as compile time?). I've no problem with that. This has made me try to avoid using further strenuous actions involving the map.

Given that, there's a system in play which allows Players to create buildings and actually go inside of these buildings. This is where my problem arises....

The building from the outside looks different from the building on the inside, or at least, this is how I envision it; but, to get that done, I realized it would cause for Players creating the "building interior" on the map as well as the "building exterior", which means, that as a Player comes back to the game, the size of the map he would have to update could have grown pretty large over time. I tried to solve this problem by having the "exterior" and "interior" being built at the time of having the building built, but having the "exterior" appear as merely an image on a higher layer than the "interior", then stripping that layer off when a Player enters that building (visible only to that Player), but I'm not entirely convinced this would be a "cheaper" solution.

Can anyone shed any insight or light onto this? Maybe even a library that does this at a very small cost? Or maybe I should rethink having such a huge map in the first place? (Though, I was hoping for one so it could be seen as a feature of the game, having so much to explore).
Best response
Lummox JR's SwapMaps or Forum_account's Map Instancing will probably help you with this.

http://www.byond.com/developer/?sort=pop&text=tag%3amaps

Basically, you can create buildings on new z-levels with code. The world.maxz variable is usually increased at some point to make room for the new buildings.
Many thanks mate.