Procedural Landmass Generation (E01: Introduction)

  Рет қаралды 1,064,563

Sebastian Lague

Sebastian Lague

Күн бұрын

Пікірлер: 387
@egoop
@egoop 3 жыл бұрын
Your lecture is not only technically excellent but also inspiring. At least for me, you will be remembered as one of the best artists of the 21st century.
@SuperchargedW12
@SuperchargedW12 3 жыл бұрын
Yeah. Look at his recent video. I watched it three times in awe of his extraordinary intellect.
@SandwichEmperor
@SandwichEmperor 2 жыл бұрын
XD best artist of 21st century LMAO
@lemonke8132
@lemonke8132 2 жыл бұрын
best artist of the 21st century 💀 chill dude we're only 22% of the way through it
@Kenjuudo
@Kenjuudo Жыл бұрын
@@lemonke8132 23%
@Riplatki
@Riplatki 10 ай бұрын
@@Kenjuudo24%*
@raslin2k
@raslin2k 8 ай бұрын
This video, around seven years ago, sparked my love of procedural generation, and even got me to start coding, wanting to fiddle with things. It popped up in my recommended feed and I just wanted to give some appreciation to Sebastian for helping me get into coding
@dmaasin23
@dmaasin23 3 жыл бұрын
Too many wasted searches to find procedural generation, until I found this treasure. Well done sir, it's very clear and understandable. I'm gonna implement this later.
@williamdowling7718
@williamdowling7718 3 жыл бұрын
This is the highest quality science concept/math/programming/simulation content on KZbin. Anyone who disagrees can fight me.
@PetersKotstube
@PetersKotstube 8 жыл бұрын
I think that's the best video rating I've ever seen on youtube. 1504 - 0
@weisss94
@weisss94 6 жыл бұрын
Was macht peterskotstube hier??
@paulob.d.1210
@paulob.d.1210 5 жыл бұрын
Peter? Wat maschst du den hir????????????????????????
@kyraaa__
@kyraaa__ 5 жыл бұрын
Help the Germans are coming!
@dataexpunged3914
@dataexpunged3914 5 жыл бұрын
Skycloud zu spät
@dataexpunged3914
@dataexpunged3914 5 жыл бұрын
verdammt wenig deutsche antworten hier.
@javiercalderonmarquez1181
@javiercalderonmarquez1181 8 жыл бұрын
This is one of the best tutorial series I've ever seen. Thank you so much for this useful information
@ulur
@ulur 3 жыл бұрын
By far the best video on KZbin about procedural landmass generation!
@upgames1313
@upgames1313 5 жыл бұрын
I remember watching this video over 2 years ago while starting to dabble in procedural generation. It opened my eyes how cool and amazing programming and math can be and I haven't looked back since. Thank you for this amazing piece of education and for inspiring me in my journey to learn programming. ps. it's my third time watching the series and I'm still learning more from it!
@lcarusLives
@lcarusLives 8 жыл бұрын
I am so hyped for this - hopefully I'll have the time to tag along with this series. Looking forward to it, cheers!
@karoel123
@karoel123 3 жыл бұрын
my teacher send me this playlist and now I have 2 weeks to implement this in opengl, wish me luck
@HeyItsBoofy
@HeyItsBoofy 3 жыл бұрын
so, how'd it go?
@aurk9956
@aurk9956 3 жыл бұрын
how'd it go
@nutme
@nutme 3 жыл бұрын
he ded
@G4M5T3R
@G4M5T3R 3 жыл бұрын
@@nutme F
@Someoneyeeted
@Someoneyeeted 3 жыл бұрын
@@nutme F
@adamarzo559
@adamarzo559 8 жыл бұрын
You always come through with high quality informative tutorials. Definitely one of the better Unity tutorial channels.
@eggseatpegs
@eggseatpegs 7 ай бұрын
8 years old and still a fantastic video
@Ctlyst0
@Ctlyst0 7 ай бұрын
just asking, does it still work in newer unity version?
@eggseatpegs
@eggseatpegs 7 ай бұрын
@@Ctlyst0 probably not so i just download the version he is using
@Ctlyst0
@Ctlyst0 7 ай бұрын
@eggzeatpeggz oh okay i see. I was currently on part 10 and so far so good
@SebastianLague
@SebastianLague 8 жыл бұрын
Hi everyone, I've just uploaded episode two: kzbin.info/www/bejne/jYGQc6BsarZgZ7s Also, on the off chance that anyone wishes to translate this video, you can do so here: kzbin.info_video?v=wbpMiKiSKm8
@pAULEE_wORLi
@pAULEE_wORLi 8 жыл бұрын
+Sebastian Lague thank you, i look forward to this ! and happy Chinese new year!
@mhmn9436
@mhmn9436 8 жыл бұрын
+Sebastian Lague I am sorry. I am so sorry... I had to be first.... There was no dislikes at all....
@timurb2107
@timurb2107 8 жыл бұрын
+ russian subtitles. Thank you for your awesome tutorials!
@programmer1up286
@programmer1up286 8 жыл бұрын
In this tutorial series, would it be possible to make the terrain appear on a sphere? I am trying to make procedural planets.
@luizmatthew1019
@luizmatthew1019 8 жыл бұрын
Should i know C# before starting this series?
@kristianthaler6525
@kristianthaler6525 3 жыл бұрын
That fly-over at the start with reflections on the water and all really made me want to learn. And your simplistic explanations are extremely helpful. A+
@Sycenx
@Sycenx 8 жыл бұрын
I never comment on videos, but these are so incredibly good that I have made an exception. Love it!
@N0tVen0s
@N0tVen0s 9 ай бұрын
Oh my god, man you are so cool, even after 8 years this tutorial is the best, thank you so much you are the best too)
@pandacommando3540
@pandacommando3540 5 жыл бұрын
This is by far the best explanation of heightmap noise I have ever seen. Thanks! :)
@ealy3545
@ealy3545 10 ай бұрын
great introduction. it's nice to see what exactly we are gonna do and get before we start instead of just jumping in a tutorial where you only see the result at the end.
@peteconquer
@peteconquer 7 жыл бұрын
This is one of the best tutorials ever.
@ineeda12step92
@ineeda12step92 3 жыл бұрын
Count me in on Patron. You produce superb tutorials and I very much appreciate you sharing your knowledge in a way that I can absorb. Please keep up the great work!
@clemguitarechal
@clemguitarechal 3 жыл бұрын
Most useful short video ever about noise !
@John-kl8jt
@John-kl8jt 5 жыл бұрын
Outstanding tutorial. Excellent knowledge of both programming and unity.
@EnricoPietrocola
@EnricoPietrocola 8 жыл бұрын
That's some signal processing theory explained perfectly in 3 minutes, can't wait for the other videos
@splintercat7gaming
@splintercat7gaming 5 жыл бұрын
This is a really good explanation of Perlin Noise. I had to research this on my own some months ago. This makes it seem so easy. Thanks.
@mj2068
@mj2068 8 жыл бұрын
awesome tutorial. i didn't get much education, but i always wanted to programming. lucky for me, with the mighty power of the internet and people like you, sir, Sebastian Lague, i think, my dream might come true. what do you say, my friend. :) (apologize for my poor English. big THANK YOU all the way from China. )
@medoingnerdstuff
@medoingnerdstuff Жыл бұрын
Just wanted to say thanks for this. It's brilliantly easy to follow and has helped me to understand why, when I followed other tutorials on the subject, things weren't working.
@iansarmiento23
@iansarmiento23 4 жыл бұрын
Dude, I've been researching Perkin noise and you just explained it like simple maths
@xXWhatzUpH8erzXx
@xXWhatzUpH8erzXx 8 жыл бұрын
Sebastian, you're by far the best KZbinr when it comes to making Unity tutorials. Anytime I see a new video on your channel, I get so pumped! You just post the best ideas.
@Dorbellprod
@Dorbellprod 3 жыл бұрын
No more Muck. Just follow and appreciate the tutorial series.
@conrad3o6
@conrad3o6 3 жыл бұрын
ayyy I've seen you before :D
@conrad3o6
@conrad3o6 3 жыл бұрын
and as a dani's basement staff i agree 😔
@Dorbellprod
@Dorbellprod 3 жыл бұрын
@Kesbot 306 😔😔😔 Anyway hello! :D
@SKRUBL0RD
@SKRUBL0RD 8 жыл бұрын
That was really informative. I thought Perlin Noise was above my head but you just explained it very well. Thanks!
@filipv4u
@filipv4u 8 жыл бұрын
Man I love all your tutorials you're spot on. I'm really looking forward to this one. I would also be really interested in how you would create biomes or caves and place trees or other items in the world, and what we can do to control the generation.Cheers!
@thecakeredux
@thecakeredux 4 жыл бұрын
It's been four years, but I can give you a quick, yet unspecific answer: As long as your algorithm is deterministic, you can use it to do whatever you like. Pathfinders, for example, can be used to generate caves, all you need is specify the condition that needs to be met in order for two points to be connected and what condition has to be met for the pathfinder to consider a point as an obstacle to get around, and you can generate caves. Biomes can be created, again, by perlin noise. There is no reason why perlin noise would only dictate height, it can just as well dictate biome.
@regfinley7111
@regfinley7111 2 жыл бұрын
Sorry this turned out to be a bit of a novel. So I started this tutorial about 2 or 3 years ago and nailed it! I cant say enough how much I appreciate it. I was a bit bummed out when I notice no water was included. A few years later I decided to tackle the issue my self and put it on the back burner (I got stuck). And dare I say I recently got it working but the only problem is the water is not effected by the lod system due to the Texture2D heightmap generation. So water in the distance is the same as up close which is a minor cost that I will have to pay ;). I kept a eye on the profiler and it runs at a consistent 60 to 100 frames on a 8gig laptop with a gtx960. The problem I was having was when the seams for the terrain mesh are stitched together. Long story short my solution was to duplicate the entire process then insert the word "water" to each script that was used for the mesh generation. I then used a water tile plane as the "mesh container" instead of generating a texture2d with perlin noise. :) I noticed that I was getting errors due to a HeighMap which I changed to WaterMap and it always returned null. And I couldn't figure it out until I commented out the if statement inside of UpdateTerrainChunk() which I changed to UpdateWaterChunk() at if (lodIndex != previousLODIndex) along with one of the last lines of the script at ThreadedDataRequester.RequestData So everything is visible and hidden when it is needed but the lod always stays the same. Not a huge deal as I am Ok with what is happening in the profiler. I realize this is a old tutorial but I don't care. Thank you! thank you! thank you! I will post a video on my personal channel if anyone is interested in seeing how I did it. :)
@TylerFerraro
@TylerFerraro 8 жыл бұрын
Your videos are always the perfect balance of theory/concept and actual code. Keep up the great work, looking forward to watching this series unfold.
@17devstudio3
@17devstudio3 8 жыл бұрын
That's exactly what I needed. Thank you
@ristolaukkanen5324
@ristolaukkanen5324 8 жыл бұрын
+17Dev Studio Same here
@Foub1234
@Foub1234 8 жыл бұрын
I watched your pathfinding series and was blown away. I am really excited for this series and hope to learn a lot on this subject so I can implement a feature like this in my current project
@Badders1977
@Badders1977 5 жыл бұрын
Absolutely fascinating. Thank you.
@Youshisu
@Youshisu 4 жыл бұрын
Dude, that was most practical use I have found on YT today :D
@mohamedsalbi2759
@mohamedsalbi2759 3 жыл бұрын
Omg man this guy is an angel to me
@mrpotato8196
@mrpotato8196 Жыл бұрын
soo many episodes o_o LOOKIN FORWARD TO IT! I got an idea to make a system in which you make your own noise map, step 1-Learn terrain generation Step 2- Find a way to make a custom noise map
@luisramosdev
@luisramosdev 8 жыл бұрын
Jesus, so well done! What a great explanation, can't wait for the next one!
@ZionistHunter99
@ZionistHunter99 8 жыл бұрын
im itching for this series...itching
@ezoray
@ezoray 2 жыл бұрын
This was a breeze to incorporate into my project, mucho thanks.
@GodVenn
@GodVenn 5 жыл бұрын
Your videos are really clear, well explained and interesting. I love them, please keep'em coming!
@MakeWithData
@MakeWithData 8 жыл бұрын
This is awesome! I really enjoyed the more mathematical analysis, and I can't wait for the next part!
@jairussorensen1526
@jairussorensen1526 2 жыл бұрын
For those of you wondering, this whole series still works in 2022.
@ChunkyPotatoGobrr
@ChunkyPotatoGobrr Жыл бұрын
thanks man legend
@justchuck8408
@justchuck8408 5 ай бұрын
still works in 2024
@vezmo7500
@vezmo7500 8 жыл бұрын
Nice! I was actually looking for Perlin noise for a camera shake pattern! This series will probably help me understand the theory about it
@aquavitale3551
@aquavitale3551 7 жыл бұрын
God I've been searching for such an advanced level tutorial for months! Thanks, mate, great course!
@wexoriann
@wexoriann 8 жыл бұрын
never thought that procedural generation works with this principle nice explanation, nice intro
@2011jiqbal
@2011jiqbal 8 жыл бұрын
wow.... u are such a good teacher... thank you so much for sharing this awesome post
@beepisinthezipper9503
@beepisinthezipper9503 8 жыл бұрын
Always wanted to know how to do this. Can't wait for more videos.
@eldenisrael1233
@eldenisrael1233 7 жыл бұрын
I come from china,Thank you for your course!Benefited from it,Thanks again。
@LoopCoupe
@LoopCoupe 3 жыл бұрын
Wow That Was Really Cool
@QuickFingersGames
@QuickFingersGames 8 жыл бұрын
really great job man, really clear voice recording, and a great explanation of what additional octaves do in proc gen, will be watching this series :)
@petrkassadinovich2705
@petrkassadinovich2705 8 жыл бұрын
Thank you Sebastian!
@NeilRoy
@NeilRoy 7 жыл бұрын
Very nice idea. It reminds me a lot of combining sound waves to produce different sound effects.
@tacopacopotato6619
@tacopacopotato6619 8 жыл бұрын
great video, youtube needs more stuff like yours
@IvanPaulovichDotNet
@IvanPaulovichDotNet 3 жыл бұрын
This series is so incredible, well explained, funny that I can't stop waiting for more. BTW I am using the ideas from here into a game made with Swift+Metal. Thank you!
@Strongfinger777
@Strongfinger777 Жыл бұрын
Important Things you should know before starting this Tutorial... 1. There are script changes missing in some of the videos that can cause you headaches. You will need the source code he provides in the notes to compare to your own from time to time. 2. He breaks the Falloff Map feature at the end when he reorganises all of his scripts. It no longer affects the terrain mesh. 3. Everything to do with textures in this tutorial will be useless for a lot of developers, because he hard codes his system to only use the One Shader we create during the lessons. And the Shader in question only supports Albedo maps. No Normal maps or Specular maps, like Roughness, leaving the textures looking very flat, boring and retro. EDIT: 4. He breaks the Terrain cleanup at the end too. He really should playtested his changes at the end.
@alrogast
@alrogast Жыл бұрын
Thanks for the warning. Excellent tutorials, based on them I made the generation of a limited world from chunks. But then I don't understand at all what to do with texturing the world. Could you give advice on which way to look, or there may be links to tutorials on texturing meshes. Thank you.
@Strongfinger777
@Strongfinger777 Жыл бұрын
@@alrogast No worries. Unfortunately I just stuck with one built in material with one texture with normal map and roughness, which you can still apply with this system. I just threw out all the texturing and the shader from this tutorial and plugged a preferred material into it, which will still work. But its only one texture over the whole landscape. It works fine for my game, because its set in hell and looks all volcanic, but unfortunately for an earth like world its not appropriate. I tried adding normal map support Sebastians very basic shader, but I couldnt figure it out. Sorry m8. I dont know what else to try. Hollistic 3D has a couple of tutorials that uses a very similar technique for texturing, but its for actual Unity Terrain, not anything else. But at least it had normal map support. :) Oh, another thing Sebastian breaks at the end is the terrain cleanup. Bits start getting left behind again. I dont why he didnt playtest the play mode at the end. Programmers should never assume their code is just going work.
@animusqt
@animusqt 8 жыл бұрын
this is great always like watching ur tutorial videos cant wait for it
@chewysnipes6376
@chewysnipes6376 4 жыл бұрын
Thank you very much for your tutorials on this subject. The subject matter was great; the presentation was ok. You move very quickly through some topics, often deleting or renaming code in less than a second and immediately scrolling away from what you just did, which makes coding along with you rather tedious, with having to stop and rewind the video to see what you had just done. But all-in-all, a very good tutorial for beginners, and I will continue to follow you to see what else you might come up with. Thanks again.
@TheGamerzXChannel
@TheGamerzXChannel 8 жыл бұрын
Awesome! Keep them short and stuffed with information!
@xylonbeta4517
@xylonbeta4517 6 жыл бұрын
very informative, always wondered what happened behind the scenes of these fractal landmass generators. Now, to add small tectonic "history" to it
@Pumpk1nGn4t
@Pumpk1nGn4t 2 жыл бұрын
This video : Exist Dani : D O N T M I N D I F I D O
@BastienGIAFFERI
@BastienGIAFFERI 8 жыл бұрын
Another awesome tutuorials/courses incomming !
@migueld7916
@migueld7916 8 жыл бұрын
That's exactly what I was looking for! Subscribed!
@bennet4213
@bennet4213 8 жыл бұрын
You have the best Tutorials Man , Thanks For The Good Work :)
@sanspressions
@sanspressions 6 жыл бұрын
Merci beaucoup Sebastian
@indoxperia
@indoxperia 8 жыл бұрын
Really cool tutorial series
@kalixzee7505
@kalixzee7505 2 жыл бұрын
I was super inspired to start going through this series and after watching this video I decided I need to go and learn more about curves. I remember briefly talking about Amplitude and Octaves in high school. But it's been a while and all these terms are confusing me. You have an excellent teaching style though. I'm afraid I'm just a bit behind.
@lordlutti4715
@lordlutti4715 8 жыл бұрын
this is very interesting and helpful! I cant wait for the next video! really great stuff!!
@alek3474
@alek3474 4 жыл бұрын
Very good explanation
@ConnorMoody
@ConnorMoody 8 жыл бұрын
Love what you're doing, keep up the good work Sebastian! :)
@darkscorpio8166
@darkscorpio8166 5 жыл бұрын
these graphics are amazing I wanna play this
@77DragonSlayer95
@77DragonSlayer95 3 жыл бұрын
Thank You VERY MUCH for putting French Subtitles !!! My English is not good enough yet for me to catch every specific terms related to programming.
@Owl90
@Owl90 2 жыл бұрын
Amazing content. Thank you!
@AaronTheGerman
@AaronTheGerman 8 жыл бұрын
I can't wait for the next part!
@riguidixrodriguez1090
@riguidixrodriguez1090 5 жыл бұрын
It's an amazing concept of logic and sense of the world, this is what i love Programming, i gladly thank you for giving "purpose" to a little dizzy head xD, i would take Oriented Object and try all the concepts i can know in m daily basics.
@dionbridger5944
@dionbridger5944 5 жыл бұрын
Excellent stuff
@NotPalliot
@NotPalliot Жыл бұрын
Cool! Now to figure out how to add this to my game
@Siausalas
@Siausalas 8 жыл бұрын
Awesome video!
@perhaps5739
@perhaps5739 2 жыл бұрын
untill then, cheers! me watching this 6y after it was released: oh boy I can't wait
@GregoryTheGr8ster
@GregoryTheGr8ster 4 жыл бұрын
I was messin' with this subject in 1994. Sadly, the AI that my game needed was an insurmountable challenge, so I abandoned it. Still, I regret that I did not continue to work on the terrain generation feature. Also, I realized that if I want truly natural terrain, I'd need to become a geologist. I'd need to know densities and other physical properties of the Earth's crust, and also the forces that act upon the crust. That would be a big task.
@geekygamer3954
@geekygamer3954 4 жыл бұрын
If anyone needs help with understanding this video, try ignoring the red graph. Imagine each octave layer as separate land generations. all that's happening is it's adding the value from the graph, onto the main grid. and the "lacularity" is how much each value is. and each curve. is how much the value goes down. the more curves, the less impact it has because when you hit enough curves, it balances out and becomes an average value. note: lacularity also scales down the graph. so basically its like you're compressing a spring. laid out, the spring is very long and can go very up or down, but compressed it becomes a straight line. persistance is just the multiplier. it multiplies how much each value occurs. it takes the coil, and repeats it. for example, if you have the number 16. with default layering, the single square value is (x + 16). with persistance, it's (x + y(16)) you multiply the 16 by the persistance.
@geekygamer3954
@geekygamer3954 4 жыл бұрын
for basic understanding (without persistance or lacularity), the graphs are litterally added together. combining the graph: y1 + y2. take the first graph's value and add it to the second graph value. it's supposed to represent the graph getting darker as it gets closed to 1.
@BurakkuHishou
@BurakkuHishou 5 жыл бұрын
Just picked up Quixel mixer and i noticed these on there. It's great to finally have a way to understand each value.
@KaletheQuick
@KaletheQuick 8 жыл бұрын
Perfect. just what I was looking for.
@jantomasek9280
@jantomasek9280 5 жыл бұрын
Thank you very much.
@Manas-co8wl
@Manas-co8wl 5 жыл бұрын
Cool. Bookmarking this one
@Shorkiedokey
@Shorkiedokey 8 жыл бұрын
Awesome video
@romanstercken4166
@romanstercken4166 7 жыл бұрын
Thanks for the great tutorial. If the game I intend to make ends up making money, I'll definitly come back to your Patreon page. :) Right now, I'm a broke student, sorry. :P
@nolan__c9562
@nolan__c9562 4 жыл бұрын
This guy has a similar art style to astroneer, cool!
@fletcherst-germain6608
@fletcherst-germain6608 8 жыл бұрын
Looks awesome
@dougwarner59
@dougwarner59 6 жыл бұрын
Even though you never explicitly said so; I assume that persistence should be less than one and Lacunarity should be greater than one to obtain the desired results. Anyway great video and I can't wait to learn more.
@mictoonanimation8852
@mictoonanimation8852 2 жыл бұрын
Dani: *Presses Crl C Crl V*
@Xelvielll
@Xelvielll 6 жыл бұрын
You are now my God, and I shall worship you and pay tribute to your altar.
@thatchipmunksings
@thatchipmunksings 4 жыл бұрын
High quality!
@a7medgameryt349
@a7medgameryt349 3 жыл бұрын
Thx to seb and abdullah for the arabic captions (cc) :)
@RudraGames
@RudraGames 8 жыл бұрын
wow .. this is a amazing job!
@Chance_POV
@Chance_POV Жыл бұрын
such a good video
@Kolinnor
@Kolinnor 7 жыл бұрын
That was amazing ! Thanks
@kathbe
@kathbe 8 жыл бұрын
I wish they taught us that in school!
Procedural Landmass Generation (E02: Noise Map)
15:14
Sebastian Lague
Рет қаралды 637 М.
Much bigger simulation, AIs learn Phalanx
29:13
Pezzza's Work
Рет қаралды 2,8 МЛН
Lazy days…
00:24
Anwar Jibawi
Рет қаралды 6 МЛН
МЕНЯ УКУСИЛ ПАУК #shorts
00:23
Паша Осадчий
Рет қаралды 5 МЛН
The Ultimate Sausage Prank! Watch Their Reactions 😂🌭 #Unexpected
00:17
La La Life Shorts
Рет қаралды 8 МЛН
Better Mountain Generators That Aren't Perlin Noise or Erosion
18:09
Josh's Channel
Рет қаралды 418 М.
Elementary school homework in China
9:08
MindYourDecisions
Рет қаралды 59 М.
A new way to generate worlds (stitched WFC)
10:51
Watt Designs
Рет қаралды 542 М.
How Minecraft ACTUALLY Works 💎⛏️
46:02
Alan Zucconi
Рет қаралды 1,6 МЛН
I Went Too Fast
16:24
SuperfastMatt
Рет қаралды 487 М.
Делаю процедурную генерацию в Unity
13:15
Minecraft terrain generation in a nutshell
25:49
Henrik Kniberg
Рет қаралды 161 М.
How do non-euclidean games work? | Bitwise
14:19
DigiDigger
Рет қаралды 2,4 МЛН
A simple procedural animation technique
8:31
argonaut
Рет қаралды 484 М.
Lazy days…
00:24
Anwar Jibawi
Рет қаралды 6 МЛН