Henrik Kniberg made his own TH-cam video that's essentially the contents of this presentation. That version has 100K views. th-cam.com/video/CSa5O6knuwI/w-d-xo.html
I really hope this was one of those recordings where the audience just isn't audible to the mic, because this was an incredible presentation and I hope he was getting all the little chuckles and stuff that he deserved, this was such a delightful watch
As a developer who has always dabbled a little in game development on my own time this is really interesting. And honestly one of the best explanations of Perlin noise I've come across.
@@MiriadCalibrumAstar It's probably just a different configuration of values for the pre-existing terrain generation framework, and then some more condition checks like x biome can't be next to x biome or x terrain feature can't generate unless this value is x and whatnot. Realistic terrain generation isn't that far off from the default terrain generation, which is what he said during the presentation, it's all based pretty much entirely off of these charts with basic number values.
@@Corzappy Thats quite true, ive theorized about it too. Though out of curiosity i want to know what kind of noises do they use and how are they implemented.
What is insane is that there were at least a dozen concepts that Henrik only briefly mentioned while offhandedly saying that those concepts would take an entire lecture to get into properly. Things like local water levels that generate aquifers, placement of terrain features and structures, how biome placement is tweaked in the code to allow for more natural biome transitions, etc. are all potentially really interesting topics (that probably are only interesting to a select few who play Minecraft and have an interest in how it works). I’m still amazed that Mojang was able to make this work in less than 18 months and that they were able to make it work on all the various platforms that the game is available. On a side note, now that Henrik has recovered from seeing everything in 5 dimensions, hopefully he will return to Mojang again one day.
If you as a professional Developer within a large development team can barely achieve that within 18 months, then there's something wrong with your scheduling
It would have been neat if he had mentioned a bit about the original style of cave generation which as far as I know is still present near the surface. I believe it uses a technique called Perlin Worms which is basically a random walk but using Perlin noise for more gradual movement. It would fit in quite well following on from the explanation of the overall terrain shape.
It's actually insane how while watching this I've had several moments where it all just clicks and terrain that I've seen 10,000 times before suddenly has meaning to it, like I understand how and why it generated that way instead of just going "Oh that's a weird little mountain, anyway.."
This a type of technique taught in most computer science and graphics since Perlin first published his noise formula, it's genuinely surprising you haven't seen similar things in the past. Notably, nothing in this video is really that different from Minecraft's original terrain generation aside from the fjords. I was expecting them to have cubic chunks, some optimisation and more realism instead of a poor recreation of "real terrain" mods from over 10 years ago. FYI most mods for Minecraft are open source, if you want to pay with this kind of thing, look there.
It shows that there is so much potential behind the terrain gen still. Like water placement + terrain offset variations creating lakes and rivers at different altitudes.
I've just been looking in to terrain generation and how to stack noise values. This explanation is absolutely wonderful to visually understand what does what and why.
as a consistent player I really want to see more spaghetti caves. Cheese caves are cool but a bit overwhelming when you see a ton of ores at once and they are on the cielling and talls walls that are not easily accessible. Not to mention the second you walk into a cheese cave you can see everything at once, a list of objectives trying to mine ores rather than blissfully exploring and coming across ores. Spaghetti caves are fun because you never know what your going to run into and when you come across an ore its easily accessible
I wonder if it’s a psychological thing. There still are inaccessible ores on the ceilings of spaghetti caves, but maybe they arent as noticeable since a spaghetti cave feels like a path and so you instinctively focus on the ground and walls around you. Meanwhile a cheese cave is huge, kind of aimless at times, and anything can fall on you from above. You end up looking at the ceiling, the walls, everywhere more often. Or maybe you completely light up your caves or use night vision. In those cases you aren’t going to have those biases. And I guess theres a size factor thing. Spaghetti caves often are smaller (I have seen really tall ones before though, so not always) and so the ceiling is going to be easier to reach.
@@iveharzingtrue. The caves are way more beautiful now. There's always that feeling of awe when it's a beautiful cave but of course some parts are still "traditional" which is nice and there's that feeling of familiarity.
I like the cheese caves, because they're very pretty to look at. My brightness and black balance on my screen isnt very high. So unless I use a night vision potion, I actually can't see the ores on the top of the cheese caves like you do. And even if I do see them, I ignore the ores unless its diamonds. So I just run around looking at the floor only. Spaghetti caves I look at the floor walls and ceiling since 1 torch will light up the whole section.
Jumped back into the game since last playing when ocelots were added. What a huge difference, the generation is so impressive. I flew for a couple hours in creative just exploring massive underground caves and rivers.
Awesome presentation! I am mind-blown also by the underground water generation ! It would be great to see another talk like this explaining how you did it :) BTW that was on of the best representation of 5D grid ever seen ahaha
26:43 I really love that they wanted to preserve the wacky character of the old Minecraft world gen, but there’s something so majestic about Minecraft with realistic terrain. I almost wish it was an option in the settings
This has given me so much inspiration to continue with my own generation, i hit s bit of a landmark with terrain when trying to implement biomes, specifically i was trying to make biomes change the terrain, rsther than calculate the terrain and make the biomes go where the terrain fits, im going to try this out immediately, especially the splines thats a reslly clever way of terrain manipulation that i eould have never thought of!! Very good video and beautiful explanation 👍
I had the exact same mistake/issue haha, how'd yours end up going? Specifically, I had been using unique splines for each biome which multiplied the terrain height, but this meant you had MASSIVE 'jumps' between biomes rather than smooth blending
Not first time I watch a video about terrain generation and perlin noise but this is really well explained and interesting, explaining well how many features generate. Saved for further reference!
This is amazing. Being both a long time minecraft fan and also an aspiring game developer, this just fills me with inspiration and admiration for those working on making videogames
@@lastyhopper2792 this is a bot, it took 2 short comments and combined them together. The first one being "Seems like pretty simple but smart concepts implemented in a clever way" by johannesr8709, and "I'd watch this for hours. Such a good presenter." by bsdetector837." It then replaced added full stops to both comments before combining them causing it to be, "Seems like pretty simple but smart concepts implemented in a clever way.. I’d watch this for hours. Such a good presenter.." instead of "Seems like pretty simple but smart concepts implemented in a clever way. I’d watch this for hours. Such a good presenter."
12:42 Can imagine a multiplayer game mode where you have to build a tower on one of the islands by mining islands around it to get material. There are bonuses randomly generated at random heights and then the goal at the certain height.
Let's not forget that for a short time, the simple player had pretty fine control of the terrain generation(1.12.2), nice to find out what those settings were doing.
Finally a speaker that repeats the questions that were asked so we know what's going on. Yeah, I love noise. Some good memories playing around with different noises in texture creation sandboxes and terrain generators. And I still use them in my compositing job, making animated movies look good or creating FX for them. Maybe to add some fine surface detail like grainy sand that wasn't in the actual render or using 3d noise as a force field for wind strength in a snow particle system. Though with Minecraft, I'm still playing 1.12.2 for some mods I wouldn't want to play without and I use the Realistic Terrain Generation mod since I like my worlds more earth like than minecrafty with all it's weird floating noise bits. And I wish Minecraft had some more realistic terrain generation itself with tectonic plates and climate that follows the terrain shapes and climate bands instead of the random clouds. I currently use Geographicraft for that.
I'm surprised how much of this I've already done as a hobby, didn't think about splitting biomes up by continentalness though, I was instead trying to bias temperature and humidity with altitude, continentalness looks alot more controllable
I loved this, i would absolutely adore a whole lecture series that goes in-depth on (minecraft) procedural terrain gen, i love that particular combination of math, physics & gaming.
This is a 10/10 talk. Its both entertaining and a perfect explanation of the subject matter. Also, 22:12 took me completely by surprise. Up to that point I was still looking at this as a generalized explanation of how to generate terrain like minecraft. But this is where I realized that he is just straight up explaining one of the core features of a game I have spent 1000s of hours playing. I knew a decent amount of the compontents going in, but for example layering different noise maps to get realistic worlds was such a cool way to use them.
Adding different shapes, irregular tesselated geometries, distinct noise patterns for the variance of shapes and playing with different bits of physics are just many ways these concepts can clearly be used to generate infinite varieties of dynamically generated and immersive ige's for most genres. This video is incredibly broadminded and extremely interesting.
So basically, Minecraft is a stellar masterpiece collection of ideas, formulas and codes. At least that's what it seemed to me as a civil engineer who strays away from coding apart from Excel spreadsheets.
I never thought that a presentation was on TH-cam purely about the way minecraft generates it's terrain, and it is made by the person who made the minecraft terrain generation! Can't wait to use this on my own game! The way the "spaghetti" caves work is genius.
I'm thinking about how much smoother it can run with 3D chunks. Exciting questions and possibilities raised in here that made me think of potential mods up and coming programmers could try out for themselves.
Not much. Chunks are already split up into 16x16x16 cubes for rendering. If a chunk section isn't in view, it isn't rendered. And while generation eats a huge chunk of CPU time, it only matters the first time you move into range of those chunks. Then they are there. Also, you have to think about calculation distance. You still want the wheat in your garden to grow when you're in the basement. Horizontally it's, by default, 192 blocks (12 chunks). If you were to apply this vertically, too, you'd have to climb some of the highest peaks for the lowest bit of the chunk to not be within it anymore. So there'd very rarely be any savings from doing that instead of calculating the whole chunk.
I'm mind blown by the fact we still use interlaced video today in a world with essentially no CRT TVs I hope I'm not the only one who think this is really distracting?
This is the most interesting video I have watched in a long time. I only wish he had talked more about the parts that he said were too complicated, even if the video ended up being 3 hours long
I LOVE talks like this, where a very complicated concept is explained to noobies thanks to following step by step a very simple example that encompasses the bases of the subject at hand!
it's not enough to say that once you hit enough coldness, you get a savannah instead of a desert. Plants trap humidity, they make surroundings both colder & more humid. A way to generate this would be to have the humidity noise function be layered with a set function which will add steep rises/"jumps" at certain intervals, same for temperature. Then, adjust the biome determination fn
As somone thats tried to code minecraft clones in unity i would always get as far as terrain generation, 3d terrain and biomes but when it came to understanding plateaus and valleys, or even ravines i never truly understand how i could pull it off without just stamping a set structure into the generation. I now understand how i could implement the ravines and other things into the terrain generation. This was a very useful and helpful video for understanding terrain generation. Thank you
Having played minecraft for over 8 years and having watched maybe a yearsworth of youtube videos about minecraft and it's innerworkings, i am glad to say that i learned something, though i knew most of this.
4:35 it does have a name. That's 1.62 undecillion bytes, or 1.62 sextillion petabytes, or as they call it in the industry a universal ass ton of storage
I also think it would be cool if the sandstone in deserts went down deeper so you can get unique desert caves, maybe even a few new variants of current mobs in them.
This is cool to watch, but my issue with vanilla gen remains, as the generation is still a bit too continental, and therefore aimless in a high scale perspective. Many will call bigger oceans a waste of space, but that's what gives purpose to continents in a first place. Looking at fanmade gens such as Terraforged I still believe that a lot can be done to make the world generation feel satisfying to explore.
Agree and disagree to a certain extent. Current minecraft vanilla gen feels like the worst of both worlds in regards to terrain generation. Being too 'realistic' to allow for some of the more grand and mystical generation we got in the early versions (pre-adventure update) but not realistic enough to allow for generation to feel 'different' and unique. Or worth exploring. Random/aimless works very well, again, looking at the earlier versions of the game. But only if it's truly random. And not so overly engineered and rule based that you always tend to get the same generation in the end. In a certain way it's like stable diffusion/AI generated imagery. Give it too many prompts and you'll get the same image over and over again. Be more loose and restrained in your use of prompts, and you can get a much more interesting and unique output each time. Current minecraft world gen is both too restrictive to allow for everything to feel 'fresh' and different (it kind of all feels same-y) but at the same time the lack of continents or maybe 'tectonic biomes', leads to random blobs of terrain generation that, again, feel same-y in their generic randomness.
@@pagatryx5451 Yeah. Making generation more island-like would actually be amazing if paired with proper optimization, and it would be the way to make everything look distinctive. Sure, the water may feel empty but we could have a proper overhaul of how water biomes feel. Plus, it's a clear tendency for people to have better specs over time, so why not take advantage of that by optimizating it so we can make large render distances something worth it?
@@pagatryx5451Hmm, imo all the problems I had with the world gen were pretty much solved with the caves and clifs update (cellular automaton style biome placement etc)
@@ibisskb If they ever figure out how to use nanite, all of the performance will be put on the data side instead of the rendering side. Lighting might be wonky but it's still the best option.
@@ibisskb not everyone gets better specs every year, I still have my 5 year old pc and don't plan on upgrading anything anytime soon, minecraft is one of the only games i have problems with in newer updates.
The simplified terrain generation really created some cool and interesting terrains. i mean like i have never seen a lake like this 24:38 in minecraft. sure, there is some lakes but they are never as cool as this. i can just run this simplified terrain generation code without any additions like grass and trees, only stone, air and water and it will still be much more interesting than the current terrain generation. Man i can spend hours just looking at what kind of weird shapes this code will give me, unlike minecraft's more basic terrains (its ironic since this code is the "basic" version)
I think the "boringness" of minecraft's current generation is due to how much they have configured the noise, and how many rules they have set in place. It is still possible to see some really wacky generation like that in todays minecraft, but it is waaaaay rarer because of the fine tuning. If they were to unconfigure it a bit, their test chunks would look less like they want it to look like, but also allow for more wacky stuff to happen more often. The problem is balancing the tuning of generation of millions of worlds and their 100s (at most) of test worlds. It makes it very hard to tune it to allow for wacky and "fantasy" generation and also allow for the flatlands and mountains of consistent quality and consistency.
i remember a minecraft version where you were able to edit the world generation algorithm before creating a new world and i think this was a great feature... sadly it got removed with the next major update :c
Such an informative presentation and even though I was somewhat familiar with noise maps it was broken down so effectively that I really gained an understanding and appreciation for the level of problem solving programers go through.
Definitely a very useful video to start learning terrain generation, it is very useful as an introduction. explains everything in a simple and visual way with examples.
I didn't get how different seeds create different worlds. Do seeds modify noises? And how do they do it to such extent that the difference of worlds continues all the way up to trillions of blocks?
To simplify it, noise is just a series of random numbers and seeds control what numbers are made. Imagine if 1 give you "2870", 2 give you "9311", 3 gives you "3832" and so on. But something like perlin noise creates random numbers in a controlled way, think of the numbers "1123243535746897892" they are random, but they slowly increase, it's controlled randomness. As for why it works for an infinite world, like the first set of numbers being "2870" you could create an infinitely long number with them, like 28707409328302.... the number is only as long as you want it to be, could be 10,000 numbers long or 50 trillion numbers long. You just need to use those numbers to control the height of terrain in a world.
I think of world seed as a series of possible dice rolls. The seed is chosen randomly, but that specific seed number always results in the same layout every time. Imagine if every move in a game of monopoly was listed and included in the sessions' name, so by reading the name you're replicating every variable that landed the game in that specific situation. That's basically what seed is. I remember first learning about this when I played _Age of Empires_ which had a similar, albeit simpler world gen in 2D.
I don't understand anything about coding or developing but i loved this video because Henrik explained everything in a fun way that anyone can enjoy it.
ปีที่แล้ว +1
I like how they recognize weird stuff around minecraft world is a thing and they go for it, incredible speech by the way.
I like this Chad joined Mojang Studios, completely fixed and changed the world generation making it so much more fun and cool, and then departed from Mojang.
The first part makes it seem like every chunk is being randomly generated as you explore it, but what actually happens is it uses the world seed to calculate what should be there, which is how one seed will always be the same
It’s almost like they were showing an example of a bad world generation method, and slowly adding on more factors to demonstrate how Minecraft’s terrain gen works
Even though there's a lot of positives to this new system I still sort of miss being able to find strange biome mixes, like old growth taiga next to mesa. I checked seed map and it's physically impossible now.
Mojang Headquarters: I want better and bigger Minecraft worlds. Mojang Developers: What about noise? Some more? Just a little more? Perfect. Very interesting to watch and learn/understand, time worth spent!
I play Minecraft a lot and I'm a developer, so this video is a jackpot for me. I would love to see him break down everything, including features and structures and also the Nether and End as well. Does anyone know, are there other talks on how these are generated?
Would be dope if it actually would change with real time weather data. So basically on an online server version! Or pehaps with your room temperatur offline through an extra device connection
I wonder how all of this would turn out if they also did a simulation pass. First you generate the environment like they did here, then you simulate erosion through weather, water and shift in continental plates for a few thousand (simulated) years. I've seen some videos on simulated erosion on voxel terrain and the results are mindblowing. Just search for "hydraulic erosion voxel terrain". They could also generate foliage instead of random through simulating growth and seed dispersion, animals walking through the forest, eating plants, sun exposure and so forth. I'm sure that would lead to more "real" feeling forests. Probably would be pretty slow during generation. But i'd love to see the results.
Just yesterday before finding this video in my recommended, I was looking at my modded (Oh The Biomes Youll Go mod on RAD 2) Minecraft world and wondered how you would go about changing the way Minecraft is generated while still keeping it somewhat realistic and flowing.
Very interesting. What's cool is that anybody interested in this kind of procedural generating should play around with Blender and creating materials and geometry nodes. The users there use all kinds of noises and algorithms to manipulate random generation of 3d models. It's quite a nice way of visualising these things and gives the brain a good stretch.
would have greatly appreciated how they used seeds to make their noise, perhaps one of ya'll can explain that to me? I know how to make blue noise / mean filter, but I don't know how to add seeds into it to be able to generate the same world again.
I wish we could have longer render distances by simplifying further away geometries It would be so cool to be able to see far and wide when standing on a mountaintop
just played a little bit of the redundance 2 modpack which had 64 chunks view distance as option. and it run surprisingly smooth compared to other modpacks I tried. I love minecraft for beeing able to see so far. doesnt need simplification with 64 chunks distance. try it
Asking the audience to stand up is a brilliant way to generate terrain!
LMAOOO
-He has to be at least 6 ft tall-
He needs to be at most an erosion of -.2 and be far inland
@@kipchickensoutlmao
that’s just random noise really
A really good look into the world of generation, I'm surprised this hasn't caught any traction.
Henrik Kniberg made his own TH-cam video that's essentially the contents of this presentation. That version has 100K views. th-cam.com/video/CSa5O6knuwI/w-d-xo.html
shock micro jumpscare
@@Xfrtrex boo
@@Treetrain1 TREETRAIN1 JUMPSCARE?!
@@Xfrtrex get scared
I really hope this was one of those recordings where the audience just isn't audible to the mic, because this was an incredible presentation and I hope he was getting all the little chuckles and stuff that he deserved, this was such a delightful watch
Fortunately it seems to be, since you couldn't hear the audience when they were asking questions
As a developer who has always dabbled a little in game development on my own time this is really interesting. And honestly one of the best explanations of Perlin noise I've come across.
But there was no explanation of perlin noise, was there?
@@nothappyzthere wasn't an explenation of how it's made, but there was an explanation of what it does
@@nothappyzperlin noise is publically accessible maths, it would be an utter waste to cover it here
@@terminalvelocity635 did I ever imply that?
@@nothappyzby saying there is no explination, you imply that you want an explanation... so... yes, you did imply it.
This was utterly mind boggling. So insanely clever
then if u add those realistic terrain generation mods.... i wonder how they are coded and interact with the normal terrain generation.
@@MiriadCalibrumAstar It's probably just a different configuration of values for the pre-existing terrain generation framework, and then some more condition checks like x biome can't be next to x biome or x terrain feature can't generate unless this value is x and whatnot.
Realistic terrain generation isn't that far off from the default terrain generation, which is what he said during the presentation, it's all based pretty much entirely off of these charts with basic number values.
@@Corzappy Thats quite true, ive theorized about it too. Though out of curiosity i want to know what kind of noises do they use and how are they implemented.
actually pretty simplistic, I was guessing trig waves and random noise would be used whilst watching and to my surprise they were.
don't wan't to be that guy but it's actually simple concepts
What is insane is that there were at least a dozen concepts that Henrik only briefly mentioned while offhandedly saying that those concepts would take an entire lecture to get into properly. Things like local water levels that generate aquifers, placement of terrain features and structures, how biome placement is tweaked in the code to allow for more natural biome transitions, etc. are all potentially really interesting topics (that probably are only interesting to a select few who play Minecraft and have an interest in how it works). I’m still amazed that Mojang was able to make this work in less than 18 months and that they were able to make it work on all the various platforms that the game is available. On a side note, now that Henrik has recovered from seeing everything in 5 dimensions, hopefully he will return to Mojang again one day.
The devil is totally in the details for this stuff. The basic terrain is the easy part.
Also not all these features were available in the initial release. This is many years and many snapshots surmised.
If you as a professional Developer within a large development team can barely achieve that within 18 months, then there's something wrong with your scheduling
@@luis-sophus-8227remember that the entirety of New Vegas was made in 18 months.
It would have been neat if he had mentioned a bit about the original style of cave generation which as far as I know is still present near the surface. I believe it uses a technique called Perlin Worms which is basically a random walk but using Perlin noise for more gradual movement. It would fit in quite well following on from the explanation of the overall terrain shape.
It's actually insane how while watching this I've had several moments where it all just clicks and terrain that I've seen 10,000 times before suddenly has meaning to it, like I understand how and why it generated that way instead of just going "Oh that's a weird little mountain, anyway.."
This a type of technique taught in most computer science and graphics since Perlin first published his noise formula, it's genuinely surprising you haven't seen similar things in the past.
Notably, nothing in this video is really that different from Minecraft's original terrain generation aside from the fjords. I was expecting them to have cubic chunks, some optimisation and more realism instead of a poor recreation of "real terrain" mods from over 10 years ago.
FYI most mods for Minecraft are open source, if you want to pay with this kind of thing, look there.
@@orbatosreliable cubic chunks would leave the sea of children crying for a content update
@@aiexzs yeah... they should improve what already exists in the game instead of making it bugier
@@orbatos not only that, but the fjords are terrible from a gameplay perspective and get old quickly anyway
@@shadesoftime Exactly. Exploration is really annoying until you get an elytra and fireworks.
this was a great talk. Henrik must have spent a lot of hours putting together all the footage of each step of the generation process
It shows that there is so much potential behind the terrain gen still. Like water placement + terrain offset variations creating lakes and rivers at different altitudes.
I've just been looking in to terrain generation and how to stack noise values. This explanation is absolutely wonderful to visually understand what does what and why.
as a consistent player I really want to see more spaghetti caves. Cheese caves are cool but a bit overwhelming when you see a ton of ores at once and they are on the cielling and talls walls that are not easily accessible. Not to mention the second you walk into a cheese cave you can see everything at once, a list of objectives trying to mine ores rather than blissfully exploring and coming across ores. Spaghetti caves are fun because you never know what your going to run into and when you come across an ore its easily accessible
I wonder if it’s a psychological thing. There still are inaccessible ores on the ceilings of spaghetti caves, but maybe they arent as noticeable since a spaghetti cave feels like a path and so you instinctively focus on the ground and walls around you.
Meanwhile a cheese cave is huge, kind of aimless at times, and anything can fall on you from above. You end up looking at the ceiling, the walls, everywhere more often.
Or maybe you completely light up your caves or use night vision. In those cases you aren’t going to have those biases.
And I guess theres a size factor thing. Spaghetti caves often are smaller (I have seen really tall ones before though, so not always) and so the ceiling is going to be easier to reach.
I'm personally a *huge* fan of the new cheese type caves, because I think they're beautiful.
@@iveharzingtrue. The caves are way more beautiful now. There's always that feeling of awe when it's a beautiful cave but of course some parts are still "traditional" which is nice and there's that feeling of familiarity.
I feel like all of the old caves were spaghetti caves.
I like the cheese caves, because they're very pretty to look at. My brightness and black balance on my screen isnt very high. So unless I use a night vision potion, I actually can't see the ores on the top of the cheese caves like you do. And even if I do see them, I ignore the ores unless its diamonds. So I just run around looking at the floor only. Spaghetti caves I look at the floor walls and ceiling since 1 torch will light up the whole section.
Seems like pretty simple but smart concepts implemented in a clever way.
I think you just encapsulated in 1 sentence, the proper approach to computer science.
@@log9705 All science really
For anyone curious, the number at 4:30 is one duodecillion six hundred and twenty undecillion
I got 1 undecullion 620 decillion
Jumped back into the game since last playing when ocelots were added. What a huge difference, the generation is so impressive. I flew for a couple hours in creative just exploring massive underground caves and rivers.
By far one of the most interesting lectures i've ever seen. just so amazed by how everything works in a game that i play since 2011
Awesome presentation! I am mind-blown also by the underground water generation ! It would be great to see another talk like this explaining how you did it :)
BTW that was on of the best representation of 5D grid ever seen ahaha
26:43 I really love that they wanted to preserve the wacky character of the old Minecraft world gen, but there’s something so majestic about Minecraft with realistic terrain. I almost wish it was an option in the settings
How does this only have 3k views?!?! That was the most interesting video i´ve ever seen
This has given me so much inspiration to continue with my own generation, i hit s bit of a landmark with terrain when trying to implement biomes, specifically i was trying to make biomes change the terrain, rsther than calculate the terrain and make the biomes go where the terrain fits, im going to try this out immediately, especially the splines thats a reslly clever way of terrain manipulation that i eould have never thought of!! Very good video and beautiful explanation 👍
I had the exact same mistake/issue haha, how'd yours end up going?
Specifically, I had been using unique splines for each biome which multiplied the terrain height, but this meant you had MASSIVE 'jumps' between biomes rather than smooth blending
minecraft should make us be able to mess up some generation settings in the world creation menu again
Yeah with how dynamic those 5 parameters are, it'd be cool to have access to it without mods.
27:56 I'd want this as a fun generation setting
Not first time I watch a video about terrain generation and perlin noise but this is really well explained and interesting, explaining well how many features generate. Saved for further reference!
It should be illegal just the fact that this has only 17K views! very underrated work!
This is amazing. Being both a long time minecraft fan and also an aspiring game developer, this just fills me with inspiration and admiration for those working on making videogames
One of the best explanations for procedural terrain that I have ever seen.
one of the most underrated undervoted video on yt
As someone who loves all things procedural, this was quite interesting and useful!
yeah I had a bit of a mindfuck moment when he spelled it - Procedular - in the slide @ 6:00 though
Seems like pretty simple but smart concepts implemented in a clever way.. I’d watch this for hours. Such a good presenter..
did you just copy a comment from 12 days ago, literally 2 comments away above yours? lol
@@lastyhopper2792 this is a bot, it took 2 short comments and combined them together. The first one being "Seems like pretty simple but smart concepts implemented in a clever way" by johannesr8709, and "I'd watch this for hours. Such a good presenter." by bsdetector837." It then replaced added full stops to both comments before combining them causing it to be, "Seems like pretty simple but smart concepts implemented in a clever way.. I’d watch this for hours. Such a good presenter.." instead of "Seems like pretty simple but smart concepts implemented in a clever way. I’d watch this for hours. Such a good presenter."
12:42 Can imagine a multiplayer game mode where you have to build a tower on one of the islands by mining islands around it to get material. There are bonuses randomly generated at random heights and then the goal at the certain height.
Let's not forget that for a short time, the simple player had pretty fine control of the terrain generation(1.12.2), nice to find out what those settings were doing.
It's a shame they removed that by the way. I don't play 1.12.2+ versions
Yes, I am disappointed they removed that. When I came back to Minecraft to play it with my son I found I could no longer tweak the world.. damn
As a computer science student I'm just watching this in awe, so inspiring! Thank you very much for sharing.
I watch lectures, videos, and talks about Minecraft terrain generation every year or two, and I always get something from it.
Finally a speaker that repeats the questions that were asked so we know what's going on.
Yeah, I love noise. Some good memories playing around with different noises in texture creation sandboxes and terrain generators. And I still use them in my compositing job, making animated movies look good or creating FX for them. Maybe to add some fine surface detail like grainy sand that wasn't in the actual render or using 3d noise as a force field for wind strength in a snow particle system.
Though with Minecraft, I'm still playing 1.12.2 for some mods I wouldn't want to play without and I use the Realistic Terrain Generation mod since I like my worlds more earth like than minecrafty with all it's weird floating noise bits. And I wish Minecraft had some more realistic terrain generation itself with tectonic plates and climate that follows the terrain shapes and climate bands instead of the random clouds. I currently use Geographicraft for that.
I'm surprised how much of this I've already done as a hobby, didn't think about splitting biomes up by continentalness though, I was instead trying to bias temperature and humidity with altitude, continentalness looks alot more controllable
I loved this, i would absolutely adore a whole lecture series that goes in-depth on (minecraft) procedural terrain gen, i love that particular combination of math, physics & gaming.
This is a 10/10 talk. Its both entertaining and a perfect explanation of the subject matter.
Also, 22:12 took me completely by surprise. Up to that point I was still looking at this as a generalized explanation of how to generate terrain like minecraft. But this is where I realized that he is just straight up explaining one of the core features of a game I have spent 1000s of hours playing.
I knew a decent amount of the compontents going in, but for example layering different noise maps to get realistic worlds was such a cool way to use them.
Adding different shapes, irregular tesselated geometries, distinct noise patterns for the variance of shapes and playing with different bits of physics are just many ways these concepts can clearly be used to generate infinite varieties of dynamically generated and immersive ige's for most genres. This video is incredibly broadminded and extremely interesting.
Great explanation, this man structured his presentation in a really interesting way !
This was really fascinating! I'm going to see all these details as I walk through Minecraft worlds now.
I’d watch this for hours. Such a good presenter.
As a near lifelong player I really enjoyed this insight into world gen!
So basically, Minecraft is a stellar masterpiece collection of ideas, formulas and codes. At least that's what it seemed to me as a civil engineer who strays away from coding apart from Excel spreadsheets.
Been doing some basic procedural generation, nice to see they also seem to be looking at desmos graphing calculator to visualyze there formulas :D
23:56 "...you don't need to write tons of code, you can move these dots around."
Oh man if only everything was THIS simple...
I never thought that a presentation was on TH-cam purely about the way minecraft generates it's terrain, and it is made by the person who made the minecraft terrain generation! Can't wait to use this on my own game! The way the "spaghetti" caves work is genius.
ive been researching for making my own game. so seeing a lower level of how my favorite game does it, is like Amazingly helpful.
This guy is a great presenter, very informative and entertaining lecture. Had my interest the whole way.
wow really? I thought he was a brainrot just for how many comparisons he made at the beginning haha
This concept of reviewing minecraft is so unique compared to others, very cool!
I'm thinking about how much smoother it can run with 3D chunks. Exciting questions and possibilities raised in here that made me think of potential mods up and coming programmers could try out for themselves.
Not much. Chunks are already split up into 16x16x16 cubes for rendering. If a chunk section isn't in view, it isn't rendered. And while generation eats a huge chunk of CPU time, it only matters the first time you move into range of those chunks. Then they are there.
Also, you have to think about calculation distance. You still want the wheat in your garden to grow when you're in the basement. Horizontally it's, by default, 192 blocks (12 chunks). If you were to apply this vertically, too, you'd have to climb some of the highest peaks for the lowest bit of the chunk to not be within it anymore. So there'd very rarely be any savings from doing that instead of calculating the whole chunk.
I'm mind blown by the fact we still use interlaced video today in a world with essentially no CRT TVs
I hope I'm not the only one who think this is really distracting?
It has uses
It's easier to send 60 half frames then 30 full frames
Atleast this is for cable TV stuff
This is the most interesting video I have watched in a long time. I only wish he had talked more about the parts that he said were too complicated, even if the video ended up being 3 hours long
I LOVE talks like this, where a very complicated concept is explained to noobies thanks to following step by step a very simple example that encompasses the bases of the subject at hand!
it's not enough to say that once you hit enough coldness, you get a savannah instead of a desert. Plants trap humidity, they make surroundings both colder & more humid. A way to generate this would be to have the humidity noise function be layered with a set function which will add steep rises/"jumps" at certain intervals, same for temperature. Then, adjust the biome determination fn
it'd make a rather large difference
Deserts can definitely border snowy mountain peaks, for example there's San Pedro de Atacama, Chile
Wait I thought this is Henrik's channel based on the description, but it's the conference's
It was incredibly revealing. Especially for someone who is learning to program and has had contact with minecraft, hats off!:)
I feel like I'm listening to a lesson in school but it's actually on something that interests me, both as a minecraft player and as a programmer
As somone thats tried to code minecraft clones in unity i would always get as far as terrain generation, 3d terrain and biomes but when it came to understanding plateaus and valleys, or even ravines i never truly understand how i could pull it off without just stamping a set structure into the generation. I now understand how i could implement the ravines and other things into the terrain generation. This was a very useful and helpful video for understanding terrain generation. Thank you
Having played minecraft for over 8 years and having watched maybe a yearsworth of youtube videos about minecraft and it's innerworkings, i am glad to say that i learned something, though i knew most of this.
4:35 it does have a name. That's 1.62 undecillion bytes, or 1.62 sextillion petabytes, or as they call it in the industry a universal ass ton of storage
Minecrafts terrain generator has always been the one feature that puts it above other survival games for me. Its insanely complicated, yet well tuned.
And it's still kinda meh compared to some modded ones
12:55 ngl that'd be a cool custom map with different islands having different stuff on them.
15:29 this would be so cool in desert biomes
I also think it would be cool if the sandstone in deserts went down deeper so you can get unique desert caves, maybe even a few new variants of current mobs in them.
amazing talk, great job! makes me appreciate minecraft even more
This is cool to watch, but my issue with vanilla gen remains, as the generation is still a bit too continental, and therefore aimless in a high scale perspective. Many will call bigger oceans a waste of space, but that's what gives purpose to continents in a first place. Looking at fanmade gens such as Terraforged I still believe that a lot can be done to make the world generation feel satisfying to explore.
Agree and disagree to a certain extent.
Current minecraft vanilla gen feels like the worst of both worlds in regards to terrain generation. Being too 'realistic' to allow for some of the more grand and mystical generation we got in the early versions (pre-adventure update) but not realistic enough to allow for generation to feel 'different' and unique. Or worth exploring.
Random/aimless works very well, again, looking at the earlier versions of the game. But only if it's truly random. And not so overly engineered and rule based that you always tend to get the same generation in the end.
In a certain way it's like stable diffusion/AI generated imagery. Give it too many prompts and you'll get the same image over and over again. Be more loose and restrained in your use of prompts, and you can get a much more interesting and unique output each time. Current minecraft world gen is both too restrictive to allow for everything to feel 'fresh' and different (it kind of all feels same-y) but at the same time the lack of continents or maybe 'tectonic biomes', leads to random blobs of terrain generation that, again, feel same-y in their generic randomness.
@@pagatryx5451 Yeah. Making generation more island-like would actually be amazing if paired with proper optimization, and it would be the way to make everything look distinctive. Sure, the water may feel empty but we could have a proper overhaul of how water biomes feel. Plus, it's a clear tendency for people to have better specs over time, so why not take advantage of that by optimizating it so we can make large render distances something worth it?
@@pagatryx5451Hmm, imo all the problems I had with the world gen were pretty much solved with the caves and clifs update (cellular automaton style biome placement etc)
@@ibisskb If they ever figure out how to use nanite, all of the performance will be put on the data side instead of the rendering side. Lighting might be wonky but it's still the best option.
@@ibisskb not everyone gets better specs every year, I still have my 5 year old pc and don't plan on upgrading anything anytime soon, minecraft is one of the only games i have problems with in newer updates.
The simplified terrain generation really created some cool and interesting terrains. i mean like i have never seen a lake like this 24:38 in minecraft. sure, there is some lakes but they are never as cool as this. i can just run this simplified terrain generation code without any additions like grass and trees, only stone, air and water and it will still be much more interesting than the current terrain generation. Man i can spend hours just looking at what kind of weird shapes this code will give me, unlike minecraft's more basic terrains (its ironic since this code is the "basic" version)
I think the "boringness" of minecraft's current generation is due to how much they have configured the noise, and how many rules they have set in place. It is still possible to see some really wacky generation like that in todays minecraft, but it is waaaaay rarer because of the fine tuning. If they were to unconfigure it a bit, their test chunks would look less like they want it to look like, but also allow for more wacky stuff to happen more often. The problem is balancing the tuning of generation of millions of worlds and their 100s (at most) of test worlds. It makes it very hard to tune it to allow for wacky and "fantasy" generation and also allow for the flatlands and mountains of consistent quality and consistency.
i remember a minecraft version where you were able to edit the world generation algorithm before creating a new world and i think this was a great feature... sadly it got removed with the next major update :c
I have never understood the values...
You can still do that in CubicChuncks mod.
I miss old customized and buffet.
At least they gave us a whole lot more with datapacks but its just not easy anymore.
Such an informative presentation and even though I was somewhat familiar with noise maps it was broken down so effectively that I really gained an understanding and appreciation for the level of problem solving programers go through.
What a great video! I play Minecraft and always wondered how the world was built. Now I know!
i watched all of this, was interested every step of the way
Definitely a very useful video to start learning terrain generation, it is very useful as an introduction. explains everything in a simple and visual way with examples.
The Hitchhiker's guide to the galaxy reference was a delightful surprise in such an interesting talk
I didn't get how different seeds create different worlds. Do seeds modify noises? And how do they do it to such extent that the difference of worlds continues all the way up to trillions of blocks?
To simplify it, noise is just a series of random numbers and seeds control what numbers are made. Imagine if 1 give you "2870", 2 give you "9311", 3 gives you "3832" and so on. But something like perlin noise creates random numbers in a controlled way, think of the numbers "1123243535746897892" they are random, but they slowly increase, it's controlled randomness.
As for why it works for an infinite world, like the first set of numbers being "2870" you could create an infinitely long number with them, like 28707409328302.... the number is only as long as you want it to be, could be 10,000 numbers long or 50 trillion numbers long. You just need to use those numbers to control the height of terrain in a world.
@@funnyvideohaha5337 then I guess I should look into how those noises actually work.
I think of world seed as a series of possible dice rolls. The seed is chosen randomly, but that specific seed number always results in the same layout every time.
Imagine if every move in a game of monopoly was listed and included in the sessions' name, so by reading the name you're replicating every variable that landed the game in that specific situation. That's basically what seed is.
I remember first learning about this when I played _Age of Empires_ which had a similar, albeit simpler world gen in 2D.
I don't understand anything about coding or developing but i loved this video because Henrik explained everything in a fun way that anyone can enjoy it.
I like how they recognize weird stuff around minecraft world is a thing and they go for it, incredible speech by the way.
Damn Henrick is just amazing!
I like this Chad joined Mojang Studios, completely fixed and changed the world generation making it so much more fun and cool, and then departed from Mojang.
he joined in 2011?
10:30 Looking at basalt delta terrain: "kind of a mess, right?"
The first part makes it seem like every chunk is being randomly generated as you explore it, but what actually happens is it uses the world seed to calculate what should be there, which is how one seed will always be the same
It’s almost like they were showing an example of a bad world generation method, and slowly adding on more factors to demonstrate how Minecraft’s terrain gen works
Even though there's a lot of positives to this new system I still sort of miss being able to find strange biome mixes, like old growth taiga next to mesa.
I checked seed map and it's physically impossible now.
Mojang Headquarters: I want better and bigger Minecraft worlds.
Mojang Developers: What about noise? Some more? Just a little more? Perfect.
Very interesting to watch and learn/understand, time worth spent!
omg this is phenomenal, cant wait for the next update
5:30 , would the limit of terrain generation for our universe have a greater velocity in its generation than that of light? IIRC that’s the fastest
I play Minecraft a lot and I'm a developer, so this video is a jackpot for me. I would love to see him break down everything, including features and structures and also the Nether and End as well. Does anyone know, are there other talks on how these are generated?
This is a fantastic video, thank you for sharing.
great presentation, technical minecraft videos like this catch my breath every time
Would be dope if it actually would change with real time weather data. So basically on an online server version! Or pehaps with your room temperatur offline through an extra device connection
Great idea for a mod too
This was awesome i woulda been cheering and whistling when he finished
I wonder how all of this would turn out if they also did a simulation pass.
First you generate the environment like they did here, then you simulate erosion through weather, water and shift in continental plates for a few thousand (simulated) years. I've seen some videos on simulated erosion on voxel terrain and the results are mindblowing. Just search for "hydraulic erosion voxel terrain".
They could also generate foliage instead of random through simulating growth and seed dispersion, animals walking through the forest, eating plants, sun exposure and so forth. I'm sure that would lead to more "real" feeling forests.
Probably would be pretty slow during generation. But i'd love to see the results.
Just yesterday before finding this video in my recommended, I was looking at my modded (Oh The Biomes Youll Go mod on RAD 2) Minecraft world and wondered how you would go about changing the way Minecraft is generated while still keeping it somewhat realistic and flowing.
YES YES I NEED THIS NEW WORLD GENERATION NOW
If you look at the views curve on the timeline of this video it looks a lot like Perlin noise.
please, do talk about how the chunks fit together, maybe in a future talk!
It just samples all the noises at a coordinate that's offset by the position of the chunk
Very interesting. What's cool is that anybody interested in this kind of procedural generating should play around with Blender and creating materials and geometry nodes. The users there use all kinds of noises and algorithms to manipulate random generation of 3d models. It's quite a nice way of visualising these things and gives the brain a good stretch.
Great talk :) It really made my day and expanded my perspective so... thank you a lot a lot like... really!
What a job you made friends! Thank for all this stuff with new versions
Fantastic video! I really liked it. You have done a very good job with your team.
fascinating. i've played minecraft since 2012(ish) and it's really cool to understand the process behind the worlds i play in!
would have greatly appreciated how they used seeds to make their noise, perhaps one of ya'll can explain that to me? I know how to make blue noise / mean filter, but I don't know how to add seeds into it to be able to generate the same world again.
Very interesting explanation of the world generation.
Thanks for the insights. Very cool.
I wish we could have longer render distances by simplifying further away geometries
It would be so cool to be able to see far and wide when standing on a mountaintop
just played a little bit of the redundance 2 modpack which had 64 chunks view distance as option. and it run surprisingly smooth compared to other modpacks I tried. I love minecraft for beeing able to see so far. doesnt need simplification with 64 chunks distance. try it
Instead they rewarded us with more lag
Theres a mod that does this called distant horizons
@@v496K ye, i have it rn but i would love it to be stock minecraft