How I Learned Procedural Generation
Vložit
- čas přidán 31. 05. 2024
- In this video, I build a complete procedural low poly terrain generator from scratch. I also dive into shader graph to create a skybox, terrain, and stylized water shader. This is the second installment of my game dev journey.
---- ⭐ Use this Playlist for the tutorials I used in this video ⭐ ----
• Procedural Generation ...
---- Tutorials I referenced in this video ----
- MESH GENERATION in Unity - Basics
- PROCEDURAL TERRAIN in Unity! - Mesh Generation
- MESH COLOR in Unity - Terrain Generation
- Procedural Terrain Generation - Sebastion Lague
- Basics of Shader Graph - Unity Tutorial
- How to make a Gradient Skybox with Stars in Unity | Shader Graph Unity\
- Procedural Skybox Shader with Clouds in Unity With URP Shader Graph! ✔️ 2020.3 | Game Dev Tutorial
- SIMPLE CARTOON WATER in Unity
- 3D Stylized Water with Refraction and Foam Shader Graph - Unity Tutorial
- How to make a low poly tree in Blender 2.8
- How to Randomly Generate Levels (and Islands)
- "STYLIZED" GRASS - GIMP TO UNITY IN 7 MINUTES - Game Asset Creation
- GRASS SWAY in Unity - SHADER GRAPH
---- Articles ----
Sphere UV Article - Creating a procedural skybox in Unity's Shader Graph
/ procedural-skybox-shader
---- Previous Episode ----
Building a Satisfying FPS Controller in Unity | Devlog
• How I Made a Satisfyin...
VIDEO CHAPTERS
00:00 Intro
00:27 Terrain Generation
02:01 Coloring the Terrain
02:48 Diving into Shaders
03:26 Creating Vegetation
04:44 Exploring the Island
All the tutorials I used are in this playlist. Thanks for watching :)
czcams.com/play/PLrMEhC9sAD1zprGu_lphl3cQSS3uFIXA9.html
Thank you for linking the tutorials you followed in the description. It feels like a lot of CZcams Dev Logs that discuss following a tutorial to do something never provide a links to the tutorials they watched.
@@DakotaRileyMedia Of course! I think that's one of my goals. Instead of just working on a game and only showing people my progress, I want to be a good resource for anyone wanting to learn game dev by providing all the tutorials that I used.
I learned so much from this video and your last video.
Thank you.
@@bingchilling989 thanks for letting me know! If these videos really help people, then my time is worth it. :’)
@@Lejynn Amen.
I really like how you describe the learning process you're going through and what resources you're using. Thank you very much for making this.
Thanks, you're very welcome!
this devlog is so much better than your previous one! i learned alot about terrain generation, great video!
Thanks! I really appreciate it. I am glad you learned some stuff from it. It's pretty hard as the creator to tell if I am explaining things well enough. xP
this is an insanely well made video. I've been binging gamedev videos for about 2 weeks now but I think I'm finally ready to actually make the plunge.
You should do it! Game dev is a lot of fun.
I keep trying to plunge but keep forgetting how to swim properly. Right now, I'm just doing whatever which includes Procedural Generation. I just want to see cool custom AI I'll be making fight each other but with like a lot of nuance.
I love this, you describe your approach to learning the concepts necessary, reference and credit the CZcamsrs and videos/series that allowed you to learn these concepts quickly, point out mistakes and fix them (shows you really pay attention to the videos and what you're taught), and best of all you show the code to make these things work.
Honestly very humble, many people keep these solutions to themselves to hold an advantage against competitors. I appreciate your approach :)
I am absolutely in love with your devlogs! I am very new to unity and these devlogs really motivate me to start making my own little projects. Keep up these great videos, i can't wait to see how this all will turn out!
You should! I’m finding these small projects are the perfect way to learn game dev. I appreciate the support! :)
I really enjoy how you explained the learning process you are going through and what resources you are utilizing. Thanks extremely much for creating this!
You're very welcome!
Awesome devlog dude, I love how its a hybrid between working on your game and you showcasing how you learned it
Thanks dude! I enjoy having the devlogs also be educational so that it provides more value for people wanting to learn too. :D
Amazing video! I’ve been working on very similar projects going through all the same tutorials. I love how you explain what combinations of what tutorials you referenced in order to get what information you needed to learn, very helpful. You deserve way more views!
Thanks! I am glad people are finding my references useful. My goal is to make sure people can follow along on the game dev journey if they choose to. How do you like Unity so far?
At first i related so much, but then your learning curve just grew exponentailly. Your Game looks amazing and this gives me motivation to try to improve myself in terms of Game Development. Keep up the good work, im looking forward to your next videos!
Thanks, I really appreciate it! I think if you to watch the same videos that I linked in the playlist, you would grow exponentially as well. Glad I motivated you. Keep it up! I will have more videos for you soon. :)
This is excellent! Really nice devlog and the cloud shader looks so cool
Thanks Tyler! I really appreciate it. :)
Tyler's right, this IS excellent! I just finished Sebastian's tutorials with Shader Graph using some of your suggestions (thank you!). I have solid colors working, but do you know of a tutorial that blends between textures like Sebastian eventually does in his tutorials? Either way, thanks again for this!
holy damn, such a great video, the spacing of the subjects, the problems u ran into, the solutions, the visuals, the explanation, good job mate!
Thanks, I’m glad you like the structure of the video. :)
You've got yourself another sub. I love seeing other beginner indies working on their stuff. I come at it from the art side so there's a lot of confusion when I try to understand how any code works. I'm glad my partner is working on that side and being slightly less confused.
Keep up the good work.
Thanks for the sub! Honestly, I wish I had more skills to create things on the art side. What kind of games have you made with your partner?
Incredible, from the presentation to the content. Is a shame is only 5 minutes I could watch so much more. Keep up the good work!!
These types of comments are the best. Thank you! :)
wicked stuff man, love how you put your own twist on systems you found, i love the procedural generation in rust which has sent me into a bit of the rabbit hole of the subject, I'm wanting to implement it into my own survival style game. Keep it up !
Glad you enjoyed! And I am glad you noticed that although I use a lot of resources to learn, I definitely spend the time to understand it and make the code my own.
We both fell down the same rabbit hole. Rust has inspired me to learn these topics as well. Now the next then I want to recreate from Rust is its building system.
I was so shocked to see this is only your second video I’d so love to see more!
Thanks Joshua! I am shocked that my first two videos are performing better than I could imagine. I thought I would be uploading videos for a year before gaining traction. But, CZcams has proven me wrong. I will for sure be making more videos. :)
dang this video is perfect! Teaches you not only what you learned but how you learned it. Thanks!
I like this style of devlog. I can see how you learnt it and learn it myself :D it's really inspiring and gives me something to go off of for my journey too!
That's exactly why I do it. So that you guys can learn too. Good luck on your journey!
Ayy I am glad u found my grass tutorial helpfull, the project looks amazing
What up Single Sapling games! Your tutorial was clutch.
@@Lejynn yes just popped up in my recommended. CZcams is doing its thing
@@SingleSapling That's awesome. It must've been a nice surprise to see your video pop up on the screen. xP
This is really cool to see because I’m about to start thinking about terrains in my FPS game and yours look very nice! Really love the stylization. One quick tip is that I noticed sometimes the weapon looks a little long on screen from this perspective. If it’s something you agree with, one solution is to render weapons/arms on a second camera and set its FOV lower so the gun looks close. This also helps later so that if you change the FOV when sprinting the weapons won’t also become distorted. Great video I subbed!
Yeah, I noticed the weapon being super long after I uploaded the video. xP I was too focused on the terrain to see that changing the FOV messed up my gun placement. I have played with rendering the gun in a separate camera. This also helps with the gun clipping through walls. But then my gun no longer reacts to the environment shadows. Were you able to fix that? Thanks, I appreciate the sub!
Hey! I just stumbled upon this and I think what you've managed to build so far by just using tutorials is really cool! Shaders can be quite daunting at first, but once you're past that first step, the learning curve is definitely more manageable than you'd expect.
I also make devlogs and gamedev content, so I love exploring this corner of CZcams to see what awesome stuff other devs are creating to help keep myself motivated. I really look forward to seeing how your FPS game evolves!
Subscribed :)
Thanks for letting me know! So far I have been really liking shaders but I can tell there is a lot to still learn about them.
I'll make sure to check your channel out. Thanks for the sub. :)
Awesome video! Wow the procedural generated island looks super impressive. The tree placements and island's colouring looks awesome. Also the the sky looks kool as well. Keep it up! :)
Thanks! I am glad you like the different bits that make up the island. I can't wait to expand on this project more. :)
This looks great and is really informative, btw. thank you for recommending tutorials!
Keep up the good work dude!
Glad you like the video! More videos like this coming soon. :)
Hey man, I really appreciate the video! It was definitely nice to see where the game dev journey can go, if you keep at it! Definitely inspires me to keep going. I would be interested to see some of these videos you list in your videos in the playlists section of your channel. I'm sure you're pretty busy, but I think it would go a long way! Thanks again!!!
Really good suggestion! I went ahead and made those playlists. I also have all the videos listed in the description. I hope you continue your game dev journey. Thank you! :)
Fantastic video, I love how you include all the videos you learned from.
Thanks! It gives the devlog extra value. Not only do you see my learning process, but you can use those resources for yourself as well. :)
Great video mate. Looking forward to seeing what new stuff you come up with
Thanks, I appreciate it! :)
Bro you’re mf insane ☠️ The fact that you were able to do all of this in such a short amount of time from nothing but tutorial videos is impressive. The passion, dedication, and brain this requires is wild. Great vid and keep up the amazing work 🙌🏾🙌🏾
Glad to be part of the first 300, great video!
You're officially part of my day one gang. Thanks for subbing! :)
This project is coming along very nicely!
Thank you! I appreciate it.
Great video!! Enjoyed watching it from start to end. 🙌
Thanks, I appreciate you watching the full video! :)
Thank you so much, the placement generator was very helpful.!
a very informative and fun to watch video condensed into 5 minutes! Really cool!
Thanks Joe! I am glad you liked it.
Nearly died when I saw you only have 600 subs, the quality of your video is insane! Thought you'd be in the hundreds of thousands sub range! Defos subbing and looking forward to exploring your channel and seeing all your content!
If you came few days earlier, I think you might of actually died. xP I was around the 300 sub range. Thanks for the sub! I really appreciate it.
This video gave so much idea on how to go about making a procedural island and this doesn't only work in Unity but also in Godot...basically any game engine i think. THANK YOU SO MUCH! now i can on go work on my game
You're welcome! I hope it works out well for you in Godot. Once you understand the concept, you can implement procedural generation anywhere. :D
You are very cool, man! Good luck with your game!
Love the video dude, hope to see more from you!
Thanks, There will be more coming! :)
Thx for the work, this is really helpful. 🙏
Awesome work! Excited for the next ones :D
Thanks! I am excited to see what else I learn this year as well :D
Your inclusion of all the tutorials you used got a sub from me. Awesome way to share the knowledge
Thanks, I appreciate the sub! :)
I loved this and very inspiring. Underrated.
Thanks Seth! I am glad you liked it. :)
Lol I think it’s so funny how I’ve already watched all the videos you’ve mentioned. I think your project is looking super cool!
Thanks! Did you end up making a project on procedural generation as well?
This video really shows that we can learn so much just from yt tutorials
Great content ma man
Thanks! CZcams is a great resource. There was never a better time to learn game dev. :)
You're awesome man, great job.
As a future game dev I just love the videos you made so far, I will keep an eye on this channel. 10/10
Awesome! Hopefully my videos will help you on your game dev journey. :)
Awesome video, I'm ready for the next one!
You're in luck, a new one just dropped today. :D
Wow, this are the types of videos that I really love. You need more subscribers!
Thanks! I am super stoked by the amount of subscribers I was able to get so far. But I can't wait to see what the future holds.
Amazing video! Keep up the work 👍
Thanks! Will do. :)
thanks fir referring all the tutorials. I have discovered the brackley's but did not have the sebestians. good luck with your projects
Thanks agnarzb! Sebastian is a super valuable resource. I also like to watch Game Dev Guide and Code Monkey. Good luck with your projects as well.
Ty for putting all the sources you used in vid
Of course! I also made a playlist on my channel to make things easier. :)
Great way you described your learning process!
Appreciate it Luca!
Amazing video!I really love this!
Thanks Pi Pi! I appreciate it.
Thank you soooo much for showing the tutorials you followed < 3
Of course! I also have a playlist for those tutorials if that helps you as well. :)
This is super cool! Thanks for your super amazing and righteous perspective! I'm inspired by you!!!!! :D
Awesome! Glad I could inspire you. :D
i dont understand why but for some reason youtube decided to actually recommend for the first time a new youtuber to me and im super happy that its actually a good channel that makes unity videos
The CZcams Algorithm is doing me big favors.
SUPER helpful! Thank you!!
You're welcome! Glad it was helpful.
Saved my day, it's all I want to do for my game, thanks! :D
Please keep going, PLEASE, this is top tier content
Thanks, don't worry! I will definitely be making more videos.
Nice video. It helped me figure out my problem with the equations in the noise script. Thought i figured that the lacunarity does not work as intended with you corrections because to they are multiplied with the offsets. So the offset should be added last :)
Ayeeeee, glad I was able to help someone with that problem. :)
There's so much to learn from these, so thank you for putting this out there! Good luck on your game I'm definitely subbing!
Of course! Thanks SnakeF8, I appreciate the sub. :)
Hey! This was a very great video! Keep it up!
Thanks Bambusz01!
Keep uploading my man
Thanks ze Ye, more projects are coming for sure.
Hey. I would like to know how do you handle the Shader error in 'Shader Graphs/test': 'PReferenceFragment': cannot convert from 'struct v2f surf' to 'struct SurfaceDescription' ? I've been trugling about this error for sometimes now
Really cool video!
Thanks!
really cool, thanks for sharing
You're welcome. :)
Inspirational video !
Thanks, glad you liked it! :)
My dude- inspiration has been found thank you
You're welcome! :)
love how u put the video's in description (:
Thanks, I have to make sure people are able to find them. :)
just like WOW, amazing work
Glad you think so!
Man you really progressed!
Thanks! You actually had a big role in this video being made. You were one of the first to comment on my last video which really gave me the motivation to tackle Procedural Generation. lol
I can’t wait for the next video about the game
Thanks, I hope to get more videos out soon. :)
WOW Nice Video. I watched the mentioned tutorial by Sebastian yesterday. I can relate on 1:12
First, like others have said great video and really shows how a developer normally works. We all use CZcams videos from people in the know, stack overflow for the code complexities and put it all together to create/develop what we are trying for. Your video shows this well and love you style. Good Luck with future videos.
One questions, how hard was it to get Sebastian's terrain generator to work with LRP and shadergraph? - That's what I'm about to do but wondering where to even start!
Thanks Andy! I think any mesh you generate whether that be Brackey's or Sebastian's, it will work well with Shadergraph. Once you have a mesh, you can easily setup the Renderer component to use your shader. Shader's are still a bit tricky for me, but there's a lot of tutorials on CZcams. Like you said, as a developer, we must first learn the complexities from others before we are able to put it together ourselves. :) Good luck with your journey.
Awesome videos man I really wanna make videos like these!
Omg it's Plai. xD Honestly, your videos are pretty great already. I've definitely seen your channel before. I planned on doing a wall running type of game in the future so I hope you don't mind if I shout out your playlist. :)
@@Lejynn Yea I don't mind at all. Although, you should probably not use the exact same code because it's very bad 😅
Looks good dude.
Thanks, I appreciate it!
bro i love your videos please keep going
Thanks bro! Will do.
Great video!
Thanks! :)
hey thank you for showing the resources you use, very cool :)
No problem! :)
Thanks, very interesting !!
Glad you liked it!
Love the video! I suggest you should make the grass color the same as the ground green, hope this was useful
Thanks, it’s pretty dark because of the lighting. But I‘ll try to fix it in the next video. :)
My first thought when I started this video was "Okay, so he just plugged in a bunch of code from other CZcamsrs who I'm familiar with."
That was sort of a turn off for me, almost felt like a cop out. Then I just kept watching, and I realized something:
You're perfectly mirroring the process that I use when I'm trying to learn something in this space (game development and programmatic visual effects). You even use the same channels that I do!
I would rename this video to "How to Learn How to Generate Procedural Terrain". And that would be _awesome_! A lot of CZcams educational content is about learning a specific concept, but you're teaching something in this video that is even more important: you're teaching people how to learn.
Anyway, great video, I'm really glad I didn't click away! Consider me subscribed.
I am glad you didn't click away! You definitely nailed the value of these videos. These devlogs are to show every step that I took while on my journey of learning game dev and Unity. But this also helps others because it teaches them how to learn (like you said) and it also paints a path of what videos people can watch to produce similar results to what I have.
I appreciate the sub! I am glad you gave the video a chance. :)
Bruh dope! Subbed
Thanks! I appreciate the sub.
Get it so the grass color matches the terrain underneath, there's so documentation about from a grass asset pack that was helpful for me. Good luck
Thanks! A lot of people have been giving me tips on the grass. So hopefully I can make it better next time. :)
Very interesting content and entertaining video. Will follow you to see what you do next!
Thanks, I appreciate it! I hope you will be happy with my future projects. :)
I loved this devlog
I loved this comment
that was really cool
Thank you!
Oh, i really just commented two times because i watched the video multiple times and I thought I didn't comment
Very good video! Keep up with the good work, will try to use it as a strating point to learn procedural generation too! +1 Followers :D
Thank You! I hope the videos I referenced helps you a lot. Best of luck! :)
Thanks for ur content, lost some Motivation to go on with my unity course.hahah
After seeing ur last vid, i decided to pick it up again
I am glad I was able to help you find your motivation again! :) Definitely keep at it with that unity course. I think what helps me is by keeping these projects small for now. If I have too big of a goal, I will feel like I am not making any progress and would lose motivation as well.
this is great! the explanations of how it works and the steps you took are very nicely put together. is there a discord server for your youtube?
Thanks! I'm still super new to CZcams. So right now I am just trying to focus on making videos. But eventually I will create a discord for the channel. :)
great vid really enjoyed it. im guessing your adding your water manually? with planes ?
Yuhp! You guessed it exactly. I used a plane then added my shader to it.
great video ty a lot
Glad you enjoyed it.
How did you add a collider to the mesh? I am trying to use a raycast to place trees but the raycasts aren't hitting the terrain.
I added a “MeshCollider” component. It worked pretty well out of the box.
Cool stuff, I subscribed
Your name gave me a good laugh. Thanks Jun & Tonic xP
@@Lejynn haha glad someone gets my humor here XD
Most impressive!! :D
Thanks a lot! :D
Find your channel today and its really good
Nice!
Thanks Kiyan!
oh my god, so it wasnt me after all
I destinctly remember having the exact same problem with sebs noise generator as you did, but I wasnt able to fix it.
Thank you lmao
I thought it was me too but I followed his tutorials twice and still ended up with that weird bug!
Haha, took me hours to fix it but glad I finally figured it out and that it at least helped one person.
nice! i would recommend making the grass the color of the ground and let the color fade to a slightly brighter color at the top, right now it looks just a little bit jarring. good work!
Honestly, this is a really good tip! Thanks, I will change that for next time.
Excellent work! Thank you for sharing! Can I ask, where where did you ref your new falloff generator to get it to work??
Wow this is a really great video. I know that you probably spent alot of time doing research, but I cant find any good new videos explaining how shader graph position nodes work. They just say aton of random nonsense and show you how to do really specific things, but ive never been able to use them by myself.
You should check out this playlist from Ben Cloward. czcams.com/play/PL78XDi0TS4lEBWa2Hpzg2SRC5njCcKydl.html. This is the best one I found so far that goes over the basics of shader graph. But I can definitely relate with what you’re saying. Most of the tutorials I found before this one gave us a fish instead of teaching us how to fish.
@@Lejynn So true! Thank you such more for this!
How did you combine the noise system to the shader? Did you pass the noise parameter from the noise generation to the shader for the colors?
The terrain I guess it was still forming from the terrain generator and not the shader, right?
When I drew the black and white gradient map, I rendered my perlin noise to a texture. Then displayed that texture on the mesh using UV coordinates. Sebastian and Brackeys both teach you how to do this.
For the color shader, I don’t pass anything in from the generator. I shade the colors based on the local position of a vertex. That way my colors react to the height of the mesh.
So you’re right, my shader doesn’t affect the height. My shader only colors it.
@@Lejynn
Hii thanks for the response it was very helpful ^^
So if I understand correctly, you move the vertices of generated mesh with the a c# script (just like in the Sabtian tutorial), and then the shader just reacts to the all ready move vertices. So on the shader you're only saying at what height has to be painted.
Is that right?
Sound very very cool, thanks for the vid
I am soooo impressed! I found this channel and it’s much better than these 1 million + channels! Plus: the quality is on 10 million sub level, even tho only 300 have watched the video!!!!
( I’ve also seen your first video and just waited to see the next)
THANKS MAN, KEEP UP THE GOOD WORK❤️❤️❤️
Wow, I am glad you think so! That means a lot. Thank you for coming along for the journey. Maybe one day we will grow to be a bigger channel. :D