No Oceans? Minecraft’s Rebuilt World Generator

By Craig Pearson on August 30th, 2013 at 10:00 am.

My favourite Minecraft world is utterly and irrevocably broken, anyway.
The problem I have with Minecraft’s biomes is the word “biome” (which means “climate zone”, btw). It’s too close to “Boom”, which means I end up singing “Biome, biome, biome, biome, I want you in my room!” whenever I read it. Mojang’s problems with the biomes, however, are a bit less childish: the rules used to create variety in Minecraft’s world generation means there’s often unrealistic placement of zones. Desert and snow bump up against each other, there are uncrossable oceans separating continents, and there’s not enough variety between chunks. Version 1.7 seeks to change those rules.

Mojang will be tweaking the creation of the world, steering it away from worlds like this.

And into worlds like this.

If you squint, you can make out the logical progression between areas, and obviously the oceans are smaller. Minecraft’s project lead Jeb has promised that there will still be biome collisions, but they’ll be much rarer and worlds will mostly conform to these rules: “Biomes have been put into four main categories: snow-covered, cold, medium, and dry/warm. Biomes will avoid getting placed next to a biome that is too different to itself (sometimes this still happens, but it’s very rare now and not all over the place).”

These problems they’re attempting to fix have existed for a while. Minecraft creates the world in chunks as you move through it, and the longer you walk, the more world is created. So when Mojang change world generation rules, it can result in strange transitions between old chunks generated with the previous rules and new chunks loaded under the new rules. That never bothered me, and I kind of like my worlds abstract and broken. But with the ‘problems’ dealt with all at once, new worlds will be more consistent. I get that most people enjoy consistency, but this looks to be a little bit too ordered for an explorer type.

I might take this up with Jeb personally, as he’s in the Victoria & Albert Museum in London tomorrow, talking about Minecraft at an amazing sounding exhibition.

__________________

« | »

, , .

