Note that he stated its a 1-to-1500 scale, not 1-to-1. 1-to-1000+ is feasible (in terms of storage requirement). 1-to-1 would not be practical for most machines.
61,721,384,400,000. That is the surface area of the an average Minecraft world. 2,212,236 is the calculated surface area in kilometers for an Earthgen world. 1,000 meters in a kilometer. So 2,212,236,000 is the surface area (in blocks) of an Earthgen 1:1 world. Remember, simple math is your friend.
Unless my math is wrong, which it probably is, I shouldnt be to far off. So generation isn't a problem. I guess I wouldn't mind a weird new generation.
The problem isn't that Minecraft can't support a 1-to-1 earth sized map (it can). The problem is the amount of raw data (height-map) alone needed to generate a 1-to-1 representation.
First of all,l your math is wrong by a factor of a thousand. There's 1000 meters in a kilometer, but there is 1,000,000 sq meters in a sq kilometer (note the sq, the ration is squared). Also I'm not sure where you get 2 million sq kilometers from, but the surface area of earth is about 500 million sq km, which is 500 trillion sq meters (500,000,000,000,000 sq meters). Assuming each 1x1 sq meter uses a single byte to store its height (256, the vertical limit of minecraft world in blocks), this would mean that JUST the height data alone will need 500 TB worth of data. Even with the most optimistic of compression ratio (90% compression), you still get something like 50 TB worth of data of JUST height map (no underground features, no non-sea-level lake/river, no buildings, ore, trees, biomes, etc). Consumer hard-drive only got to 10 TB just two month ago.
Cubic chunks would have to implemented, but then the world height would be infinite.
And you just made the height-map data set problem even worse.
Using just 1 byte (256 possible value) per every 1 sq meter area on Earth would already require 500 TB of raw data.
The real-life earth has a natural elevation range from about 12 km (12000 meter) underwater (Mariana trench) to about 9 km above sea level (Mount Everest). With a total of 21 km, or 21,000 m, or variation, you need 2 bytes, or 1 Exabyte worth of heightmap data.
Honestly, I believe if combined with cloud information (Hello modpack) this would be feasible. It'll take forever to code yes, but it's still a good project. Now as far as getting it all to work this is my suggestion:
Instead of storing heightmap data on the drive its self, you upon creating a new world would download a chunk cluster heightmap from a cloud server.
For example. Lets say I choose to start in NY, NY. The game would ping a server for the terrain gen info for a cluster of chunks that would make up lets say all of the city of New York. Or even just all of NY. You start in Manhattan per say, and then once you travel to the edge of the cluster, near the border of Pennsylvania (who doesn't want to go to hershey park in minecraft) you get a "loading chunks" screen like when you travel to the nether. upon doing this, all of the terrain info for NY would be set aside, to reduce lag, and you would now be exploring all of PV. Once you decide you want to go back home, you mount your trusty pig and head back to the PV/NY border. Crossing into NY once again, your computer would then dredge up from the hard drive all of the world chunk data for NY prompting you with another "loading chunks" screen. Once finished loading, you're now in NY again. you travel back to manhattan, back to the Guggenheim building where you've decided you're going to take up residence, and continue with your day. Your computer then would never store more than maybe a few gb of data until you do some MAJOR exploring. Upon exploring past your limits however, whelp. you now have no HD storage left.
That's the only way I can think this would be practical. Now as for whoever is going to be storing the 51tb of data for community use.....
Honestly, I believe if combined with cloud information (Hello modpack) this would be feasible. It'll take forever to code yes, but it's still a good project. Now as far as getting it all to work this is my suggestion:
Instead of storing heightmap data on the drive its self, you upon creating a new world would download a chunk cluster heightmap from a cloud server.
For example. Lets say I choose to start in NY, NY. The game would ping a server for the terrain gen info for a cluster of chunks that would make up lets say all of the city of New York. Or even just all of NY. You start in Manhattan per say, and then once you travel to the edge of the cluster, near the border of Pennsylvania (who doesn't want to go to hershey park in minecraft) you get a "loading chunks" screen like when you travel to the nether. upon doing this, all of the terrain info for NY would be set aside, to reduce lag, and you would now be exploring all of PV. Once you decide you want to go back home, you mount your trusty pig and head back to the PV/NY border. Crossing into NY once again, your computer would then dredge up from the hard drive all of the world chunk data for NY prompting you with another "loading chunks" screen. Once finished loading, you're now in NY again. you travel back to manhattan, back to the Guggenheim building where you've decided you're going to take up residence, and continue with your day. Your computer then would never store more than maybe a few gb of data until you do some MAJOR exploring. Upon exploring past your limits however, whelp. you now have no HD storage left.
That's the only way I can think this would be practical. Now as for whoever is going to be storing the 51tb of data for community use.....
nosegoes
-puts finger on nose-
Hmm, maybe when it starts to use up a lot of data (let's say 50gb) it could get rid of some the chunk clusters that had been least accessed or have the user delete the chunks they want to? Very good idea!
Hmm, maybe when it starts to use up a lot of data (let's say 50gb) it could get rid of some the chunk clusters that had been least accessed or have the user delete the chunks they want to? Very good idea!
That would be nice, unfortunately; since the world isn't made from a seed (used for randomization) but from a literal file; the 5+ terabyte file people are proposing is as losslessly compressed as it's going to get. So it doesn't matter if you remove chucks after 50gb, it doesn't change the initial load you'd have to enture.
One thing that is also being forgotten here is that no one is going to give you or license you height maps and digital elevation data for free - and it's going to cost a lot of money depending on the resolution you want. The OP said 1:1, I couldn't even afford 10:1 digital elevation information for a square kilometer area for ACADEMIC purposes, now imagine what they would charge for commercial purposes (Minecraft is a paid game) so besides being computational expensive and prohibitively expensive storage-wise, it'd be equally prohibitively expensive monetary-wise.
And no, you can't use Google Maps or any publicly accessible digital maps because it is 1) mostly incomplete, and 2) not available free for commercial purposes.
And I don't think I need to mention the criticisms above either.
One thing that is also being forgotten here is that no one is going to give you or license you height maps and digital elevation data for free - and it's going to cost a lot of money depending on the resolution you want. The OP said 1:1, I couldn't even afford 10:1 digital elevation information for a square kilometer area for ACADEMIC purposes, now imagine what they would charge for commercial purposes (Minecraft is a paid game) so besides being computational expensive and prohibitively expensive storage-wise, it'd be equally prohibitively expensive monetary-wise.
While I do agree with you, and they obviously wouldn't be able to pay for it, I will say that since they were bought by Microsoft, which is a huge gaming company, they might have a little bigger budget. I may be wrong, though.
They didn't become a juggernaut by flushing money down the drain though. Since this suggestion is expensive on any metric that developers would use to justify any addition to vanilla; I doubt that a 3rd party (modding scene) would have the resources (labor, capital, etc.) to see this to fruition either.
This means that the suggestion should be less about "can it happen" as it can't; and more on "how can things be changed so it could happen".
I've seen some earnest attempts here which do help; but none that seem to really do more than poorly bandage a large gaping wound (most prominently cloud-stored chunk-downloading which creates more problems than it solves). I'm curious to see what others can bring to the discussion though.
Mojang is small. It won't be able to program this in months. Maybe a year. Whereas we could make a mod team with 30-40 coders work at the same time, making this project quicker to be built. Plus, this team would only focus on Earthgen, not the rest of Minecraft.
Rollback Post to RevisionRollBack
I'm working on an open-source mod called Craft++. Check it out!
Mojang is small. It won't be able to program this in months. Maybe a year. Whereas we could make a mod team with 30-40 coders work at the same time, making this project quicker to be built. Plus, this team would only focus on Earthgen, not the rest of Minecraft.
To be honest, now that Mojang has joined microsof, Mojang probably has more money then a team of modders, because they get paid, more coders, because, well, it's a company, and more time, because it's their job. However, it's still not a good idea, in my opinion.
this could be set as an option, and you can set the country and it will spawn you randomly, or it can allow to find where your ip is located. Maybe it can load only 1 country like north america
One problem that hasn't been mentioned - how would you travel around a replica of Earth?
For example, the distance from L.A. to New York is about 4,000 km. So, how long would it take to cover 4,000 km in Minecraft? If you walk, assuming there are no obstacles in your path (perfectly flat, Peaceful difficulty), it would take about 10.7 days of nonstop walking. Flying in Creative? Still about 4.3 days. Those are real-life days, not Minecraft days. For another perspective, my statistics show that I've walked about this far in 33 real-life days of gameplay.
Also, consider how many people want more varied terrain, then consider how vast of an area you can cover in the real world and see nothing but the same terrain, not to mention the sizes of biomes/climate zones. And the size of oceans! Minecraft oceans, even prior to 1.7, were always just big lakes; I recall that the Wiki said oceans could rarely reach 100,000 blocks across in older versions - that's just 100 km, there are real-world lakes bigger than that. And even those are a big pain to cross due to (again) limited transportation speed; let's not even calculate how long it would take to cross a 1:1 scale Pacific Ocean.
As for implementing this idea, if the heightmap and additional terrain/biome data (yes, you need more than just heightmap data; you can't just calculate the biome based on elevation, and a heightmap can't be used to generate overhangs, caves, and structures as it only stores a single value per block column) was stored on Mojang's servers you would only need to download the data for new chunks as they are generated, meaning only bandwidth on their end would be an issue and we are talking about 1-2 KB of data per chunk (256-1,024 bytes for heightmap (latter assuming Cubic Chunks; most likely, they would go with 32 bit integers to accommodate +/- 30 million blocks); 256 bytes for biomes, plus additional data (not in every chunk) for structures, overhangs, etc. The real problem is storing all of that for the entire Earth, plus you would have to be online in order to generate new chunks and it could lag if many people were playing at once (perhaps some method of caching data could be used so it wouldn't need to download data for each chunk individually).
In any case, I really don't think Mojang should try adding this - they should work on bugfixes/optimizations and a plugin/mod API first. Even as a mod I can't see anybody going through the effort it would require, plus where would they store all the data (and how would they pay for hosting costs)?
Note that he stated its a 1-to-1500 scale, not 1-to-1. 1-to-1000+ is feasible (in terms of storage requirement). 1-to-1 would not be practical for most machines.
The problem isn't that Minecraft can't support a 1-to-1 earth sized map (it can). The problem is the amount of raw data (height-map) alone needed to generate a 1-to-1 representation.
First of all,l your math is wrong by a factor of a thousand. There's 1000 meters in a kilometer, but there is 1,000,000 sq meters in a sq kilometer (note the sq, the ration is squared). Also I'm not sure where you get 2 million sq kilometers from, but the surface area of earth is about 500 million sq km, which is 500 trillion sq meters (500,000,000,000,000 sq meters). Assuming each 1x1 sq meter uses a single byte to store its height (256, the vertical limit of minecraft world in blocks), this would mean that JUST the height data alone will need 500 TB worth of data. Even with the most optimistic of compression ratio (90% compression), you still get something like 50 TB worth of data of JUST height map (no underground features, no non-sea-level lake/river, no buildings, ore, trees, biomes, etc). Consumer hard-drive only got to 10 TB just two month ago.
Cubic chunks would have to implemented, but then the world height would be infinite.
#Baumformod
Oh, can't read webdings? Here.
That's the only problem?
Please read these two threads:
http://www.minecraftforum.net/forums/minecraft-discussion/suggestions/2572194-please-read-this-before-making-a-suggestion-v2-0
http://www.minecraftforum.net/forums/minecraft-discussion/suggestions/44180-for-the-critics-ftc
Figured it was time for a change.
And you just made the height-map data set problem even worse.
Using just 1 byte (256 possible value) per every 1 sq meter area on Earth would already require 500 TB of raw data.
The real-life earth has a natural elevation range from about 12 km (12000 meter) underwater (Mariana trench) to about 9 km above sea level (Mount Everest). With a total of 21 km, or 21,000 m, or variation, you need 2 bytes, or 1 Exabyte worth of heightmap data.
Instead of storing heightmap data on the drive its self, you upon creating a new world would download a chunk cluster heightmap from a cloud server.
For example. Lets say I choose to start in NY, NY. The game would ping a server for the terrain gen info for a cluster of chunks that would make up lets say all of the city of New York. Or even just all of NY. You start in Manhattan per say, and then once you travel to the edge of the cluster, near the border of Pennsylvania (who doesn't want to go to hershey park in minecraft) you get a "loading chunks" screen like when you travel to the nether. upon doing this, all of the terrain info for NY would be set aside, to reduce lag, and you would now be exploring all of PV. Once you decide you want to go back home, you mount your trusty pig and head back to the PV/NY border. Crossing into NY once again, your computer would then dredge up from the hard drive all of the world chunk data for NY prompting you with another "loading chunks" screen. Once finished loading, you're now in NY again. you travel back to manhattan, back to the Guggenheim building where you've decided you're going to take up residence, and continue with your day. Your computer then would never store more than maybe a few gb of data until you do some MAJOR exploring. Upon exploring past your limits however, whelp. you now have no HD storage left.
That's the only way I can think this would be practical. Now as for whoever is going to be storing the 51tb of data for community use.....
nosegoes
-puts finger on nose-
Hmm, maybe when it starts to use up a lot of data (let's say 50gb) it could get rid of some the chunk clusters that had been least accessed or have the user delete the chunks they want to? Very good idea!
#Baumformod
Oh, can't read webdings? Here.
That would be nice, unfortunately; since the world isn't made from a seed (used for randomization) but from a literal file; the 5+ terabyte file people are proposing is as losslessly compressed as it's going to get. So it doesn't matter if you remove chucks after 50gb, it doesn't change the initial load you'd have to enture.
OFFICIAL POSTING/REPLYING GUIDELINES
UNOFFICIAL POSTING GUIDE (PRT)
UNOFFICIAL REPLYING GUIDE (FTC)
And no, you can't use Google Maps or any publicly accessible digital maps because it is 1) mostly incomplete, and 2) not available free for commercial purposes.
And I don't think I need to mention the criticisms above either.
While I do agree with you, and they obviously wouldn't be able to pay for it, I will say that since they were bought by Microsoft, which is a huge gaming company, they might have a little bigger budget. I may be wrong, though.
Please read these two threads:
http://www.minecraftforum.net/forums/minecraft-discussion/suggestions/2572194-please-read-this-before-making-a-suggestion-v2-0
http://www.minecraftforum.net/forums/minecraft-discussion/suggestions/44180-for-the-critics-ftc
This means that the suggestion should be less about "can it happen" as it can't; and more on "how can things be changed so it could happen".
I've seen some earnest attempts here which do help; but none that seem to really do more than poorly bandage a large gaping wound (most prominently cloud-stored chunk-downloading which creates more problems than it solves). I'm curious to see what others can bring to the discussion though.
OFFICIAL POSTING/REPLYING GUIDELINES
UNOFFICIAL POSTING GUIDE (PRT)
UNOFFICIAL REPLYING GUIDE (FTC)
Mojang is small. It won't be able to program this in months. Maybe a year. Whereas we could make a mod team with 30-40 coders work at the same time, making this project quicker to be built. Plus, this team would only focus on Earthgen, not the rest of Minecraft.
I'm working on an open-source mod called Craft++. Check it out!
To be honest, now that Mojang has joined microsof, Mojang probably has more money then a team of modders, because they get paid, more coders, because, well, it's a company, and more time, because it's their job. However, it's still not a good idea, in my opinion.
Please read these two threads:
http://www.minecraftforum.net/forums/minecraft-discussion/suggestions/2572194-please-read-this-before-making-a-suggestion-v2-0
http://www.minecraftforum.net/forums/minecraft-discussion/suggestions/44180-for-the-critics-ftc
Uh, just a quick question. Are you American?
Please read these two threads:
http://www.minecraftforum.net/forums/minecraft-discussion/suggestions/2572194-please-read-this-before-making-a-suggestion-v2-0
http://www.minecraftforum.net/forums/minecraft-discussion/suggestions/44180-for-the-critics-ftc
yes. its a suggestion to prevent a 2TB world of something you havent discovered at all.
OFFICIAL POSTING/REPLYING GUIDELINES
UNOFFICIAL POSTING GUIDE (PRT)
UNOFFICIAL REPLYING GUIDE (FTC)
Um, just FYI, North America is a continent, not a country. America (USA), Canada, and a lot others are countries in North America.
Please read these two threads:
http://www.minecraftforum.net/forums/minecraft-discussion/suggestions/2572194-please-read-this-before-making-a-suggestion-v2-0
http://www.minecraftforum.net/forums/minecraft-discussion/suggestions/44180-for-the-critics-ftc
For example, the distance from L.A. to New York is about 4,000 km. So, how long would it take to cover 4,000 km in Minecraft? If you walk, assuming there are no obstacles in your path (perfectly flat, Peaceful difficulty), it would take about 10.7 days of nonstop walking. Flying in Creative? Still about 4.3 days. Those are real-life days, not Minecraft days. For another perspective, my statistics show that I've walked about this far in 33 real-life days of gameplay.
Also, consider how many people want more varied terrain, then consider how vast of an area you can cover in the real world and see nothing but the same terrain, not to mention the sizes of biomes/climate zones. And the size of oceans! Minecraft oceans, even prior to 1.7, were always just big lakes; I recall that the Wiki said oceans could rarely reach 100,000 blocks across in older versions - that's just 100 km, there are real-world lakes bigger than that. And even those are a big pain to cross due to (again) limited transportation speed; let's not even calculate how long it would take to cross a 1:1 scale Pacific Ocean.
As for implementing this idea, if the heightmap and additional terrain/biome data (yes, you need more than just heightmap data; you can't just calculate the biome based on elevation, and a heightmap can't be used to generate overhangs, caves, and structures as it only stores a single value per block column) was stored on Mojang's servers you would only need to download the data for new chunks as they are generated, meaning only bandwidth on their end would be an issue and we are talking about 1-2 KB of data per chunk (256-1,024 bytes for heightmap (latter assuming Cubic Chunks; most likely, they would go with 32 bit integers to accommodate +/- 30 million blocks); 256 bytes for biomes, plus additional data (not in every chunk) for structures, overhangs, etc. The real problem is storing all of that for the entire Earth, plus you would have to be online in order to generate new chunks and it could lag if many people were playing at once (perhaps some method of caching data could be used so it wouldn't need to download data for each chunk individually).
In any case, I really don't think Mojang should try adding this - they should work on bugfixes/optimizations and a plugin/mod API first. Even as a mod I can't see anybody going through the effort it would require, plus where would they store all the data (and how would they pay for hosting costs)?
TheMasterCaver's First World - possibly the most caved-out world in Minecraft history - includes world download.
TheMasterCaver's World - my own version of Minecraft largely based on my views of how the game should have evolved since 1.6.4.
Why do I still play in 1.6.4?