SP4RK MAKER incorrect he has 140 likes hahahahahahahahahaahahahahahahahahahahahahaahahahahahahahaahahahahahahahahahahahahahahaahahahahahahaahahaaaaaaaaaaaaaaaaaha...
Yeah but here he only uses JS and doesn't really talk about Pointers, Memory Registers, Use of OOP Libraries/Methods, etc.. We all remember making our first GUI and having to teach ourselves Layout Managers, but that's what made us great at programming
I really appreciate how you're not just speed coding but also explaining and voicing out your train of thought. I think your videos are really entertaining and impressive and I am glad to have discovered your channel!
It's crazy how every fascinating thing about coding that's caught my line of thought is something you have already made a video on. Reliably awesome work
Same, my programming course is like: 15 minutes theory, small demo to show how an Array works. Now make Pong. 3h+ of trying things out without having the extended knowledge to do so.
@@ocdy-gk9pw not-for-noobs doesn't always mean advanced, beyond 'hello world' can still be called not-for-noobs, despite not as advance as using low-level tools or even making a new processor architecture
The presenter seems so happy when the flying effect runs live that it spread on me and I am now 1/ subscribing 2/ planning on the very little free time I have left to enjoy implementing this... Current Status: ☑ Flying ☐ Not flying
I’m from Chemical engineering background with 3 years of experience. For me coding was always a non existent entity. Coming to Silicon Valley, realized the importance of coding in everyday life. Started following this guy holistically. This dude made it fun. Thank you for such wonderful videos. You have earned a loyal fan.
I recently started reading Nature of Code and your work has helped reignite my love for programming. Thank you so much. And that trick with perlin noise, just genius!
This would take me at least a whole day programming this code and you did it in just 22 minutes, without explaining the code you could probably do it in 12 minutes... damn
Yeah he is good at what he's doing, but don't think he is doing it for the first time, each video is prepared before he records it, that's why his videos are great;
my mind was truly blown with this one.. it looks insane! and actually, it seems to me that, with the low increment it can also be used to generate water surface, that is gently moving.
I don't understand any of your coding challenge videos (because I don't know coding to any extent), yet I find them so entertaining to watch and see the mental thought process behind what goes on to create coding. Keep up the awesome work!
I followed this one step at a time and I'm absolutely new at this stuff. I must say that I kinda understood at times but I also felt lost AF, but the final result was awesome and it gave me a great starting point to mess with this code. THANK YOU.
Have you notice how the quality drops when drawing random Z at 10:20? Tom Scott has a nice video talking about that. "Why Snow and Confetti Ruin RUclips Video Quality"
You are how I learned and started to code! thank you for all you have done! I'm 13 and programming robots for my middle school all because of you, thank you!
This looks amazing. I am a synthwave performer/amateur coder and I would love to use this as live visuals for my show. The one thing this is missing is being able to adjust the parameters in real time. Would there be a way for me to control noise amount, color, height, etc with something like a midi controller? Thanks!
I had to come back to this project but I found the MidiBus library and am now able to control all of the values with my synths! I am going to experiment with your other video lessons. Thanks for all the help!
I dont understand anything of coding.. im not a coder but i really enjoy to watch these videos at all, this guy is the coolest guy ever xD It feels like im now a high end coder xD
THIS RIGHT HERE, is the reason I might even consider it possible for me to start coding. This is what I need. I love watching your process and seeing how you break down and analyze problems and solve it. Very pedagogical and educational. Thank you for existing. When the time comes, I will gladly pay for this kind of content.
Glad to hear, you can use either of these playlists to start from scratch if you want! ruclips.net/user/shiffmanplaylists?view=50&shelf_id=14&sort=dd ruclips.net/user/shiffmanplaylists?view=50&shelf_id=2&sort=dd
I just discovered the channel. You are now officially the Bob Ross of generative art. Very nice! Edit: Well, I have seen your intro video now, so I guess you already knew about your Bob Ross situation. I can't stop watching these coding challenges, really cool stuff!
Please don't use variable names like "scl". "scale" or even "terrainScale" are better. Letters don't cost anything, modern screens are wide enough and your code also gets documented.
Subbed because of this video, simply for the idea of moving the y value to simulate flying instead of actually generating more terrain and moving the camera well done!
I can't believe you're 43! Only giveaway despite the fact that you look like you're 25, is that you act like a 40 year old and have gray hair. (Had to google due to my suspicions) :P
Daniel Shiffman I'll say you do act childishly (which I think is a good thing), but you have one of those slight qualities that remind me of my dad, which really thew me off and made me check. Your videos are really entertaining and I love how you teach coding! I studied IT at high school and am now planning to study computer/information technology in university and your videos are a huge inspiration. When I started coding I had to pretty much teach most of it myself as my teacher wasn't the best, but I really like coding due to the linguistics of it. My favorite subjects have usually been foreign languages and more recently math and physics, so I can see myself in IT very comfortably. Keep up the great work! :)
answerOfstupids I honestly don't know. I was pretty much 80% sure he was less than 30 years old until I checked. Maybe it's just a sum of all the puns and dad jokes over time that made me suspend my disbelief. There is also the fact that he grows a magnificent beard, which isn't super common with guys around 25 yeas old.
Doctor Cereal Was thinking the same thing but it later made sense when he added flying. He isn't doing a new project on the fly. He is just recreating something he has done before which is why sometimes the choices he makes aren't obvious until later.
I'm using an arduino with an ultrasone sensor. The arduino is comunicating with my laptop by serial communication. That's how i'm getting the ego's back from the sensor. I'm trying to create a 3D image with these ego's. My question is: Is this possible using this principle? I can get x,y,z coördinates but cant map them, can you help me?
to help anyone: integer coords are where pure "random" values lay... dividing your coords down into fractions is what's called the frequency... when he mapped from a negative to a positive, that's also known as the amplitude... what perlin does to make this noise, is just interpolate between the random numbers using which fraction between you're at... imagine the 1d version... you see a series of lines... (the random vals), you wanna sample between those... if the curves were filled in, you'd be seeing the 1d perlin noise... and also, perlin additionally makes the noise greater by sampling more frequency with less amp inside it... to get more detail... moving this to 2d, you're now between 4 pillars (random vals)... you interpolate two of them, horizontally or vertically, then interpolate those two results, using your inbetween x/y fraction bits to interpolate... that's how it works... lol quite simple tbh isn't it? you can also make tile-able noise... imagine like how the earth goes around and back to itself... if you kept incrementing in same direction, the terrain wouldn't join right, it would expect a completely separate terrain... so you can change the limit to the noise, which'll loop the integers back at a certain point... which it gets it's samples from... you can also use 3d noise for 3d spheres, but i've given enough now... lol
+Kevin Blanks So let's say No Man's Sky would cost like 10-20$ (which is much less than No Man's Sky is worth IMO) you would rather buy this script for the same amount of money? I'm impressed.
Kevin Blanks So you would rather buy a script for 20$ which was made in less than 20 min than a game made for many months doing the same world generation, just much more complex and with much more features. I guess that's logical.
Oh please do! I've recently started reading an excellent book about, and studying Haskell. Coming from Java and such, it's a really different experience!
Only recently came across this channel, and now watching everything xD. Have not learned Java yet but i feel like your videos make it so simple its going to be a breeze.
great video! one quibble is there's no need to create a terrain array, the values can just be passed straight into the vertices the end result looks really good
So east to understand and follo WOW! After reading and watching other procesing videos, you show and explain, the how & why. Usually one vets the how big not why it does or why one does it. Brilliant. Thank you so much. Got to look for you book someone mentioned.
thank u for existing
RM Gmzorz Your comment is on point
why on earth do i have 108 likes
RM Gmzorz incorrect you have 127 likes hahaha
SP4RK MAKER incorrect he has 140 likes hahahahahahahahahaahahahahahahahahahahahahaahahahahahahahaahahahahahahahahahahahahahahaahahahahahahaahahaaaaaaaaaaaaaaaaaha...
220 so far
You might be the Bob Ross of programming
For sure!
yes it's real
@ It's almost 2 years later
He is - si eh
Yes
Dudes 100 times better than any of my university comp sci lecturers
That's for damn sure 😂
Daniel Seed Seconded
lolol
Yeah but here he only uses JS and doesn't really talk about Pointers, Memory Registers, Use of OOP Libraries/Methods, etc.. We all remember making our first GUI and having to teach ourselves Layout Managers, but that's what made us great at programming
Julian A he's not using is, he's using processing. And he has tutorials going over the basics of programming. This isn't meant to be computer science.
I really appreciate how you're not just speed coding but also explaining and voicing out your train of thought. I think your videos are really entertaining and impressive and I am glad to have discovered your channel!
train of thought, train, get it?
It's crazy how every fascinating thing about coding that's caught my line of thought is something you have already made a video on. Reliably awesome work
Wow it has been.... 4 years? The nostalgia hits back again!! You are an amazing programmer and communicator! Loved your videos
its been 7 years haha
Another brilliant, enthusiastic lesson. I added this line:
stroke(map(y,0,rows,0,255));
into the first part of the drawShape loop and it looks nice!
I learn more things watching these videos then I did doing a games development course at college
Thanks for the nice feedback!
Like seriously, what takes him 1 minute takes my teachers more than an hour to explain
Probably just ur college. I study Game Engineering in university and made a ton of progress within a year.
+Richy Same
Same, my programming course is like: 15 minutes theory, small demo to show how an Array works. Now make Pong. 3h+ of trying things out without having the extended knowledge to do so.
I swear you are the best teacher ever. I am also currently reading your book which is amazingly well explained.
This, my friends, is a great example of being in the flow state. I love being in the flow state.
Best programming tutorials I've found yet...nice to see some not-for-noobs tutorials that explain stuff...
@@ocdy-gk9pw not-for-noobs doesn't always mean advanced, beyond 'hello world' can still be called not-for-noobs, despite not as advance as using low-level tools or even making a new processor architecture
@@ocdy-gk9pw Assembly? Really? Nobody, literally nobody, needs Assembly nowadays.
@@privateger nope
@@ekrem_dincel are you agreeing or disagreeing?
@@privateger I dont agree because some peoples need assembly, and I think they will too
This channel is an absolute blessing to the world of creativity as a whole.
Hey bud, frameRate() in setup() works - I think you were writing it in draw() :)
My favorite little thing about this channel is, the clicking sound of the button that he uses to change camera to whiteboard. Just love it
Oh I'm so sad I don't use it anymore!! (Switched to a StreamDeck)
The presenter seems so happy when the flying effect runs live that it spread on me and I am now 1/ subscribing 2/ planning on the very little free time I have left to enjoy implementing this...
Current Status:
☑ Flying
☐ Not flying
The way he teaches the concept truly creates an intuitive understanding of the topic.
Dude, these challenges are awesome. I learned a lot from this one! I had no idea I could do all this :| Thanks!
So glad to hear!
I’m from Chemical engineering background with 3 years of experience. For me coding was always a non existent entity.
Coming to Silicon Valley, realized the importance of coding in everyday life. Started following this guy holistically. This dude made it fun. Thank you for such wonderful videos. You have earned a loyal fan.
Not only really informative, but is just a joy to watch. So much enthusiasm! Thanks!
I recently started reading Nature of Code and your work has helped reignite my love for programming. Thank you so much.
And that trick with perlin noise, just genius!
This would take me at least a whole day programming this code and you did it in just 22 minutes, without explaining the code you could probably do it in 12 minutes... damn
Yeah he is good at what he's doing, but don't think he is doing it for the first time, each video is prepared before he records it, that's why his videos are great;
Vapor Wave - sama I In 1 Minute ... Copy and Paste
+Typex96 But This Is A Coding *Challenge,* So He Should Not Prepare Before Doing !
I like how he breaks the 'challenge' down to it's smallest compartments and builds and extends on them step by step.
thats a sign of a good coder you envision an end result and let the means meet the ends even if its not what the viewer thinks is happening
my mind was truly blown with this one.. it looks insane!
and actually, it seems to me that, with the low increment it can also be used to generate water surface, that is gently moving.
I don't understand any of your coding challenge videos (because I don't know coding to any extent), yet I find them so entertaining to watch and see the mental thought process behind what goes on to create coding. Keep up the awesome work!
i don't know how you got on my youtube recommended...but i thank you for doing this
I'm not sure either, but glad you watched, thank you!
#HappyRabbitHole you explain it so well thank you.
Yeah I have same. Great work Dan!
Your videos are so entertaining I watch them even when I know over 5 programming languages.
Define know. Are we talking you can code an OS in any of them, or something more like hello world? Points in between are valid.
Oh, I'm so glad to hear!
you could have just left it at "your videos are so entertaining" lol
Know as in can code fluently. Some examples are Python bots, C# Windows apps, JS scripts, Lua scripts, and PHP scripts.
Second part is unnecessary
You are a good teacher and i enjoy these challenges a lot. Thanks
Man, english isn't my first language (actually is portuguese), and you're the best teacher I've ever had. Thanks, really thanks for all your work.
coool love this effect. i made a couple of these in max before but i like knowing i can do this in 22 min in processing aswell
Thanks for watching!
You’re incredible! It’s 4 in the morning and I can’t stop watching these
great tutorial! and it's really nice to see you use stuff like P3D and 2D arrays :)
+Xeronimo74 Thanks so much!
I followed this one step at a time and I'm absolutely new at this stuff. I must say that I kinda understood at times but I also felt lost AF, but the final result was awesome and it gave me a great starting point to mess with this code. THANK YOU.
Have you notice how the quality drops when drawing random Z at 10:20? Tom Scott has a nice video talking about that.
"Why Snow and Confetti Ruin RUclips Video Quality"
I was actually searching for this comment when the quality dropped and thought the same thing, nice
You are how I learned and started to code! thank you for all you have done! I'm 13 and programming robots for my middle school all because of you, thank you!
So glad to hear!
you're such an energetic guy, love it!
this might be my favorite channel rn i literally dont know javascript this guys just funny lmao
Wow! Never knew such channel existed. Subscribed!!!
ruclips.net/video/tjJM0iEeyNQ/видео.html
I learned more from this guy, then from my teachers in past 4-5 years, thanks for exsisting! !
This looks amazing. I am a synthwave performer/amateur coder and I would love to use this as live visuals for my show. The one thing this is missing is being able to adjust the parameters in real time. Would there be a way for me to control noise amount, color, height, etc with something like a midi controller? Thanks!
Yes, look into midi libraries for Processing!
Wonderful. Will do that! Thank you!
I had to come back to this project but I found the MidiBus library and am now able to control all of the values with my synths! I am going to experiment with your other video lessons. Thanks for all the help!
Daniel you are the best teacher ever, really.
Thank you for the tutorial Daniel!!! You are epic!
+Andrei-Ducu Predescu Thank you!
This channel is just pure gold. I feel awful for not finding out about this earlier.
dude, your mind works at staggering speeds, hence the tripping and clumsiness lol. Fascinating!
the trick of the illusion of translating by tweaking the generated value is brillant !!!
7:03 It looks like that thing was green.
I dont understand anything of coding.. im not a coder but i really enjoy to watch these videos at all, this guy is the coolest guy ever xD It feels like im now a high end coder xD
Still better than No man's sky
Tamim Al-suwaidi top comment XD
Tamim Al-suwaidi not anymore lol
@gonna darude sandstorm ya all It's a game
@gonna darude sandstorm ya all you dont know what it is
Stfu no man's sky is a terribly underrated game way too ahead of it's time. go home and play Fortnite.
THIS RIGHT HERE, is the reason I might even consider it possible for me to start coding. This is what I need. I love watching your process and seeing how you break down and analyze problems and solve it. Very pedagogical and educational. Thank you for existing. When the time comes, I will gladly pay for this kind of content.
Thank you so much for inspiring and guiding through, i would like to see videos on meshes like Voronoi,Delaunay,Quadtrees and Octrees . :)
+sridhar mamidala Adding to my list!
Yes, learning about quadtrees would be fabulous!
you make java so much easier to learn, thank you, you're like a virtual teacher
First of all: great content and great channel overall!
Secondly: what drugs are you on and how can I get them?
+rock3tcat (ⵙⴰⵔⵓⵅ) chamomile tea!
how do you remember all of this?
hhHHhhAAHAH
Where i can order the camomile tea????
At 0:21 turn on subtitles
Wow! The use of perlin noise to simulate movement is very creative. Amazing!
if you put the xoff and yoff = 0.05 and flying -= 0.01 will be like water.
+André Bardini oh! Great tip! 👍
your tutorial is too neat that even beginners can understand this!!!
This must be the tutorial they have used at Hello Games for No Man's sky...
even i dont really understand coding, i like watching your videos,, its about how you explain your techniques..
Glad to hear, you can use either of these playlists to start from scratch if you want!
ruclips.net/user/shiffmanplaylists?view=50&shelf_id=14&sort=dd
ruclips.net/user/shiffmanplaylists?view=50&shelf_id=2&sort=dd
frameRate has to be inside setup() not draw() to work. ;)
You are great, you videos are getting better everyday, Shiffman :)
+Westis96 Ah yes, thanks for the tip!
+William Antônio Siqueira Thanks for the nice feedback!
Because of you I started doing program on my pc 😍😍 And I am learning new things plz don't stop my best wishes for your channel
You're awesome.
Thx.
I just discovered the channel. You are now officially the Bob Ross of generative art. Very nice!
Edit: Well, I have seen your intro video now, so I guess you already knew about your Bob Ross situation. I can't stop watching these coding challenges, really cool stuff!
Why has this channel been kept hidden from me? AWESOME!!!!
ruclips.net/video/tjJM0iEeyNQ/видео.html
You are the best teacher on all of youtube!
Please don't use variable names like "scl". "scale" or even "terrainScale" are better. Letters don't cost anything, modern screens are wide enough and your code also gets documented.
I agree, it's a good point.
Mobin92 in JavaScript there are built in Global Variables with names like 'scale' so he uses shorter language to avoid errors
I was so happy to see that you solved this camera movement problem exactly how I thought I would do it. I'm learning so much!
you are awesome!
Subbed because of this video, simply for the idea of moving the y value to simulate flying instead of actually generating more terrain and moving the camera
well done!
I can't believe you're 43! Only giveaway despite the fact that you look like you're 25, is that you act like a 40 year old and have gray hair. (Had to google due to my suspicions) :P
+Eivind Ludviksen haha. I thought I act like a 5 year old.
Daniel Shiffman I'll say you do act childishly (which I think is a good thing), but you have one of those slight qualities that remind me of my dad, which really thew me off and made me check.
Your videos are really entertaining and I love how you teach coding! I studied IT at high school and am now planning to study computer/information technology in university and your videos are a huge inspiration. When I started coding I had to pretty much teach most of it myself as my teacher wasn't the best, but I really like coding due to the linguistics of it. My favorite subjects have usually been foreign languages and more recently math and physics, so I can see myself in IT very comfortably. Keep up the great work! :)
Welcome to Minecraft people!
Eivind Ludviksen what's one of those qualities...
answerOfstupids I honestly don't know. I was pretty much 80% sure he was less than 30 years old until I checked. Maybe it's just a sum of all the puns and dad jokes over time that made me suspend my disbelief. There is also the fact that he grows a magnificent beard, which isn't super common with guys around 25 yeas old.
This is so impressive speed. I like high speed learning and this is it.
At 18:27 you could have divided X and Y by 10 instead of creating 2 more variable.
Doctor Cereal Was thinking the same thing but it later made sense when he added flying. He isn't doing a new project on the fly. He is just recreating something he has done before which is why sometimes the choices he makes aren't obvious until later.
Pravin Dahal
how come when I go to run it theirs just a white box that pops up with an error?
i think you should start on something easier Ian
Nat Bradz no, it was just a spelling error, the code was right.
You are an Inspiration to keep learning! , Greetings From Colombia.
have you done a live show?
It's always nice watching something by someone who enjoys it.. whole different level of education and understanding.. THANK YOU !
9:50 Welcome to quantum mechanics ._.
Mobin92 can you elaborate?
he knows not
lol
What he probably means, is that the example program being run looks similar to how physicists imagine the quantum foam of the universe looks like.
Vacuum fluctuations, particles popping in and out of existence.
Your videos encourage me too much to love coding
I'm using an arduino with an ultrasone sensor. The arduino is comunicating with my laptop by serial communication. That's how i'm getting the ego's back from the sensor. I'm trying to create a 3D image with these ego's. My question is: Is this possible using this principle?
I can get x,y,z coördinates but cant map them, can you help me?
Have you tried taking them out of the freezer?
Hello Daniel, I never thought I would be wtching coding videos as entertainment. You made me understand ! keep up !!!
The source code of the noise function?
to help anyone:
integer coords are where pure "random" values lay...
dividing your coords down into fractions is what's called the frequency...
when he mapped from a negative to a positive, that's also known as the amplitude...
what perlin does to make this noise, is just interpolate between the random numbers using which fraction between you're at... imagine the 1d version... you see a series of lines... (the random vals), you wanna sample between those... if the curves were filled in, you'd be seeing the 1d perlin noise... and also, perlin additionally makes the noise greater by sampling more frequency with less amp inside it... to get more detail...
moving this to 2d, you're now between 4 pillars (random vals)... you interpolate two of them, horizontally or vertically, then interpolate those two results, using your inbetween x/y fraction bits to interpolate...
that's how it works... lol
quite simple tbh isn't it?
you can also make tile-able noise...
imagine like how the earth goes around and back to itself...
if you kept incrementing in same direction, the terrain wouldn't join right, it would expect a completely separate terrain... so you can change the limit to the noise, which'll loop the integers back at a certain point... which it gets it's samples from...
you can also use 3d noise for 3d spheres, but i've given enough now... lol
still better than no mans sky
Kevin Blanks Not an impressive feat
+Kevin Blanks
So let's say No Man's Sky would cost like 10-20$ (which is much less than No Man's Sky is worth IMO) you would rather buy this script for the same amount of money?
I'm impressed.
YA actually lol
Kevin Blanks So you would rather buy a script for 20$ which was made in less than 20 min than a game made for many months doing the same world generation, just much more complex and with much more features. I guess that's logical.
ThePhoenix107 Yes we heard you
I placed the frameRate(1); in the void setup code and it worked fine. Thanks for this Tutorial!! great work!!
indeed that fixes it, thanks!
Hey! Just found you. Fun videos :) Would you ever do a Haskell Challenge? :D
+t3hKazy I don't have any experience with Haskell but I will think about it!
Oh please do! I've recently started reading an excellent book about, and studying Haskell. Coming from Java and such, it's a really different experience!
I love all the math that is involved with this!
similar to mr. doob's three.js webgl clouds
your videos are so wholesome, keep up doing this forever
Now I know how minecraft works
Oooh, I'd love to do more videos about procedural terrain generation like in minecraft!
GreatMCGamer yes he is
dandeil1003 You are replying to the wrong person dandeil
sorry :P
I hope you're a teacher in real life! You're really good at it! We need more teachers like you in this world.
I am! Although this is also my real life! I think?
Daniel Shiffman lol
:P
why didnt u add a spaceship?
+timowthie oh I wish I had!
You've got a lot of skills to be able to memorize all of these functions and just what numbers need to go where. Nice job and keep working.
You lost me at Java
Dude that was freaking AWESOME. I loved the way you iterated on your code; I love your pacing; and the result is RIPE for experimentation. THANK YOU.
I love your energy in these videos. you make programming seem the way I think about it, fun :)
Only recently came across this channel, and now watching everything xD. Have not learned Java yet but i feel like your videos make it so simple its going to be a breeze.
great video! one quibble is there's no need to create a terrain array, the values can just be passed straight into the vertices
the end result looks really good
Hi! im trying but im lost, can you help me? how do you pass the noise values into the vertices?
This man make me love coding and starting programing thanks a lot
i herd about perlin noise, i was so confused on how to make a array to hold the data. i didnt know about 2d arrays, thank you.
I have officially hopped on the C Train and it is the shiznit! Best coding vids on youtoobz.
Thank you!
Watching you never gets old, cool stuff!
i found your channel through purple rain and must say i absolutely LOVE your videos! keep up the hard work
So east to understand and follo WOW! After reading and watching other procesing videos, you show and explain, the how & why. Usually one vets the how big not why it does or why one does it. Brilliant. Thank you so much. Got to look for you book someone mentioned.
You can definitely add a flat(or a slightly noisy) plane at points on the grid lower than a certain z value. Essentially adding a water level.