The ONE Texture Every Game NEEDS
Вставка
- Опубліковано 31 тра 2024
- Exploring why procedural noise (such as perlin noise) are so useful in game development and graphics.
🛒 Recommended books (on Amazon): www.amazon.com/hz/wishlist/ls...
❤️ Support me on Patreon: / simondevyt
🌍 My Gamedev Courses: simondev.teachable.com/
Disclaimer: Commission is earned from qualifying purchases on Amazon links.
Follow me on:
Twitter: / iced_coffee_dev
Instagram: / beer_and_code
In this video, I cover how to generate value, gradient, and voronoi noise. We go over how they're computed, and as well, we'll walk through some uses in game development, and VFX settings. - Наука та технологія
WARNING: Some flashing at 5:40 -> 5:50
Btw, support me for more videos:
GLSL Course: simondev.teachable.com/p/glsl-shaders-from-scratch
Patreon: www.patreon.com/simondevyt
where is your video on lerp and smoother step?=(
@@Colonies_Dev ua-cam.com/video/YJB1QnEmlTs/v-deo.html
@@simondev758 Hi I would like to purchase the course, do you offer some sort of regional pricing? On my country is a little expensive:/
@@andrespedraza8939 Msg me on twitter
@@simondev758 done
I feel like they should use videos like this in high schools when students ask "when will mathematics ever be useful in real life?", because so many kids play video games. They can see how a function becomes a graph, and how any points on the graph can represent things like patterns, motion, time, sound, and that the sounds can be sampled for music. There is a lot of experimentation like "If we do this to the graph then this happens", and people who are learning need to be encouraged to experiment to make the process of learning more enjoyable.
Definitely. I hate the dry, theoretical approach. For me, they need to be linked. Showing where and how these things are used.
Looks like the whole world agrees that the math lessons in school are as dull as f**k as they never show what math and algorithm is really for, instead they are like it's some mad scientists' impractical fantasy.
Fr this is so accurate. I would enjoy math way more if they did more interesting math approaches
This is literally what I told my teacher during a visit back, and since it was a “tech” school it just makes sense. They’re already doing programming might as well combine math with it
You guys dont do Mechanics or Stats as part of maths?
The production value, the explanation, the amount of valuable information... astounding. Your videos will help many developers for years to come. Thank you.
Thanks!
Skill level = master. You remind me of a senior developer I worked with once, who had reahed a level of knowledge in which he really could create art with code. It's a beautiful thing.
i wonder how much math knowledge in senior should have ? . as intern gamedev student I have a long road to go for achieve and understanding overall concept mathematical theorem . well i guss its Lifelong Learning.
@@cptwoody7103 it depends on what you're doing, a lot of programming is not dependent on math, but systems, logic, connections etc., also a lot of the time you just need the abstract understanding of math, because libraries can do a lot of stuff for you.
Take the example from the video, the hash() function has a few math calculations inside it, but all you need to know is that hash() takes a seed and returns a noisemap, no math required to use it, it really depends on what is it that you're programming.
@@cptwoody7103 Learn linear algebra, it gets you all the way to 80% of the math that you will ever need for computing science and programming for 20% of your "buck", aka time.
@@monad_tcp i always hated math, but actually enjoy statistics and algebra so knowing where to focus helps so thanks! I let my distaste for math hold me back from programming. For game development how much geometry would I have to know? This subject is where I struggle the most as I haven’t felt a method to learn it yet.
@@meljXD2 using geometry isn't that hard, because you can see it and test visually the things, and you can do the same with linear algebra, at least the algebra that you need for games.
geometry is very cool to learn,specially for something useful like programming games.
the most boring thing about geometry would be proving the theorems, but you don't have to do those in actual programming. just take them and play with it.
that's how you lose the fear.
The realization that I've been taking noise for granted for years now, even though it's in every single project I do. Thank you for teaching me something I didn't know I needed to know.
I've been taking noise for gradient for years too!
Noise is also useful in sound design, with the right filters layered on you can get all kinds of ambient backgrounds, machine sounds, sci-fi devices, percussive effects, and so on.
Was thinking the same. Its interesting how, in many fields, techniques overlap.
@@VambraceMusic and how much simple noise gives us, its like the noise in our heads, it links our brains and machine together to shape up something out of literally nothing. Thats also how ai generated images happen to be made, out of noise into a shape.
A neat effect I've been using for my terrain gen, that could be useful for all kinds of texture synthesis, is using one noise field to distort another noise field. This creates a combined noise field that (can be) globally isotropic, but locally anisotropic. For terrain gen, it helps mimic "long" features, like terrain buckling & folding. By tuning the dominant frequency of the distorting noise, you can tune how quickly the local directionality of anisotropic features varies.
Yes, domain warping! It looks awesome!
Wow. At first I thought this video would be sort of a review for me. But once we've got domain warping planet weather systems I realized holy holy this overview is ... beyond an overview! Amazing techniques at the end.
Imagination is the limit!
Honestly am starting to be impressed by the new (?) youtube recommendation system, this channel is a hidden gem and am so glad it popped up in my Home videos!
Noise can also be used to procedurally generate levels on roguelikes and Minecraft/Terraria like games. It's no joke how useful it is. I made some Unity tool scripts to generate noise textures easy and quickly from inside the editor because I use them everywhere on my visuals. They're on my skybox for clouds and stars, on my fog, flames, smoke, water, swaying vegetation, literally everywhere.
Straight to the point, no fluff. 👍
I still have a weak spot for everything involving noise/procedural textures. Shout-out to Steven Worley; it was a pleasure working with you back in the 90s.
This sort of breakdown on core concepts is lovely to see, often as a tech artist I inherit a bunch of techniques without a grounding in how they were generated in the first place. Production quality is fantastic too!
I legitimately just made value noise based off the notions in the lerp video a week or so ago. You can get some interesting patterns with it if you jam in some crazy functions. I even made an eye model with it a few days ago, because Halloween is coming up. Great videos, they've been a helpful resource.
Neat, how did your eye end up looking?
@@simondev758 along the z axis, somewhere in the uncanny valley.
That was awesome. Subscribed!. Love how you just talk in a voice like it’s no big deal meanwhile entire worlds are begging created.
Didn‘t expect to see an explanation about noise containing so many effects and uses. I‘ve learned those effects by experimenting with shadernodes in Blender, but never thought about them in a more mathematical way. Amazing video!
At 4:42 you perfectly described how mixing signals results in phase shifting.
Thank you SO much for the 'domain warping' keyword.
So Wild that in this world magic search terms are so important. Thanks!
Let's welcome for today's lecture, and make some noise for SimonDev! (sorry not sorry, had to do it :D )
One of my favorite videos of yours.
Very entertaining and watchable but still technical and informative.
Gawd dayum the way you explain complex topics this simply gets me every time. And the visualisations look neat. This channel is heaven
I'm using Perlin noise in these days, and this video came up, amazing.
Really well made, congrats!
Have a look at simplex noise if you don't use it already. Less directional artifacts and performs better in higher dimensions. It's a bit harder to implement, but imho it's totally worth it.
This video is truly incredible. Fantastic job, Simon!
This video me realize the similarities between the Fourier series and noise generation. I already knew both, but since I studied physics in college I had a better understanding of the Fourier series, and I definitely got an Aha! moment at 4:40. Definitely helps with my understanding of using noise.
I wonder what kind of noise patterns you could make by generating your noise in frequency space initially and then running a fourier transform on it. Fourier transforms are relatively inexpensive so I think you could get some cool stuff cheaply
God damn what a pleasure it was to watch that! Keep up the good work dude, you’re 1 in a billion
Well done video! Thanks for the work you put into these!
This is so beautiful, simple and motivating, I just wanna start playing around with it right now.
Thank you!
Great edutainment. I really like that you visualized so many variants!
Man, this is some top tier UA-cam content ! Thank you so much for these great videos !
I really enjoy your videos, keep em coming!
Incredible video. Full of information and still explained in a simple way.
Holy poop, what a great video. Thank you for this!
So much value in just 9 minutes. Subbed!
your videos are inspiring! Very high quality stuff!
In your previous video, I asked you to create another math video and you did. I officially love you forever. Keep up the good work!
Wow, so many high quality Infos in such a short video. Amazing
Beautiful video and the explanation was so well done!
Wow, such an amazing way of teaching, congrats, what an amazing video, i loved it a lot.
If I am not mistaken, this is the best video ever published.
The content here is absolutely educational, thanks for the noise!
I've been using these noises for so many years and still i learnt new things today
Thanks a lot.
This is the best explanation of gradient noise I've ever seen
Very cool and informative. I loved this video!
Wow. So well packed info! Great explanation.
Literally 30 seconds in and I'm genuinely impressed by how insightful this video is.
I will save this video cause watching it once is not enough, thanks.
Thanks for the explanationabout noise, this was really useful.
One of the best devlog-style videos since Sebastian Lague, and presented with such a smooth style!
I love Sebastian's videos!
Fascinating! I also love how this turned into a close-up view of a biblically accurate cherubim
Hah, I didn't even realize that. I was just looking to make something creepy looking when I had some time to kill on the train.
Woot! Friday and another solid video.
Okaaaaay - big flex here. Super nice video. You will regret not having bookmarked this for later reference.
I'm a big fan of noise functions (from a theoretical perspective, actual practice is a bit lacking 😄) so I loved this video, and wow what awesome visualizations! Great work
This was just beautiful. Well done Simon
Thanks! I think your channel is among the ones I looked at which inspired me to try to up my game on my visuals heh
@@simondev758 so glad I could inspire you 😉 visualisations like these help people grasp concepts much quicker. Look forward to the next one!
You are a master. This is so wonderful! Would love to see some videos with some pseudo code included. Hopefully your other videos will contain just that! Cheers!
I probably should include a bit more in the videos, just finished a quickie code highlighter so that I can drop in chunks of code to be turned into textures and included in these.
Amazing production quality
feel proud for understanding everything in the video
this isn't exactly what I thought this video would be about but I found it immensly interesting regardless.
Thanks! I have been wanting to know more about how noise works for some time.
This is extremely interesting stuff. I hope to make games some day and will be coming back to your channel for sure.
really appreciate the work, thanks!
This is a really great introduction to procedural generation!
I must ask, what software do you use for your 2D visualizations? Like with either the graphs, or the grids you used to show different types of noise.
Also XD How did you do the star pattern? Was the star position's in 3d space? If it was 2d, and the stars were placed in a grid, how did you manage to pack all the tiny stars close to eachother if there was 1 star per grid tile? Well, I guess you just added more! haha.
I've been wanting to make a video for a while talking about how some assembly math instructions are slower than others, and present a "high level" view of it for people who might never touch assembly.
The 2D visualizations are just handcrafted shaders. I explain a bit on twitter: twitter.com/iced_coffee_dev/status/1586121107941511168
As for the star pattern, take a look at the section on Voronoi. Same idea, grid, offset each star by some hash function, use a secondary value as a "cutoff" to just ignore the star. Draw a couple layers of that with varying star sizes, and you've got yourself stars.
Is there a reason you want to know the specific assembly math instruction times? GPU or CPU? I led optimization on a couple AAA game projects, and for most people, there was absolutely no need to know that kind of info.
I'm utterly hopeless at anything related to maths and programming, but I'm (unfortunately?) super interested in how it's used. You explain all these concepts in a really approachable way that almost makes me think I could use them, myself.
I'm a graphic designer/UI artist and I use these functions in my design tools, but the program calculates it all for me. It's nice to know more about how they work!
It's the same in the audio world... brown noise, white noise, ect ect its huge for adding harmonic content
I've often heard that, but I've never done more than scratch the surface of audio programming.
What started so simply ended up looking like a nightmare. Bravo on making pseudo-random really scary.
Heh, happy Halloween!
Awesome as always
I thought this was going to be about audio noise, which was ironic because the audio quality was really bad - lot's of popping and stuff. However the content was good enough to keep me watching, so good job!
Yeah my audio needs work. I think I need to setup a better recording area.
I love this channel so much ❤️
Hi SimonDev, this might sound unlikely, but I'm 42 and I've wanted to get into visual or audio related programming since forever. Everything I've watched or read seemed either too abstract (hard to see a use-case) or just uninteresting (severe ADHD makes it impossible engage if it isn't exciting, even when medicated), but this video opened it all up for me, and I surprised myself by how many use-cases I've dreamed up since watching it yesterday. It's much like what learning practical music theory concepts does for my desire to compose and perform music
That's awesome! Yeah, often this stuff is presented in super dry ways without a clear link to how it's used. I'm glad you got so much out of it.
So nice that we starred with a great noise generation tutorial and ended with a some celular-shaped eyes nightmare fuel
an excellent video. really awesome!
PRICELESS CONTENT. HIGHLY APPRECIATED. Not sorry for the caps. Again, thank you for this video!
Great video, the explanations and graphics are fantastic. It's spooky, I literally just made a video on making 4D terrain using Perlin Noise on my channel! It's amazing how versatile some simple noise is.
Interesting, so you made the 4th dimension time basically?
@@simondev758 Essentially yes! I'm just constantly scrolling through the fourth dimension, so I just call it time!
I find the result really calming and satisfying to watch!
Amazing video!
I used noise to generate detail bump maps for extremely fine grainy details for when players get up close to a 3d model. I think Minecraft also used noise for terrain generation at one point, not sure how it's handled now though.
Great video!
Simply, Thank you
New title - ‘Bob from Bobs Burgers Explains VFX Noise’
I don't code, but it's so cool to watch these things. Keep it up.
Very nice video. I remember an old game made use of noise for it's textures so it would fit in a floppy. Doing so had the effect that it used alot of memory but it was indeed cool.
There was one that blew me away years ago, .kkrieger, that did an entire fps in 96kb
holy moly this is hella cool! Could probably use it sometime but idk for what
Brilliant use of noise to create amazing effects!
These videos are like GameDev forums vomited all they know in bite sized technical chunks, cannot get enough.
Nice video! Really hope you can made some video about webgl texture.
Awsome video!
Such an amazing video, but the preview almost scared me away from watching it!
Clarity: 10
Visuals: 10
Content: 10
Delivery: 10
Bob from Bob’s burgers: 9
I find it hilarious so many people think my voice sounds like that.
Very interesting and helpful. Funnily enough today I was thinking " thank goodness for randomness", because if not for that, in games, simulation, or actual life itself, outcomes would be exactly as determined by the underlying "rules", i.e. banal, predictable and ultimately totally boring. Somehow, randomness gives variation, meaning and potential / opportunity
I've always loved procedural terrain. So much fun to be had with a bit of randomness.
Almost every procedural texture I make in blender has a voronoi texture and a noise texture lmao
Amazing video.
Cool and interesting. I’ve subscribed.
_"Sometimes i think that all you need in order to paint the universe is some geometry and a lot of smoothstep and noise."_
- Inigo Quilez
Well said.
you're a legend simon
The ONE texture all video game music also needs.
This video is Great! tnks.
I love videos like these.
Nice one!
Noise is one of the things that is and is in all things that you’ll see when you trip mega balls.
Pleeeeaase add an in video flicker warning, I’m usually not affected by most flicker but this even got me almost immediately. I see you pinned a comment but unfortunately I didn’t see that until afterward since I’m watching on a tv. Love your videos, looking forward to what you make next
Edited to add: Such an awesome video! I’ve rewatched a couple times and I think one of the things I love most about your videos is you tend to manage to neither oversimplify nor overcomplicate each part of the concepts/techniques you focus on, and end up with something that is straightforwardly understandable yet builds into complex and cool things in a way that leaves me feeling fascinated and eager to learn more :) Thanks for the acknowledgment, and I hope you get to have as much fun making these as we get to have watching !
Didn't think of it, since it's never appeared in any YT guidelines, but I'll definitiely add one next time.
At first I thought like, yea Okey but after 7:00 I thought like man that's so good! So many ideas and I think I even know how you made the gas planet. It's really interesting to think about how you can use different noise to create every day thinks!
Again, my computer graphics course thanks you Simon!
Wow. I never realized how much I use nose in my projects. I’ve used FBM noise without knowing what it was called to build a procedural galaxy in ue4. FBM noise is WILDLY powerful for creating realistic landscapes and is where almost any open world game starts before being populated with buildings, npcs, items, and whatever else would be in a game world. And FBM is really easy to work with and understand. Sometimes other types of noise can be used to place those things. Forests for instance are rarely placed by hand and are generally made by using some type of noise to place them.