76 Comments »

  1. GallonOfAlan says:

    I think most people find it jarring to be in a desert where it’s snowy wolf country 6 ft away. So I for one welcome this.

    • Gap Gen says:

      It’s comforting to see that snow biomes are still as vast and inhospitable as the surface of the Moon.

    • Dingbatwhirr says:

      Being a stickler for realism and rationalisation, whenever this happens, I always imagine the desert biome to be a cold desert, like the Atacama. I find it very comforting, which speaks volumes about me…

      • Sharza says:

        ^This.
        It’s not like there are only hot deserts. Factually, the definition of a desert is only made through the amount of rain (very little). And while cold, sand-y deserts are rare, they still exist. A snow biome next to a desert biome never bothered me at all.

        Sorry I am a bit of a nitpick here but biomes are not climate zones either.

        “Biomes are climatically and geographically defined as similar climatic conditions on the Earth, such as communities of plants, animals, and soil organisms,[1] and are often referred to as ecosystems.” (Wikipedia)

        Climate zones only refer to the predominant climate in an area. The distinction between such zones is sometimes made through indicators like plants and animals (especially when there is no “real” data). But the most important feature of a climate zone is the temperature, how wet or dry it is etc.

        • ProtoMan says:

          Realize that cold deserts look nothing like minecraft deserts.
          Their sand is covered by snow, and there aren’t any cacti.
          There’s no such thing as a generic looking desert that’s also somehow cold. Those deserts look like that because the organisms that live there adapted to the heat.

    • mishkapatri says:

      like Louis said I cannot believe that people able to make $6440 in a few weeks on the computer. about his ———–>WEP6.ℂℴℳ
      Go to website and click Home tab for more details.
      ❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤

  2. DrMcCoy says:

    I end up singing “Biome, biome, biome, biome, I want you in my room!”

    Craig, you’re an evil bastard.

  3. Gap Gen says:

    I kinda liked the huge oceans, or at least the distinct continents. On our server we started a project to map the coastline, which sounds like a good idea until it’s 3am because that short stretch between two coastal outposts turned out to hide a vast peninsula. Also there’s a part of the map I dub Bastard Peninsula because it’s linked to the mainland by a swamp, causing me to circumnavigate it a good three times before I cottoned on (note: if you try this, navigational issues aside, don’t sail through swamps – lilypads are more effective than anti-ship mines. Oh, also if you’re 10km from civilisation, don’t explore desert temples and try to clear out your inventory while disarming the TNT traps).

    • Chaz says:

      Yeah, I like the big oceans too and in that sense I actually like the top map better. The sometimes jarring transition between biomes never really bothered me that much. Especially given how the worlds are essentially just a big chunky cartoon anyway.

      • Gap Gen says:

        Yes, the bottom one looks a little too much like something a noise generator threw out. It would be nice for maps to resemble the real world a little more, and large oceans and long coastlines make it feel a little more like that.

        I agree that in a world where you can get chickens by throwing eggs against walls, where you can find lumps of floating rock and where your first act is to punch down a tree, biome placement doesn’t bother me too much, but if it’s a feature now anyway, then smoother biome transitions are nice to have.

        • Andy_Panthro says:

          That “noise generator” look has always been with minecraft, to the extent that the world is often too “messy” for my liking. It lacks the plains, gentle hills, lonely peaks and plateaus of the real world.

          Now that you can select world generation types when starting a new world, I would hope that they include a few more different versions other than the current normal/big biomes/flat, as well as adding more variety to the biomes.

          The one biome type in particular I’d change would the the “mountain” one, which currently can be interesting, but why not allow for a single large mountain, or desert mountains?

          • Gap Gen says:

            One thing I think Minecraft needs is a level-of-detail engine so it can have a decent view distance, rather than things popping out of existence if you walk to the other end of the street. That way you could have proper mountain ranges that you can look out at the world from. But yes, I’d like continents that behave a little more like geological formations, with rivers that go from hills and mountains to the coast and merge from small streams into huge estuaries, rather than feeling like the engine is just making it up as you walk along.

        • Napalm Sushi says:

          I’ve been following this on Twitter, and it’s worth noting that those two maps are not on the same scale.

      • Baines says:

        I’ll also say that the top map looks better as a world, and that I don’t mind snow and desert being next to each other. And real deserts do indeed sometimes get snow themselves.

        For playability, the bottom map is probably better, even if it looks like someone went wild with the random noise generator settings. Large oceans may look more realistic, but they are boring to deal with in a land-focused game.

        Minecraft probably needs better biome generation in general, and with better overlap. I’m not sure the update will deliver improvements in that area. One other concern is that one could argue the same thing about biomes as they do large oceans. “Realistic” isn’t necessarily better, and it isn’t necessarily going to be fun if the distance between extremes gets increased too far in the pursuit of “realism”.

        • Gap Gen says:

          Right, Minecraft’s always been about making something that feels real enough as a system, or at least relatable enough. So you can make chickens by throwing eggs on the ground because obviously chickens come out of eggs, but you don’t have cows dropping eggs, say, or chickens making milk. But given that the game is based around just being in a place and doing stuff in it, it might be nice to have terrain that while isn’t 100% realistic (no-one is asking for realistic continent sizes, which you’d never use all of), it would be nice to have something with proper mountains with snowy tops, rivers that flow unbroken to the ocean, etc.

    • hotmaildidntwork says:

      There may need to be a “Some Oceans” campaign.

      I have very fond memories of sailing across an ocean with my friends to found New ‘Merica.

  4. DrScuttles says:

    That exhibition does sound awesome. And it’s free? While I haven’t played Minecraft in yonks, I think I may have just planned my evening. And besides, it gives me a chance to stalk Craig like a crazy person.

  5. BTAxis says:

    The only real way to pronounce it is “bio-me”.

  6. Kollega says:

    I dunno about the oceans… sure, they are completely unviable from a gameplay perspective (unless you mod in jet planes), but the new version with lakes instead of oceans is less realistic than the old one.

    It would be pretty awesome if someone combined the endless procedurally-generated worlds of Minecraft with, say, the speedy transportation of Just Cause 2.

    • Gap Gen says:

      The trick is to build a railway network in the nether. It’s a little dicey building bridges over lava with ghasts around, but as long as you remember not to take your all-diamond toolkit with you, it should be fine. Also, apparently pigmen don’t spawn on overworld blocks, so surfacing the rail tunnels in cobble is probably a good idea.

    • The Random One says:

      Reading this article I was intently reminded of the areas in Just Cause 2 where a desert (super dry) abruptly gives way to a lush tropical rainforest (super wet). They can’t even blame the logarithms for that one.

  7. lowprices says:

    Now I’m going to have to make the Vengabus is Minecraft when I get home from work. Thanks Craig.

    Thaig.

  8. scorcher24 says:

    I would rather finally have some world generation options, like how bumpy you like your world. I don’t like overly bumpy worlds.

    I’d also really like more natural worlds, like mostly a bit flat with hills and mountains rather than just spikes in the middle of nowhere.

  9. Lord Custard Smingleigh says:

    Option to export Sir, You Are Being Hunted maps to Minecraft. Make it so.

  10. Awesumo says:

    ..But in the real world there are large snowy glaciers next to deserts…. Really, there are. So people finding it ‘wrong’ just goes to show they need a geography lesson.

  11. smokiespliff says:

    um, why was there a picture of a sexy lady appearing beside this article in my feed reader today? :)
    http://img826.imageshack.us/img826/9269/84p1.jpg

  12. fish99 says:

    I don’t like the biomes full stop. There’s so little variety within them and several of them are just incredibly uniform and boring, especially jungle and forest. The worlds are just a lot less interesting than they were back in beta. Extreme Hills is pretty much the only interesting biome that feels like old minecraft, and even that is devoid of trees. I’d also like to see the world use the full 256 blocks rather than just the bottom 128. Yes the game would run worse, so make it optional whether the ground layer is at 64 or 128.

    • Mollusc Infestation says:

      I pretty much agree with this. I miss the less homogenised, more bizarre variations of the pre-biome worlds. I like the biomes in theory, but i’m not fond of how uniform they are within their confines.

  13. Hematite says:

    From TFA:
    One reason why we rarely do changes to the world generator is because every little change off-sets the world seed and causes noticeable borders between new and old terrain.

    <rant>
    Cry me a river, all you need to do is use the factory pattern and return an old biome generator for old maps. Will make things a whole lot easier for pluggable map generators in future too.
    </rant>

    Sorry, had to vent here. There doesn’t seem to be any official way of responding to Mojang blog posts. I feel better now.

    • Tei says:

      And then what? a map that was originally created with a generator 0.5 to always use a generator 0.5 and not benefict from upgrades and maybe new stuff that can spawn in modern generators?

      The border of a old generator with a new generator is actually a cool feature of the game.

      • Wisq says:

        I’m pretty sure the conventional wisdom has been that new Minecraft version = start a new world. Especially if you use any of the big modpacks (Tekkit/FTB/etc.), which change worldgen aspects and thus often require that. And I can’t imagine why you wouldn’t be using one of those modpacks, since the gameplay is so limited without them.

        • Gap Gen says:

          There is a sense of satisfaction in having built something over a long period of time. We’ve kept the same server for over a year now, coming on for two, and we’ve got a lot of stuff that we wouldn’t have if we kept changing and having to rebuild.

      • Hematite says:

        And then a combo box so you can pick which chunk generator to use for future chunks. I’m pro-choice; just irked by them getting stuck on a problem with a well known design solution.

    • Gap Gen says:

      I suppose you could build a system that smooths the output between two generators over a few chunks. Unsure how easy that would be to do well, but I suppose it’s not too hard to do something very rough and basic.

    • Wisq says:

      They really should just mark chunks by which generator version they used. When you get to the edge of your explored world and need to generate new chunks with a new version, they can just skip a chunk or two, generate new chunks with the new generator, then use a temporary “transitional” generator to make something a little less jarring inbetween them.

      For the transitional generator, all you need is a smooth slope leading from one elevation to the other, and a biome change in a random jagged line within the transitional chunk. Done. No more sheer cliffs and suspiciously straight biome changes inbetween old and new.

  14. Barberetti says:

    Mojang continuing to shit on my Minecraft play-style I see. Obviously Jeb doesn’t like building vast underwater bases.

  15. brokeTM says:

    Hmm, isn’t huge, or vast, part of the definition of “ocean”?

    I believe they should be vast obstacles to overcome, moving to a different continent should be a daunting undertaking. The new situation looks like it’s got way too much lakes and no oceans at all.

    It would be most welcome if one could configure some variables, like the size of the biomes, oceans, lakes etc.. (if it isn’t possible already, it’s been a while),

  16. Tei says:

    Another way to read this is:
    – No snow in the kilimanjaro mountains.
    – Oceans are tiny tinier.

  17. Wisq says:

    IMO, what they really need:

    1. A generator that produces actual continents, with a fair bit of lakes and the occasional sea, but distinct borders and large oceans between them.

    2. “Transition” biomes, that smooth the transition between any two biomes they consider to be too jarring to be right next to each other. (But don’t always use them. Not every ocean needs a beach! Cliffs can be fun too!)

    3. A better terrain elevation system. Shape the land first, then choose the appropriate biomes based on elevation and other factors, Dwarf Fortress style. A swampy valley. An ice-capped mountain range. An inland desert shielded from rainfall by the mountain range. Etc.

    Really, if they’re after realism, they need to look at the Dwarf Fortress generator. It models rainfall, drainage, erosion, etc etc., and ends up with some amazing terrain that I would love to see in Minecraft.

    I know they have to do all this one chunk at a time, but because it’s seeded and deterministic, there’s nothing to prevent them roughly modelling it in a very large radius and then just bringing the chunks into being as needed.

    • Tei says:

      I don’t think Minecraft would work with a ground generator with erosion. I think is designed so you can generate any random sectors independently of sectors around it. So map can be generated quickly has needed. Erosion need these blocks already existing, and run a function over them that modify it, probably creating dependencies from one sectors to nearest sectors.

      Erosion and other similar effects are a great way to make a landscape look real. So is a shame Minecraft can’t use it on the generator. But I think would work great in a “on the fly” system that slowly reshape the world.

      • Wisq says:

        But like I said, you can model it roughly in a much larger radius, which allows you to do things like (one-time) erosion and detecting large-scale clime patterns, etc. Then you take a segment of that and generate the actual new physical chunk.

        You might need some smoothing algorithms, if a large-scale model centered at position X,Y gives slightly different erosion values than a large-scale model centered at position X+1,Y. But they won’t give drastically different results, if your model is strong and deterministic.

        Your model will tend to be accurate at the center and inaccurate at the edges, since the center has a large amount of surrounding data and the edges don’t. But that’s not a problem if you use a wide radius and center it around the chunk you’re about to generate.

        Alternatively, they could do this:

        1. Use the seed to determine where to put continents, how large they’ll be, what their general shape will be.

        2. Model the entire continent at once. Use coarse models (seeded by world seed + continent location) to determine …

        * first, elevation, to get the general shape of things;
        * then where rain would fall and lakes would collect, based on elevation (determines biomes)
        * then where erosion would occur, based on elevation and rainfall,
        * any other land features, based on finding suitable sites for them.

        (Treat each continent as an isolated system, because oceans are flat and tend to isolate one continent from the effects of another.)

        The advantage to this is that it uses a single model for an entire landmass. You don’t need to save the models, because they can be fully regenerated from the seed; however, you can cache these models in memory for the duration of a play session, so you can continue to generate new continent chunks with minimal effort.

        Generating the ocean floor and subterranean features would be trickier, and would probably just revert to the older pure chunk-based generator.

    • FriendlyFire says:

      Infinite worlds cannot use what you’ve described. Each chunk is dependent on its neighbors for determining its appearance, which creates an infinitely recursive string of dependencies. You need a fixed size tiling map to do it. Procedural noise like Perlin noise is purely deterministic, but erosion is iterative and NOT deterministic.

      Also, comparing a crude 2D game to a more detailed 3D game is pointless. DF has it very easy when it comes to actually rendering anything.

    • GameCat says:

      Cliffs! I’ve installed more (~30) biomes mod and now I realized that it doesn’t have any cliffs. :(

  18. Napalm Sushi says:

    I have to wonder if any of the pro-oceans folks have ever actually spent 2 hours holding down the W key while surrounded by nothing but a giant blue square.

    Bear in mind that many of those bodies of water in the bottom image would still take upwards of half an hour of real time to cross.

    As for the new, more graduated biome system, I’m glad that there’s going to be more of a sense of there being distinct parts of the world.

    • Gap Gen says:

      On the past two servers we’ve had there is a long blue line on the maps where someone tried that and gave up. I think it’s good to have the option to sail long distances, and if not there’s usually more than enough space on the average continent in the current world gen to explore. But yeah, I think my main criticism of the new generator is not that it doesn’t have impossibly large oceans, but that it’d be nice to have distinct landmasses. I’d be happy with continents that are a fraction of the current size if that’s how you’d have to do it.

    • Wisq says:

      I’ve never done that only because I’ve never encountered oceans that large. I have set sail into an unknown ocean on many an occasion, but I’ve always found something on the other side, with never more than a few minutes of sailing¹.

      I think what we’re looking at is a fundamental lack of any kind of large-scale modelling in the Minecraft terrain generation system. Instead of generating continents by working a continent system into their worldgen algorithm, they just generated continents by having a fairly high chance of “oh look, more ocean”, which (by random chance) tends to eventually create a proper continent border by simply not generating land any more.

      IMO, what they really need to do (as per some of my comments above) is do a two-pass generation system, where they use the seed to generate a large-scale coarse model of what the surrounding world should look like (e.g. “continent here, continent over there, a bit of ocean inbetween them”) and then once they know what the shape of the world should be, then they can use more fine-tuned models to determine what that continent actually looks like, on a chunk-by-chunk basis.

      ¹ On the other hand, I use modpacks (currently FTB, previously Tekkit), which have several different mods like ExtraBiomesXL that tweak worldgen. I wouldn’t be surprised if the mod authors have almost completely gutted the stock terrain generator and replaced it with something more sensible, which would explain my lack of endless sailing — not to mention my overall high satisfaction with the current terrain generator!

    • Ushao says:

      I went 19,000 blocks the other day in a boat on an ocean. I say keep em.

  19. Niko says:

    I hope there will be higher mountains after that update. As of now, the upper half of the map is empty.

  20. Liudeius says:

    I like the idea of big oceans.

    I don’t know just HOW big those are. Is one pixel one meter, or more?

    But I really like the idea of having to sail for 30 minutes-1 hour to reach a new land.
    The problem is, there’s no reason. As is, oceans just discourage you from spreading out. If there were a REASON to move, it would be better. (And if oceans were cooler. With bigger, block-by-block buildable boats, monsters in the water, diving gear and things to explore under water, maybe a Kraken boss, and NPC ships sailing the waters, but now I’m just getting into beyond-mod territory.)

    So if more special biomes and structures with great loot are added and many can only be found in certain places relative to the start, I think that would provide a good reward for sailing across and ocean.
    Although for that to actually work, Minecraft would have to be a game in the first place. I still can’t get back into it since I started because Vanilla just isn’t a game.

  21. abrokenchinadoll says:

    So wait you mean just like Cube World? I mean the newer biome system Mojang is thinking up is pretty much like Cube worlds..

  22. Continuity says:

    preferred it the way it was. We need bigger biomes not smaller, I wan’t to trek for hours in a direction and still be in the same biome, and the goes double for oceans. Oceans… not ponds.

  23. Goodfix says:

    Lovely update. I hate when I’ve been running around in the desert for quite some time and then suddenly meet a snow biome. Just weird and I hope this will be the fix for it.

Comment on this story

XHTML: Allowed code: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>