so cool having passionate developers at this game. So passionate that they make videos talking about what they do in their free time. I really appreciate your work. I watched the video from start to finish!
If I'm not mistaken, Mr Henrik uploaded this video in his free time, pretty close to midnight. This is not part of his job/him getting paid to do it. He did it because he wanted to. I really appreciate this video!!
When I first found Minecraft, I was too young to even begin to imagine how a Minecraft world worked. I think half of the magic for me at that age was the inability to understand how every world was different, stretched millions of blocks wide (enough to be labelled "infinite", another bewildering concept) and on top of that how a computer could put me inside of it and allow me to make it my own. As I have become more knowledgeable of the general possibilities of computer science and programming, this aspect of the game has gradually charmed me less and less, however the nostalgia will forever remain with me. I hope that Minecraft continues to mystify new players with world generation, I also hope that I can keep hold of some of that magic that once baffled my 8 year old self.
personally even when i'm aware of the technical side of minecraft world generation i can still set my knowledge aside and allow myself to be baffled by the quintillions of possibilities this game offers
About 1 or 2 years ago I made my first game for a gamejam, it was a 2d digging game. So I started playing with perlin noise and well the obvious thing is to find out that you can do cheese cave. Some weeks after I had an Epiphany when I came up with the spaghetti cave idea, it was so much more possibilities with the same concept! I trully understand how fascinating terrain generation can be, and I love seeing a clean explaination like this.
Thanks for the amazing video! I tried replicating this myself to some extent for fun in Unity, it’s surprisingly easy to stuff some meshes into a grid and use Perlin noise like he mentioned to specify if they’re solid blocks or air blocks. It starts to get seriously confusing after that though, especially accounting for multiple sets of noise, the 3d noise as well, not to mention how quickly performance gets really bad. I just couldn’t wrap my brain around all of it. Makes me appreciate it all the more!
Thank you for the video! I love the new update, the new terrain generation looks so good!! It's so much fun building in a world where every part of it looks beautiful! (Btw, would love to see more dev commentary in the future, great video!) :)
The new biome algorithm works so well. Recently in my survival world I needed to find a badlands, so I just followed a savannah until I reached one. On the contrary I needed ice, so I followed a mountain range and found an ice spikes and icebergs biome. Didn’t have to use any external tools at all!
Thanks for the video Henrik, after watching some videos of people trying to replicate the minecraft generation, it's interesting to see what actually happens, good job improving it 😎
Despite already grasping the principles of using combined gradient noises for world generation this was still super entertaining and taught me a lot of neat stuff, like how 3D noise is used in combination with the squishing factor! I'd love to see more videos like this where aspects of minecraft's code are explained in this format
haven't finished watching the video, but I've really enjoyed the visual demonstrations of what terrain would look like with each version of the pseudo-code - when y'all first introduced continentalness, erosion, temperature & peaks-&-valleys as parameters, I found it hard to keep track of how the parameters interacted, and I couldn't quite get why y'all were bothering with the parameters in the first place - this video has helped me understand that quite a bit better and btw I was moved to write a comment because I loved the comparison you made between the terrain generation y'all have been working on, and Slartibartfast's award-winning fjords-of-Norway! a beauty of a throwback :D
While there are still a few things I don't like about world generation, there is no doubt that the 1.18 version is by far the best there has ever been. You've done a great job with it. Both the caves and the cliffs have met my expectations so far. And I do appreciate you taking your time to explain how things work. That is an extra bonus I enjoy.
@@_khaine I have never used TerraForged, so I can neither confirm nor deny this statement. However, even if the 1.16 TF is way better than vanilla 1.18 terrain generation, it does not invalidate my opinion that there has never been a better vanilla terrain generation than 1.18. This video is made by a Mojang employee that is developing the game itself. Mods are a bit outside of the scope of this video, and thus the discussion.
@@Kjotleik I would say the modder is better than the mojang dev if modders can create masterpieces like Terraforged while mojang devs can barely create semi-decent terrain.
@@_khaine terraforged is a completely different "artstyle" than normal minecraft, and is definitely not for everyone, it looks beautiful but it really relies on massive render distances and personally i prefer 1.18 (and even pre 1.18) generation since it has a lot more height variation over shorter distances.
@@_khaine the thing though is that those "masterpieces" are not masterpieces for everyone with mods. Mods can be made by mod creators and there is a specific part of the community that likes that and can install it, but the minecraft devs have to make sure EVERYONE likes it, because everyone will play that game, they can't not install it. Well, they can, but they'll miss out on updates. Creating a game is SO SO SO SO SO much harder than creating a mod.
Honestly, that's the kind of content I'd love to see on the Minecraft youtube channel. Technical breakdowns of how things work that take you all the way from not knowing anything to having a really good idea of how something works. I'd like to see that way more often, as it might demystify stuff for people who are looking into modding, so they don't bite off way more than they can chew and give up prematurely.
One thing I have noticed is how pretty the new terrain looks when viewing on a really zoomed out map. Lots of bands of colour and you can see where the temperature and humidity changes
I am curious about how noodle caves are properly created in 3D. In 2D, it makes sense. But in 3D, it would cause floating blobs of stone to generate. So what did you do differently when implementing it into the game?
For spaghetti & noodle caves we take two ridged 3d noises and intersect them. I visually think of it like this: imagine two hollow oranges with a thick peel. The two oranges slightly overlap in 3d space. Keep only the part where the two peels overlap. That gives you a thick ring. Make the ring hollow, and apply some randomness to it. Result: long squiggly tunnels. Was a bit tricky to explain in the video without making it too long, so I simplified it by just showing the 2d equivalent.
@@henrikkniberg with this technique you can also make caves that are something between cheese and noddle. Bowl cave. Choose grey for one noise, and white for other, this way you generate rifts/cracks of stone, similar to old-style ravine, but in any direction.
@@IrbisTheCat I think this will already happen; in places where the orange peels happen to overlap perfectly. (Let's call those "lasagna caves" to stay within the Italian/pasta theme)
I was working on the script for my own video about terrain generation and thought I knew so much Then I saw this video and my mouth was open the whole time This is epic
This weekend I made a project to try to guess how Minecraft terrain generation works. I guessed some things correctly, but many more work different than what I thought. I had guessed that finite state machines and transition probabilities with seeded RNGs would play a role, but that is where Perlin noise comes in handy instead. Great explanation that was all the more fun after trying to guess!
It's reallly interesting to see, I author the mineralogy mod which replaces stone for real world variants using perlin noise and am yet to update it from 1.12 to 1.18 so watching this gave me some inspiration, I think in the newer engine I need to do it in the same phase the biome is applied e.g. when stone is replaced for dirt/sand/etc
this is genius; really helpful as reference for my own game dev! terrain generation is beautiful. the many different ways you can approach it really gives every procedurally generated game its own charm. when you do want realism or the jagged crazy worlds, both could have really amazing uses
As one of those people who makes videos about the crazy stuff you can do by playing the game, I find it really interesting how much more technical things are when you look at the games development. People say they cannot begin to comprehend the kind of stuff I make through technical gameplay. But I cannot fathom how many parameters and linear algebra are needed to perfectly tweak a procedural terrain generation algorithm to produce realistic terrain.
This has to be the most helpful video out there on understanding how to incorporate overhangs and caves into procedural generated voxel worlds. Had a hard time figuring it out! Adding a dimension to your 2d noise makes so much sense. Thanks
I been waiting for a Minecraft video like this. I am wondering why the MC creators made the worlds that big though. Maybe to entertain the people playing MC
The amount of cocepts you introduced in this just one video is worth noting. This is one of the best tech video explanation I came across. Big Thanks...hope to see more such videos in future.
For some reason I took a huge interest in minecraft's code once development of caves started. Videos like these are super interesting to watch. It's kind of mind blowing how such simple code (minus optimizations, etc.) can create such interesting and varied shapes. And in playing minecraft, the new shapes and variety in the caves never ceases to amaze me. So good work getting this all to work and thank you for sharing it with us!
You helped me tons when I've been racking my brain trying to figure out how to do this stuff in godot, you single handedly made it simple, easy to understand, and even gave a step-by-step evolution of the process! I love it
ok what we've learned: The whole generation is perlin noise throwed together 😂 but for real this was so helpful to understand at least the general generation, i always wondered how this is possible, and i'm really impressed, one part is the theory, the other part is actually coding it and you explained it already so simplified, wow. I still wonder how each seed number creates the same seed on every computer, even though you said the generation is random, so how is the randomness saved in the seed number?
@@justaguy9671 Basically, instead of the computer generating a different random number to use each time one is needed in the world generator, it's always based off the seed in some way. As all computers will have the same input, they will produce the same output, so the world is the same for everyone.
@@JOCoStudio1 yeah i understand what you mean, but every feature is based on the few numbers that we have so how can like so many features be based on a (relatively) short number. It would make sense if you say for example the trees have always the same amount of air between them si just one needs to be placed by the seed number the rest is just placed by it. Ill watch the video @IrishBruse gave us, and i hope ill understand it better than, but thanks for helping me. :)
Man this update Is so well optimized and lag free yet so complicated and beatiful You did an Amazing job and that makes me proud not Just of the devs but also of the community
22:00 Seeing the different biomes occupy the same terrain location is mind blowing yet so simple :0 Although I haven’t ever seen a swamp at high altitude like that…Maybe it’s intentionally prevented/reduced for the swamp biome to never generate hilly…. Or I’ve just been unlucky finding one 😆 Thank you so much, Henrik, for sharing your knowledge about this incredible game, I find it so inspiring and interesting that this silly little block game we spend hours upon hours playing has such beauty, yet complexity and literal genius behind it.
Also yeah swamp biomes try to generate near water level to make sure that there's actual water in the swamp. But I play in an amplified world at the moment and then the game kind of tries height dependencies out of the door, so although there's still some rivers and lakes within the swamp, it will also contain big swamp peaks that you wouldn't see in a normal world, which looks weird, because that's effectively a plains or savanna or meadow but with very dark green grass and vines all over the trees
Huge thank you for this video. There was one little problem in my project that I am working on and that explanation helped me better understand minecraft world generation and inspired me
thank you this was very informational i was programming stuff and wanted to know how biomes were created i always thought it was a two step process but this confirms it so this was a great thing to hear this is a good video and explains pretty much everything you need to know about how terrain is generated in most games now
I'm working on a 2D recreation of minecraft and this guide helped me a lot with terrain generation! Ive spent a while trying to figure out exactly how the terrain is made and most the other videos ive seen have been incredibly vague but this tutorial told me everything i needed to know! Thank you
You really did a great job explaining the mechanics. In another video you showcased the values like continentalness already, but now I feel like I understand where they are coming from and how they influence terrain generation and biome placement. I liked the graphic at 24:47, where one can really see the influences of each noise map on the minecraft world. I noticed that the 1.18 terrain features more cliffs at the water, nice to see it explained with the spline points. Also the explanation of 3D noise was great for understanding terrain like in shattered savannahs. Thank you for the insights!
ive been trying to program a little Minecraft clone test game and was struggling to figure out how the noise worked, this explained things WAY better than any of the wikis ive read. especially seeing the incremental results of the terrain generation when adding noise values together! the "spaghetti cave" method never occurred to me, that was a brilliantly simple idea that works incredibly well!
I have very little coding and videogame development experience, but you were able to make even a complicated subject pretty easy to digest. You have a very good sense of which things to include, simplify, or omit, while still enabling your audience to hang on and gain a conceptual understanding.
It's videos like these that really make me love minecraft and its amazing dev team. Henrik, thank you so much for taking the time to explain this in such an interesting and informative manner! I could honestly listen to you explain the coding behind minecraft for hours.
Very informative and clear to understand video, thanks Henrik! I now know why you were so intrigued into erosion/continentalness/humidity/temperature/weirdness values in a previous video of you exploring the terrain generation.
Another thing I found interesting is the generation of strongholds, it isn't easy for me to explain it text, so you (reader, not creator of video) should google a picture of it, but it is essentially rings around the xz coordinate (0 | 0) and going outwards each ring has a different amount of end portals placed symmetrically in it.
Thanks for the explanation. I learned a lot about Minecraft's terrain generation now. From an adventurer point of view the new terrains generation looks absolutely nice but from the building/redstone perspective its debatable, i personally love bigger flat plains to build in (i love to build big bases in survival) but with the current generation it creates too many big caves, too many cracks, too many sinkholes, too many ravines etc. I would love to see this being able change (easiest would be with a slider) so we can actually have some more influence on the number of caves,cracks,sinkholes,ravines being generated (like a few caves, normal caves, more caves) when we create a new world.
dude this video was awesome! i always love insight videos on games ESPECIALLY minecraft so this really hit home for me! You’re an awesome game dev and an awesome person dude keep it up!!
I'm currently developing a voxel MMORPG game, and oh my god I love this video; This helped me understand how terrain generation & 3D perlin noise works in a technical way, I'm really sure this video helped a ton of developers; Thank you so much Henrik!
This is fantastic Henrik! Really amazing job showing all the math behind each step without getting too bogged down. One thing I would love to know more about is how the old cave carver system worked. I can get the intuition of how the new noise system works, but the way the old caves used to look just kind of breaks my head, how on earth did they work?
Thank you for this! for awhile there hasn't been much resources for how minecraft terrain generation works(especially when it came to caves) so it's great to get a good behind the scenes look
This video is absolutely amazing! Procedural generation has fascinated me ever since I started playing this game, and I've always wanted an in-depth explanation like this. Thank you for putting this together!
Adjusting individual values within a simulation and then exploring predictable results is a joy. Altering an entire function, even slightly, make the generation far more unpredictable. I can't imagine how long it took to get the spline points into satisfactory positions.
Thanks Henrik for sharing some more about the implementation! I knew about the various noise maps from your past talks, but the bit about solidifying at the start, and how you use tables to slice the noise ranges into various groupings to help you reason about biomes was really interesting. I would love to see a future talk about what types of noise you use to determine details (most of us know about the "flower map" due to flower farms, but what about grass, etc.? How do trees get placed without constantly intersecting with each other or with nearby walls?). I'm also really curious how you go about generating structures like villages and nether fortresses since those are not isolated to a single chunk (I guess tree canopies aren't either!?). Hope you're doing well. :)
This is such a great, intuitive explanation of something that, for over a decade now, i've just sort of written off as some kind of technical witchcraft haha. I feel like I have a much better grasp on how this game really works now. Thank you so much for taking the time to walk us through it, very cool!
Why does this feel like one of those quality Vsausce-ske videos, that should have millions of views by now, and was recorded like 12 years ago, even though this was literally uploaded yesterday? I love this
Excellent video, very well explained, clear and detailed, with concrete and visual examples, it's great! Well done! 👏 I really enjoy learning more about the technical design of Minecraft. Many thanks for this! 😄 Keep up the good work 👍
Thank you so much. minecraft is such a special game because it is the only big game with actual devs talking about how to mod the game, explain the code and how it actually works, makes the game with its community, etc. Every game is a black box that nobody except the company that work on it knows how it works, or have a say on it. Minecraft is not like that. So thanks you so much for that, it is immensely interesting and priceless to us
Excellent video, very informative & as someone that already had a tiny bit of knowledge in this area, I still found the video very engaging, and (as usual) loved the way you presented it.
this video opened my eyes, i always tried to imagine how minecraft worked and on the generation of the terrain i lacked ideas or stupid guesses. And now I have to change my mind, I had guessed something. It's amazing how "simple" math can do so many things. Henrik you reopened a world to me, good job!
Really enjoyed this video! It be neat to explore how a pack like Terralith uses these features to shape it's own biomes, especially in how it differs with vanilla!
thank you henrik! one day I think all this information will help me go get a job somewhere, or solve a project on somewhere important. Really I love understanding the game because it's something I've spent so many years enjoying without understanding how it worked. I'm now a university student who codes daily, but have so much appreciation for how well the new devs are documenting their production of the game; it's really inspirational to know that it's all the same programming language and that anything is possible if I can put my mind to it :)
1:13 Let's not forget 314rft's absolutely insane mod for 1.2.5, which replaces 32-bit world-related values with 64-bit, which takes the world out to absurd distances. Even if the world were to be artificially capped at a trillion blocks out or so - where the game is still actually perfectly playable - we'd be facing a playable range of one septillion square kilometres... but the world can go out to the quintillions. Imagine these scales in the modern game...
Thank you, Henrik, for your help creating some of the best updates in Minecraft history. Although Minecraft isn't as prominent as it was, your love for Minecraft will always linger in the game's code and give joy to billions of people. I wish you a long life. ❤️
Thanks so much, I watched and read a lot about this all, having just enough math background to understand the overall concepts, but still couldn't get the whole picture of how these concepts all tied up to generate a world. This is so clear and easy to understand no.
I love you. This is a harded work and I appreciate your video so much. Perlin Noise is amazing, but you are more amazing for simplify his functionality and give that information in a simple video with all the information simplify. Thanks so much Henrik!
Sir, you are my idol. You inspire me to be a coder or a game developer, well at least tempting me to become one even though I have no computer/laptop and has 0 knowledge on how to use it😅
Woah. This is an awesome explanation, and the visuals really added to the explanation! Five dimensions of noise to create biomes. That is so cool. As a less experienced software dev, I am geeking out over how code becomes something I play daily.
Fascinating. Thanks Henrik, you did a great job bringing really complex subject matter down to a level most viewers can understand* (* Individual results may vary, of course)
Great video Henrik! Really cool to see a bit about how things work behind the scenes of the terrain generation.
i really like how he explained things.
Yes, It's awesome video! Full of super useful informations to anyone interesting in topic.
Im a Cub - fan lol
Can you explain how terrain and biome generation is different in the nether and the end?
This is so fascinating! A comprehensive yet straightforward explanation of how terrain generation works. Thank you for making this video, Henrik! :)
Didn't expect you here
so cool having passionate developers at this game. So passionate that they make videos talking about what they do in their free time. I really appreciate your work. I watched the video from start to finish!
Ikr
If I'm not mistaken, Mr Henrik uploaded this video in his free time, pretty close to midnight. This is not part of his job/him getting paid to do it.
He did it because he wanted to.
I really appreciate this video!!
POV: Me learning the secrets of Minecraft so I can make my game better.
Shut up
When I first found Minecraft, I was too young to even begin to imagine how a Minecraft world worked.
I think half of the magic for me at that age was the inability to understand how every world was different, stretched millions of blocks wide (enough to be labelled "infinite", another bewildering concept) and on top of that how a computer could put me inside of it and allow me to make it my own.
As I have become more knowledgeable of the general possibilities of computer science and programming, this aspect of the game has gradually charmed me less and less, however the nostalgia will forever remain with me. I hope that Minecraft continues to mystify new players with world generation, I also hope that I can keep hold of some of that magic that once baffled my 8 year old self.
personally even when i'm aware of the technical side of minecraft world generation i can still set my knowledge aside and allow myself to be baffled by the quintillions of possibilities this game offers
About 1 or 2 years ago I made my first game for a gamejam, it was a 2d digging game. So I started playing with perlin noise and well the obvious thing is to find out that you can do cheese cave.
Some weeks after I had an Epiphany when I came up with the spaghetti cave idea, it was so much more possibilities with the same concept!
I trully understand how fascinating terrain generation can be, and I love seeing a clean explaination like this.
And now I use the spaghetti cave concept into 2d water and lava shaders.
I did the exact same thing :0
Thanks for the amazing video! I tried replicating this myself to some extent for fun in Unity, it’s surprisingly easy to stuff some meshes into a grid and use Perlin noise like he mentioned to specify if they’re solid blocks or air blocks.
It starts to get seriously confusing after that though, especially accounting for multiple sets of noise, the 3d noise as well, not to mention how quickly performance gets really bad. I just couldn’t wrap my brain around all of it. Makes me appreciate it all the more!
Henrik you are an absolute math & worldgen genius. This video is a really excellent explanation of worldgen, definitely watch all the way through!!!
Thank you for the video! I love the new update, the new terrain generation looks so good!! It's so much fun building in a world where every part of it looks beautiful! (Btw, would love to see more dev commentary in the future, great video!) :)
The new biome algorithm works so well. Recently in my survival world I needed to find a badlands, so I just followed a savannah until I reached one. On the contrary I needed ice, so I followed a mountain range and found an ice spikes and icebergs biome. Didn’t have to use any external tools at all!
thats all because they follow a logic of temperatures and humidity =D
@@gabrielandy9272 yup, but trying to do this in 1.17 or previous had a lot more randomness to it than 1.18’s method
finally a video explaining how to generate realistic terrain and goes beyond just basics
fun begins after this 12:52
Thanks for the video Henrik, after watching some videos of people trying to replicate the minecraft generation, it's interesting to see what actually happens, good job improving it 😎
Very informative! Thankyou!
Hey my man like your vids. I'm watching you for well over two years now
PLEASE believe I’m gonna watch this entire 30 min video. Please more dev commentary 🙏
Despite already grasping the principles of using combined gradient noises for world generation this was still super entertaining and taught me a lot of neat stuff, like how 3D noise is used in combination with the squishing factor! I'd love to see more videos like this where aspects of minecraft's code are explained in this format
haven't finished watching the video, but I've really enjoyed the visual demonstrations of what terrain would look like with each version of the pseudo-code - when y'all first introduced continentalness, erosion, temperature & peaks-&-valleys as parameters, I found it hard to keep track of how the parameters interacted, and I couldn't quite get why y'all were bothering with the parameters in the first place - this video has helped me understand that quite a bit better
and btw I was moved to write a comment because I loved the comparison you made between the terrain generation y'all have been working on, and Slartibartfast's award-winning fjords-of-Norway! a beauty of a throwback :D
stone the crows! I forgot about humidity and weirdness!
I love the fly that passes by at 0:13.
This is literally the coolest thing I have ever watched about this game thank you
While there are still a few things I don't like about world generation, there is no doubt that the 1.18 version is by far the best there has ever been. You've done a great job with it. Both the caves and the cliffs have met my expectations so far. And I do appreciate you taking your time to explain how things work. That is an extra bonus I enjoy.
ngl the 1.16 version of TerraForged looks way better than Vanilla 1.18 terrain generation
@@_khaine I have never used TerraForged, so I can neither confirm nor deny this statement.
However, even if the 1.16 TF is way better than vanilla 1.18 terrain generation, it does not invalidate my opinion that there has never been a better vanilla terrain generation than 1.18.
This video is made by a Mojang employee that is developing the game itself. Mods are a bit outside of the scope of this video, and thus the discussion.
@@Kjotleik I would say the modder is better than the mojang dev if modders can create masterpieces like Terraforged while mojang devs can barely create semi-decent terrain.
@@_khaine terraforged is a completely different "artstyle" than normal minecraft, and is definitely not for everyone, it looks beautiful but it really relies on massive render distances and personally i prefer 1.18 (and even pre 1.18) generation since it has a lot more height variation over shorter distances.
@@_khaine the thing though is that those "masterpieces" are not masterpieces for everyone with mods. Mods can be made by mod creators and there is a specific part of the community that likes that and can install it, but the minecraft devs have to make sure EVERYONE likes it, because everyone will play that game, they can't not install it. Well, they can, but they'll miss out on updates. Creating a game is SO SO SO SO SO much harder than creating a mod.
Honestly, that's the kind of content I'd love to see on the Minecraft youtube channel.
Technical breakdowns of how things work that take you all the way from not knowing anything to having a really good idea of how something works.
I'd like to see that way more often, as it might demystify stuff for people who are looking into modding, so they don't bite off way more than they can chew and give up prematurely.
One thing I have noticed is how pretty the new terrain looks when viewing on a really zoomed out map. Lots of bands of colour and you can see where the temperature and humidity changes
I am curious about how noodle caves are properly created in 3D. In 2D, it makes sense. But in 3D, it would cause floating blobs of stone to generate. So what did you do differently when implementing it into the game?
For spaghetti & noodle caves we take two ridged 3d noises and intersect them. I visually think of it like this: imagine two hollow oranges with a thick peel. The two oranges slightly overlap in 3d space. Keep only the part where the two peels overlap. That gives you a thick ring. Make the ring hollow, and apply some randomness to it. Result: long squiggly tunnels. Was a bit tricky to explain in the video without making it too long, so I simplified it by just showing the 2d equivalent.
@@henrikkniberg incredible
@@henrikkniberg with this technique you can also make caves that are something between cheese and noddle. Bowl cave. Choose grey for one noise, and white for other, this way you generate rifts/cracks of stone, similar to old-style ravine, but in any direction.
@@IrbisTheCat I think this will already happen; in places where the orange peels happen to overlap perfectly. (Let's call those "lasagna caves" to stay within the Italian/pasta theme)
;)
I was working on the script for my own video about terrain generation and thought I knew so much
Then I saw this video and my mouth was open the whole time
This is epic
This weekend I made a project to try to guess how Minecraft terrain generation works. I guessed some things correctly, but many more work different than what I thought. I had guessed that finite state machines and transition probabilities with seeded RNGs would play a role, but that is where Perlin noise comes in handy instead. Great explanation that was all the more fun after trying to guess!
you have summarized 2 week of trial and error on my part flawlessly. Thank you so much for this very simple, yet detailed explanation of everything!
I clicked on this thinking it was a meme video. Ended up watching the whole thing! 10/10
I want a series of this, is so interesting, even though I don't understand anything.
I... have more questions
If you get your questions answered here, do you get to clock the hours for training? Btw, always good to see you!
lol
It's reallly interesting to see, I author the mineralogy mod which replaces stone for real world variants using perlin noise and am yet to update it from 1.12 to 1.18 so watching this gave me some inspiration, I think in the newer engine I need to do it in the same phase the biome is applied e.g. when stone is replaced for dirt/sand/etc
this is genius; really helpful as reference for my own game dev! terrain generation is beautiful. the many different ways you can approach it really gives every procedurally generated game its own charm. when you do want realism or the jagged crazy worlds, both could have really amazing uses
As one of those people who makes videos about the crazy stuff you can do by playing the game, I find it really interesting how much more technical things are when you look at the games development. People say they cannot begin to comprehend the kind of stuff I make through technical gameplay. But I cannot fathom how many parameters and linear algebra are needed to perfectly tweak a procedural terrain generation algorithm to produce realistic terrain.
This has to be the most helpful video out there on understanding how to incorporate overhangs and caves into procedural generated voxel worlds. Had a hard time figuring it out! Adding a dimension to your 2d noise makes so much sense. Thanks
I been waiting for a Minecraft video like this. I am wondering why the MC creators made the worlds that big though. Maybe to entertain the people playing MC
I mean it's kinda obvious lol
@@user-tzzglsstle585e38 So what is the obvious reason that Minecraft worlds are seven times larger than the Earth?
Do you want them to be smaller?@@robertskitch
Pretty sure it's basically infinite, but they probably had to cut it off at a certain point due to math-y reasons
@@snowdolphvov4193 Would I notice the difference?
The amount of cocepts you introduced in this just one video is worth noting. This is one of the best tech video explanation I came across. Big Thanks...hope to see more such videos in future.
Thanks, glad you liked it!
For some reason I took a huge interest in minecraft's code once development of caves started. Videos like these are super interesting to watch. It's kind of mind blowing how such simple code (minus optimizations, etc.) can create such interesting and varied shapes. And in playing minecraft, the new shapes and variety in the caves never ceases to amaze me. So good work getting this all to work and thank you for sharing it with us!
You helped me tons when I've been racking my brain trying to figure out how to do this stuff in godot, you single handedly made it simple, easy to understand, and even gave a step-by-step evolution of the process! I love it
ok what we've learned: The whole generation is perlin noise throwed together 😂
but for real this was so helpful to understand at least the general generation, i always wondered how this is possible, and i'm really impressed, one part is the theory, the other part is actually coding it and you explained it already so simplified, wow. I still wonder how each seed number creates the same seed on every computer, even though you said the generation is random, so how is the randomness saved in the seed number?
The perlin noise is based on a random number. The seed of a world is the random number. If you put in the same seed, you get the same result!
@@Vextrove but i still wonder how the world knows where to place the exact trees and grass just based of the seed number
@@justaguy9671 th-cam.com/video/ZZY9YE7rZJw/w-d-xo.html Thats a great video showing you how it works
@@justaguy9671 Basically, instead of the computer generating a different random number to use each time one is needed in the world generator, it's always based off the seed in some way. As all computers will have the same input, they will produce the same output, so the world is the same for everyone.
@@JOCoStudio1 yeah i understand what you mean, but every feature is based on the few numbers that we have so how can like so many features be based on a (relatively) short number. It would make sense if you say for example the trees have always the same amount of air between them si just one needs to be placed by the seed number the rest is just placed by it. Ill watch the video @IrishBruse gave us, and i hope ill understand it better than, but thanks for helping me. :)
Man this update Is so well optimized and lag free yet so complicated and beatiful
You did an Amazing job and that makes me proud not Just of the devs but also of the community
22:00 Seeing the different biomes occupy the same terrain location is mind blowing yet so simple :0
Although I haven’t ever seen a swamp at high altitude like that…Maybe it’s intentionally prevented/reduced for the swamp biome to never generate hilly…. Or I’ve just been unlucky finding one 😆
Thank you so much, Henrik, for sharing your knowledge about this incredible game, I find it so inspiring and interesting that this silly little block game we spend hours upon hours playing has such beauty, yet complexity and literal genius behind it.
Yeah, swamps only generate in low erosion / high continentalness areas from what i know! It's not your luck :)
@@peaceheis that makes sense, thank you for clarifying it! :)
I found a wild Harrison
Also yeah swamp biomes try to generate near water level to make sure that there's actual water in the swamp. But I play in an amplified world at the moment and then the game kind of tries height dependencies out of the door, so although there's still some rivers and lakes within the swamp, it will also contain big swamp peaks that you wouldn't see in a normal world, which looks weird, because that's effectively a plains or savanna or meadow but with very dark green grass and vines all over the trees
@@rubydupyII cool that’s interesting, and what a chance to find you here lol :D
Huge thank you for this video. There was one little problem in my project that I am working on and that explanation helped me better understand minecraft world generation and inspired me
thank you this was very informational i was programming stuff and wanted to know how biomes were created i always thought it was a two step process but this confirms it so this was a great thing to hear this is a good video and explains pretty much everything you need to know about how terrain is generated in most games now
I'm working on a 2D recreation of minecraft and this guide helped me a lot with terrain generation! Ive spent a while trying to figure out exactly how the terrain is made and most the other videos ive seen have been incredibly vague but this tutorial told me everything i needed to know! Thank you
You really did a great job explaining the mechanics. In another video you showcased the values like continentalness already, but now I feel like I understand where they are coming from and how they influence terrain generation and biome placement. I liked the graphic at 24:47, where one can really see the influences of each noise map on the minecraft world. I noticed that the 1.18 terrain features more cliffs at the water, nice to see it explained with the spline points. Also the explanation of 3D noise was great for understanding terrain like in shattered savannahs. Thank you for the insights!
ive been trying to program a little Minecraft clone test game and was struggling to figure out how the noise worked, this explained things WAY better than any of the wikis ive read. especially seeing the incremental results of the terrain generation when adding noise values together! the "spaghetti cave" method never occurred to me, that was a brilliantly simple idea that works incredibly well!
I have very little coding and videogame development experience, but you were able to make even a complicated subject pretty easy to digest. You have a very good sense of which things to include, simplify, or omit, while still enabling your audience to hang on and gain a conceptual understanding.
I'm a game dev I didn't think that I'd be able to guess how Minecraft was made, I have learned alot in this video wow
It's videos like these that really make me love minecraft and its amazing dev team.
Henrik, thank you so much for taking the time to explain this in such an interesting and informative manner!
I could honestly listen to you explain the coding behind minecraft for hours.
Very informative and clear to understand video, thanks Henrik!
I now know why you were so intrigued into erosion/continentalness/humidity/temperature/weirdness values in a previous video of you exploring the terrain generation.
this was So cool to watch as a new but adult minecraft player. Thank you for your game, it brings me great joy
Another thing I found interesting is the generation of strongholds, it isn't easy for me to explain it text, so you (reader, not creator of video) should google a picture of it, but it is essentially rings around the xz coordinate (0 | 0) and going outwards each ring has a different amount of end portals placed symmetrically in it.
Thanks for the explanation. I learned a lot about Minecraft's terrain generation now.
From an adventurer point of view the new terrains generation looks absolutely nice but from the building/redstone perspective its debatable, i personally love bigger flat plains to build in (i love to build big bases in survival) but with the current generation it creates too many big caves, too many cracks, too many sinkholes, too many ravines etc. I would love to see this being able change (easiest would be with a slider) so we can actually have some more influence on the number of caves,cracks,sinkholes,ravines being generated (like a few caves, normal caves, more caves) when we create a new world.
Sad to hear that you're leaving Mojang. Good luck with future endeavours! And thanks for the insights into minecraft development.
Thank you very much Henrik! You guys were really brave with the new world gen and it paid off!
dude this video was awesome! i always love insight videos on games ESPECIALLY minecraft so this really hit home for me! You’re an awesome game dev and an awesome person dude keep it up!!
Never been really interested in code or game design or video essays but i sat through the whole thing, good job henrik.
I'm currently developing a voxel MMORPG game, and oh my god I love this video; This helped me understand how terrain generation & 3D perlin noise works in a technical way, I'm really sure this video helped a ton of developers; Thank you so much Henrik!
Thanks for the explanation, I couldn't find hardly anything deeper than the basic world settings ones
flawless video, thank you so much for sharing your knowledge!
A classy man starts with some classy jazz. Excellent choice my friend
This is fantastic Henrik! Really amazing job showing all the math behind each step without getting too bogged down. One thing I would love to know more about is how the old cave carver system worked. I can get the intuition of how the new noise system works, but the way the old caves used to look just kind of breaks my head, how on earth did they work?
Thank you for this! for awhile there hasn't been much resources for how minecraft terrain generation works(especially when it came to caves) so it's great to get a good behind the scenes look
you know what, i like these, you should make this a series, cause i like to mod and i wanna create and experiment with this stuff
Arguably the best masterclass I've seen in a while. Thank you so much, Henrik!
Absolutely amazing visual display of the code by actually showing it in minecraft, the game we all already know how it looks!! Love it!
Woh cool
This vid leads me to want another vid explains how structure generates & adapts over the terrain system
This is really interesting! I’m about to take a javascript code class and this was kind of a cool sneak peak into the inner workings of minecraft
Really interesting stuff!
This video is absolutely amazing! Procedural generation has fascinated me ever since I started playing this game, and I've always wanted an in-depth explanation like this. Thank you for putting this together!
this is soo cool, thank you so much for creating this video, i could watch hours of you going into the details of this algorithm and i would love it
Adjusting individual values within a simulation and then exploring predictable results is a joy. Altering an entire function, even slightly, make the generation far more unpredictable. I can't imagine how long it took to get the spline points into satisfactory positions.
It was very fiddly. ALOT of testing and tuning.
Thanks Henrik for sharing some more about the implementation! I knew about the various noise maps from your past talks, but the bit about solidifying at the start, and how you use tables to slice the noise ranges into various groupings to help you reason about biomes was really interesting. I would love to see a future talk about what types of noise you use to determine details (most of us know about the "flower map" due to flower farms, but what about grass, etc.? How do trees get placed without constantly intersecting with each other or with nearby walls?). I'm also really curious how you go about generating structures like villages and nether fortresses since those are not isolated to a single chunk (I guess tree canopies aren't either!?). Hope you're doing well. :)
This is such a great, intuitive explanation of something that, for over a decade now, i've just sort of written off as some kind of technical witchcraft haha. I feel like I have a much better grasp on how this game really works now. Thank you so much for taking the time to walk us through it, very cool!
I've seen too many "remaking minecraft but" videos that don't outline generation very well, so this is a nice change of pace for me. Very cool!
Not only was this interesting it helped me with my presentation about math in video games. Thank you!
Why does this feel like one of those quality Vsausce-ske videos, that should have millions of views by now, and was recorded like 12 years ago, even though this was literally uploaded yesterday? I love this
Yo this is an extremely cool video!! I'd love to see more behind the scenes👀
i feel like this guy could make me learn anything if it exists, he explains so good
This is awesome! I'm sharing it was my math students to inspire them :)
Excellent video, very well explained, clear and detailed, with concrete and visual examples, it's great! Well done! 👏
I really enjoy learning more about the technical design of Minecraft. Many thanks for this! 😄
Keep up the good work 👍
Thank you so much. minecraft is such a special game because it is the only big game with actual devs talking about how to mod the game, explain the code and how it actually works, makes the game with its community, etc.
Every game is a black box that nobody except the company that work on it knows how it works, or have a say on it. Minecraft is not like that. So thanks you so much for that, it is immensely interesting and priceless to us
Excellent video, very informative & as someone that already had a tiny bit of knowledge in this area, I still found the video very engaging, and (as usual) loved the way you presented it.
my brain expandet 10x during the video, i am 1000% trying to implement this in my own project. thank you so much
I know how much effort it is to generate all the example worlds, even having the original source code! Thank you so much!
this video opened my eyes, i always tried to imagine how minecraft worked and on the generation of the terrain i lacked ideas or stupid guesses. And now I have to change my mind, I had guessed something. It's amazing how "simple" math can do so many things. Henrik you reopened a world to me, good job!
Really enjoyed this video! It be neat to explore how a pack like Terralith uses these features to shape it's own biomes, especially in how it differs with vanilla!
thank you henrik! one day I think all this information will help me go get a job somewhere, or solve a project on somewhere important. Really I love understanding the game because it's something I've spent so many years enjoying without understanding how it worked. I'm now a university student who codes daily, but have so much appreciation for how well the new devs are documenting their production of the game; it's really inspirational to know that it's all the same programming language and that anything is possible if I can put my mind to it :)
1:13 Let's not forget 314rft's absolutely insane mod for 1.2.5, which replaces 32-bit world-related values with 64-bit, which takes the world out to absurd distances. Even if the world were to be artificially capped at a trillion blocks out or so - where the game is still actually perfectly playable - we'd be facing a playable range of one septillion square kilometres... but the world can go out to the quintillions. Imagine these scales in the modern game...
Thank you, Henrik, for your help creating some of the best updates in Minecraft history. Although Minecraft isn't as prominent as it was, your love for Minecraft will always linger in the game's code and give joy to billions of people. I wish you a long life. ❤️
Thanks!
I'm writing my own terrain generation in unity right now, and this was invaluable. Thank you!
Thanks so much, I watched and read a lot about this all, having just enough math background to understand the overall concepts, but still couldn't get the whole picture of how these concepts all tied up to generate a world. This is so clear and easy to understand no.
Yay! I love these videos about how minecraft works because I'm a game dev myself and it's always cool to see how other games do stuff
I love you. This is a harded work and I appreciate your video so much. Perlin Noise is amazing, but you are more amazing for simplify his functionality and give that information in a simple video with all the information simplify. Thanks so much Henrik!
Sir, you are my idol. You inspire me to be a coder or a game developer, well at least tempting me to become one even though I have no computer/laptop and has 0 knowledge on how to use it😅
Awesome! Go for it!
Great video, i like how you explain everything and manage to keep it simple.
Love you and what you do.
I almost wasn't expecting a Mojang employee lol, this just gives the video more credibility. Love what you do!!
The temperature and humidity system seems to be awfully similar to that of pre-b1.8. Interesting
I'm not sure I've ever learnt so much in such a short amount of time...
Woah. This is an awesome explanation, and the visuals really added to the explanation! Five dimensions of noise to create biomes. That is so cool. As a less experienced software dev, I am geeking out over how code becomes something I play daily.
Fascinating. Thanks Henrik, you did a great job bringing really complex subject matter down to a level most viewers can understand*
(* Individual results may vary, of course)