ความคิดเห็น •

  • @Frankslaboratory
    @Frankslaboratory 3 ปีที่แล้ว +46

    More canvas art or more games in the next video? Let me know :) Click the LIKE please if you get any value ❤

    • @unknown-bx8my
      @unknown-bx8my 3 ปีที่แล้ว +4

      3d games😍
      it's a big request maybe😂 3d games are harder than 2d games.

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว +6

      @@unknown-bx8my They are indeed you are right, I want to do some 3D games though

    • @granumuse7847
      @granumuse7847 3 ปีที่แล้ว +4

      Generative art!! Please 🙏
      And could you show us how to remove any of the drawn layers on canvas context menu event, given the bind method? If not possible, then with an object array (I, specifically, know the second case, but many beginners don't)?
      Thank you

    • @Xyzzzz307
      @Xyzzzz307 3 ปีที่แล้ว +2

      It's a record. 111 likes with 0.00 Dislikes 🎉🎊🥳

    • @Xyzzzz307
      @Xyzzzz307 3 ปีที่แล้ว +1

      @@unknown-bx8my
      Why don't you use a game engine? Adding physics and calculating Z-Index is a Quadrillion Times easier than that of in Javascript. Try Godot. It is so light that my slow laptop also supports it 😂 so I always recommend it bro

  • @Drvo3
    @Drvo3 3 ปีที่แล้ว +34

    You really should have some awards for these great videos. This is high quality all the time

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว +1

      Matej! Thank you, you are very kind to say that. I don't think I'm at the level of experienced developers, but I learn new things every day :)

    • @VolatileMC
      @VolatileMC 3 ปีที่แล้ว

      @@Frankslaboratory Don't be modest. I'm pretty sure you are at the level of experienced devs, at the very least

    • @niyagentleman8143
      @niyagentleman8143 2 ปีที่แล้ว

      could we have awards too for reproducing them in organised code structure? LOL ^^

  • @iconicworld8880
    @iconicworld8880 3 ปีที่แล้ว +6

    There is no match of this channel!!
    Simply outstanding

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว

      Really? That's a really nice compliment, very kind of you

  • @pustai1627
    @pustai1627 3 ปีที่แล้ว +1

    I don't understand how is this channel not having a few hundred k subs, really cool tutorials Frank

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว +1

      haha, thank you, TH-cam growth is slow, only a small %of people get viral. I like it slow and steady :D Thank you for a nice message, I appreciate it

  • @AleksPopovic
    @AleksPopovic 3 ปีที่แล้ว +2

    Each new animation video you produce keeps blowing my mind. The effort you put into your tutorials is tremendous. Amazing work. 👏👏👏

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว +1

      Aleks, thanks man, I think as someone who also makes content you realise what needs to happen behind the scenes for a video to come out. I'm slowly improving my video making skills but it's a long process since it's not my natural talent. Anyway thanks for a nice message :)

    • @AleksPopovic
      @AleksPopovic 3 ปีที่แล้ว

      @@Frankslaboratory For sure! It's a long road from getting a video idea to hitting that publish button. That's (partly) why I'm procrastinating a bit, but I'm getting back into the groove. :)

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว +1

      @@AleksPopovic Hope you find some motivation to continue, your content is great, we need more of it :D

    • @AleksPopovic
      @AleksPopovic 3 ปีที่แล้ว +1

      @@Frankslaboratory Thank you so much, you are very kind. :) I'm currently on a long awaited vacation, but I am wrapping up my next video. I should have it up next week, hopefully. :)

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว +1

      @@AleksPopovic Enjoy your vacation Aleks, TH-cam can wait :D

  • @YounisJad
    @YounisJad 3 ปีที่แล้ว +1

    Man, you are the best animator !

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว

      Younis! How are you. Thank you for saying that very kind ❤

  • @camilamunozmanriquez9268
    @camilamunozmanriquez9268 3 ปีที่แล้ว +2

    Amazing! thank you so much for this video, I'm an artist just starting in the java script world and sometimes feeling lack of motivation. This is such a booster!

    • @Frankslaboratory
      @Frankslaboratory 2 ปีที่แล้ว +1

      Hi Camila, glad to hear you found some motivation. I also feel inspired when I see what other people can create, we have to motivate each other

    • @Ruderalily
      @Ruderalily 2 ปีที่แล้ว

      @Camila I'm here for the same reason

  • @lucasbss
    @lucasbss 3 ปีที่แล้ว +1

    I learned to use canvas a little while ago, this looks like advanced sorcery to me, wonderful

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว +1

      Hi Lucas, canvas can do many things quite easily these days, if you want give it a try again and see for yourself :)

  • @mothesawy
    @mothesawy 3 ปีที่แล้ว +1

    I always learn new things every time I watch one of your videos. You are awesome! Keep going...

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว

      Hi Mohammad, thank you, I'm happy to hear that

  • @Coding_Asmr_PraDev
    @Coding_Asmr_PraDev 3 ปีที่แล้ว +3

    You are really motivating to hear and see

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว

      Pranay, how do you know exactly what I wanted to hear today :D Thank you

  • @clintonwilliams9617
    @clintonwilliams9617 ปีที่แล้ว

    Really great video! Had a lot of fun making this. It was my first stab at art with code. Going to check out your beginner stuff next.

    • @Frankslaboratory
      @Frankslaboratory ปีที่แล้ว +1

      Hi Clinton, hope it's not your last creative coding project :)

    • @clintonwilliams9617
      @clintonwilliams9617 ปีที่แล้ว

      @Franks laboratory I did the Matrix code rain today. I'm in a coding camp. I'm an artist at heart, so I'm trying to learn more about other things that can help my job search when I'm done.

  • @nicklansbury3166
    @nicklansbury3166 3 ปีที่แล้ว +2

    Oops. I'm late today. Thanks as always for the upload. Have a great weekend.

  • @aravindvv2276
    @aravindvv2276 3 ปีที่แล้ว +1

    Commenting even with out watching becuz I know this is gonna be amazing video

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว +1

      Aravind, you are too kind. Always nice to see you here

  • @adelicateharmony9224
    @adelicateharmony9224 2 ปีที่แล้ว

    You must’ve put in a lot of hard work to get to this level of creativity, well done and thanks for sharing!

  • @dougdonaldson3884
    @dougdonaldson3884 3 ปีที่แล้ว +6

    I appreciate your tutorials, and the effort and quality you put into every one of them. My question is related to pixel animation in general. Do you have any tutorials on pixel animation that will have the pixels fly in on page load and will have elasticity / bounce that will slowly settle into the image or text.

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว +2

      Doug! Thank you for saying that. I'm still a beginner when it comes to teaching but I'm learning a lot from feedback people give me here. I made several tutorials where I analyse canvas for pixels and convert them into particle objects. I have never done a video on easing functions and elasticity, I will add it on my list now. I like the idea. It wouldnt be too much work to make this effect you describe from my existing pixel tutorials, I will look into it when I have a moment :)

    • @DonaldsonDoug
      @DonaldsonDoug 3 ปีที่แล้ว

      @@Frankslaboratory Thank you for the timely reply as well as being willing to look into this request!

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว

      @@DonaldsonDoug I like suggestions like this and I will do a tutorial on it hopefully (if I can figure it out :D )

  • @ScriptRaccoon
    @ScriptRaccoon 2 ปีที่แล้ว +1

    This is an amazing effect! Although I feel confident with the HTML canvas, I learnt a lot here. Actually I could not imagine that such a thing is possible! I am glad I found your channel, will check out other videos as well. :)

    • @Frankslaboratory
      @Frankslaboratory 2 ปีที่แล้ว +2

      Glad you liked it. Canvas can do pretty much any animation you can imagine. Some like the ones I teach are simpler than you would think 😊

  • @camilommeister
    @camilommeister 2 ปีที่แล้ว

    Thank you Frank! I was having a shitty day and coding along with the video made my day better.

    • @Frankslaboratory
      @Frankslaboratory 2 ปีที่แล้ว +1

      Hi Camilo. Nice to hear that. I'm the same. Doing some creative coding always makes my day better 😊

  • @dobeeeeval
    @dobeeeeval 3 ปีที่แล้ว

    Just found your channel. Love your teaching style. Might be my favorite I've ever come across on yt.

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว

      Hi Do'be! Thank you for such a kind feedback and welcome, good to have you here ❤

  • @granumuse7847
    @granumuse7847 3 ปีที่แล้ว +1

    WOW!!!! It was fantastic!!!!
    Thank you Frank 😊

  • @Jesse-fj8mn
    @Jesse-fj8mn 2 ปีที่แล้ว

    a great nosedive into generative art! thank you!

  • @evaristocuesta
    @evaristocuesta 3 ปีที่แล้ว +1

    Great effect! Awesome as always!

  • @urssounds
    @urssounds 3 ปีที่แล้ว

    Jeez!! This is amazing! Thank you so much for passing on so much knowledge in this clear and concise way! 🙏

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว +1

      I'm here to help, thank you for letting me know you found some value in the course

  • @deolalpatel4724
    @deolalpatel4724 3 ปีที่แล้ว

    Bro keep up making this video(for which I have no words) , one day you will Reach millions subscribers

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว

      Thanks Vinay, it's nice to get a supportive comment like this

  • @brittanycerra
    @brittanycerra 2 ปีที่แล้ว

    This was super helpful and fun to watch. Thank you!

  • @CoolScratcher
    @CoolScratcher 3 ปีที่แล้ว +2

    well this is kind of mind-blowing

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว

      Hi CS, glad you think so, thanks man

  • @markpx
    @markpx 3 ปีที่แล้ว +1

    Brilliant as always!

  • @jeenitprajapati3449
    @jeenitprajapati3449 3 ปีที่แล้ว +1

    AWESOME CSS Skills you have. 😃😃

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว

      Thank you Jeenit, this was mostly JavaScript

    • @jeenitprajapati3449
      @jeenitprajapati3449 3 ปีที่แล้ว +1

      @@Frankslaboratory Yes I do mean you have amazing HTML, CSS, JS Skills

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว

      @@jeenitprajapati3449 Thank you Jeenit, very kind

  • @greyarm8011
    @greyarm8011 2 ปีที่แล้ว

    Your videos are truly amazing. Thank you so much and keep it up please!

  • @aidanbenbow6682
    @aidanbenbow6682 2 ปีที่แล้ว

    We all need to move from darkness towards the light! 13:30 ...nice tutorial by the way!

  • @paulthomas1052
    @paulthomas1052 ปีที่แล้ว

    Very useful and well put together demo. Thanks :)

  • @TheVertical92
    @TheVertical92 3 ปีที่แล้ว

    I'll admit that i never absolved one of your turorials. But i always click to see your newest creation.
    Someday i might want to build some cool animations in a website.

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว

      Hi, nice to meet you, thanks for leaving a comment. What coding tutorials do you usually do, it seems you have interest in creative coding but no time to actually do it, I had the same problem for many years :D

  • @coltonaallen
    @coltonaallen 3 ปีที่แล้ว +2

    Recursion within the class itself? That's awesome! I never even considered that. Is that in any way more performant as opposed to an animation loop like you usually do, because my PC is not that great and has issues when running too many nested for loops? Definitely looking forward to giving this a try.
    Another great video! Always entertaining and educational, thanks, Frank!

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว +2

      Hi Arthur, in this case I kinda trust requestAnimationFrame to be optimised out of the box. I didn't do aby big performance tests for this technique but on my PC it runs well. Canvas shadows I use at the end are a problem and they can cause a lot of lag on weaker computers. This video is experimental, when it comes to generative art I don't spend too much time on optimisations, even though I should do it for evert video. I need to find some people with weak computers that will test my codebases haha. I will create FPS counter in upcoming video, it should give us better idea about how these animations perform. Hope you're doing well in your new job

    • @coltonaallen
      @coltonaallen 3 ปีที่แล้ว +1

      @@Frankslaboratory my job is going great! I love it, thanks for the well wishes. And in fact, they are providing me with a MacBook pro, so hopefully I'll be able to create more stuff without any hardware hindrances. An fps counter would be cool! I created one on one of my codepens on one of the imageData particle projects. Would be pretty neat, but I enjoy learning from your videos even though my PC struggles with the more intensive stuff.
      I guess I was just asking because I was learning a little about big O notation and performance formulas, but after thinking about it, it's still a 1/1 because the loop is still running, and if you loop through again for collision detection, it's still O(n²), so I'll just wait for my company-provided computer. Lol. Thanks again for the video. You always open my eyes to how much stuff you can do with canvas.

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว +1

      @@coltonaallen Macbook pro has great performance, I also have one for work. You will be able to crunch heavy animations with 1000 active particles easily haha. In this particular effect we don't do any complex algorithms but when it comes to nested for loops I used for constellations effect for example, then we get exponential complexity and things can really slow down. Also every draw call on canvas is expensive so we need to be mindful of that. There are techniques like quad tree to help with performance of particle effects, but I haven't done tutorials on that yet, since I'm trying to get beginners in first. Glad to hear you are settling well in your new job.

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว +1

      Hi Arthur, I can see you left a comment but TH-cam is auto removing them before I can read it, so annoying. I reported the bug many times, they have the most useless support I have seen in a long time, they don't believe me comments are being removed. Hope you're well.

    • @coltonaallen
      @coltonaallen 3 ปีที่แล้ว +1

      @@Frankslaboratory yeah, I tried sending it like 3 or 4 times. Anyways, I just wanted to share a little story with you.
      As I said before, I started working as a front-end dev shortly ago, and this past week one of my coworkers was building a site for one of our clients, and the design called for bubbles (their logo) to fall slowly in the background. She addressed that she was a bit unsure how to handle mobile responsivity because the bubbles would bunch up together did to the small screen size, so I ordered to assist.
      Within 20 minutes I had added a canvas to the main content container and used everything you taught me about particle effects and used the ctx.drawImage() method to draw the bubbles and randomly generate their x position. Once they reach the bottom, y position is returned to the top along with a newly generated x position. Everyone was impressed and loved the effect.
      I just wanted to share that with you and let you know that you're making a difference in our lives as devs (at least mine for sure). You're a great teacher and put out the best content out there by far. Please never stop these awesome videos! I owe this success to you, my friend.
      Thanks for another awesome video! Can't wait to see some more and continue my learning journey. I wish you all the best!

  • @Xyzzzz307
    @Xyzzzz307 3 ปีที่แล้ว +1

    Your videos are going from basic to exclusive with each video :)

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว +2

      Yes, I'm trying to teach beginners some of the more advanced stuff as well. This effect is not that complicated actually, no complex calculations here

    • @Xyzzzz307
      @Xyzzzz307 3 ปีที่แล้ว +1

      @@Frankslaboratory
      But still improving our skills 👍🏻

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว

      @@Xyzzzz307 Yes, every coding exercise improves our skills, practice makes perfect :)

  • @jazergiles
    @jazergiles 3 ปีที่แล้ว +1

    Thank you Frank! This is awesome.

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว

      Jazer! Glad you think so, thank you for letting me know :)

  • @frogfox9577
    @frogfox9577 3 ปีที่แล้ว +1

    Very Nice !!!
    we can learn it direclty or is better than see other tuto before ?

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว +1

      Hi, I explain everything in this video but I go faster since I already covered individual techniques on my beginner playlist

  • @shaikhsanuar5339
    @shaikhsanuar5339 2 ปีที่แล้ว

    Amazing as usual 😍

  • @65103715
    @65103715 3 ปีที่แล้ว +1

    Awosome video 🔥 very helpful

  • @vaibhavkhandelwal5771
    @vaibhavkhandelwal5771 3 ปีที่แล้ว +1

    You are great, sir
    First comment

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว +1

      Vaibhav, congratulations, you win the first comment race this week :D

  • @unknown-bx8my
    @unknown-bx8my 3 ปีที่แล้ว +3

    great tutoriol🔥🔥.
    this.willFlower = this.size > 11.5 ? true : false;
    i think this code work also for ternary operator👍

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว +2

      Yup, ES6 syntax is great, I will try to use it more often now that it has good browser support

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว +1

      I think your syntax might be better than mine, just testing it

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว

      @Markus Zeller Sorry I misspelled your name earlier Markus, i had a long day editing the video haha. Time for a Friday break for me :D

  • @Ardren
    @Ardren ปีที่แล้ว

    That's cool. I've never really done anything like that before in JS. I spend 99% of my time processing data and making tables sort 🙂

    • @Frankslaboratory
      @Frankslaboratory ปีที่แล้ว +1

      Glad I was able to show you something new! :)

  • @blackpearl1066
    @blackpearl1066 ปีที่แล้ว +1

    BROO You just made my life new!! /** @type */ xD didnt know that! thanks bro

  • @Programming-Fun-With-Hima
    @Programming-Fun-With-Hima 3 ปีที่แล้ว +1

    Just wow 👏

  • @mdAhnafTahmid
    @mdAhnafTahmid 3 ปีที่แล้ว +1

    You should start teaching on udemy, skillshare like platforms man. Loved it

  • @BABA_V0SS
    @BABA_V0SS 6 หลายเดือนก่อน

    Inspirational ❤

  • @generalmax8632
    @generalmax8632 3 ปีที่แล้ว

    wooooooooooow , amazing !!!!

  • @thebugcoder3391
    @thebugcoder3391 3 ปีที่แล้ว +1

    THIS IS SO COOL! :DDD

  • @rojokongen
    @rojokongen 2 ปีที่แล้ว

    Beautiful!

  • @OchirBFolo
    @OchirBFolo 3 ปีที่แล้ว +2

    Living legend 🔥

  • @wasabiwasabi3281
    @wasabiwasabi3281 3 ปีที่แล้ว

    Thank you so much for your posting such a voluable contents. Please make more vdo about howto +codr for generative art like this vdo for biginner please.

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว

      I'm working on more generative art, coming soon :)

  • @ayoubdev8019
    @ayoubdev8019 ปีที่แล้ว

    You are amazing

  • @skarbazalam4284
    @skarbazalam4284 3 ปีที่แล้ว +1

    i am again here to watching your video still i am in this but i know its fantastic.

  • @sneaky-Jay
    @sneaky-Jay 3 ปีที่แล้ว +1

    i could not focus at the intro 'cuz i couldn't stop staring at your t-shirt inversed sleeve and collar non simmetry :)) - cool JS stuff i wonder if i can use canvas to make cool animated buttons for sites - i'll do some research :)

    • @unknown-bx8my
      @unknown-bx8my 3 ปีที่แล้ว

      th-cam.com/video/lPVZYS4fvco/w-d-xo.html

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว

      Oh noo, you noticed :D I noticed too late and was lazy to rerecord it hahaha, I'm asymmetrical just like my paint brush effect in this video :D I used canvas on buttons in previous video, you can do it, might be a bit overkill according to some people who commented on that hahaha

    • @sneaky-Jay
      @sneaky-Jay 3 ปีที่แล้ว +1

      @@Frankslaboratory lol i have OCD - in my frontend develompent kinda helps, but in real life i make enemies :)))

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว +1

      @@sneaky-Jay OCD will make you a great coder so I'd say it's a good thing :D

  • @gaurav561crazy5
    @gaurav561crazy5 3 ปีที่แล้ว +1

    Ok expert level coding

  • @michaellarocca1435
    @michaellarocca1435 3 ปีที่แล้ว

    Truly amazing!

  • @zourdy697
    @zourdy697 3 ปีที่แล้ว +1

    damn frank you are the best teacher no doubt

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว +1

      Tommy, that's very kind and exactly what I want to hear on Friday night, thank you :D

  • @Shortvideo-vt7tp
    @Shortvideo-vt7tp 3 ปีที่แล้ว

    Thanks sir your all video is very nice

  • @a.l5421
    @a.l5421 3 ปีที่แล้ว +2

    Great❤️❤️❤️

  • @specy_dev
    @specy_dev 2 ปีที่แล้ว

    I think it would be better to put the roots inside an array and iterate through them to update them at each frame request, it's much better than having one event listener for each root. You also have more customisability and easier to manage as you are exporting logic from the root to the request animation frame

  • @he4-f2e
    @he4-f2e 3 ปีที่แล้ว

    fantastic!

  • @he4-f2e
    @he4-f2e 3 ปีที่แล้ว

    You are an artist developer!

  • @sniper_48x0
    @sniper_48x0 2 ปีที่แล้ว +1

    I am using the flower image you have and I set this.image.src to the image. file and the image isn't showing. How do I fix this? Thx!

    • @Frankslaboratory
      @Frankslaboratory 2 ปีที่แล้ว

      Hi Caleb, hard to tell like this from your comment, if you want source code for comparison you can message me on Twitter

  • @theman7050
    @theman7050 2 ปีที่แล้ว

    Thank you very much :)

  • @colemcconnell9203
    @colemcconnell9203 3 ปีที่แล้ว

    THIS IS DOPE

  • @SathishS-y3z
    @SathishS-y3z 5 หลายเดือนก่อน

    🤩

  • @widevader
    @widevader 3 ปีที่แล้ว +2

    Ahhh yes the video is out. Recreation shall commence my lord.

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว +1

      In a dark place we find ourselves, and a little more knowledge lights our way. :D

    • @widevader
      @widevader 3 ปีที่แล้ว +2

      @@Frankslaboratory to the greatest powers of javascript. So we could rule the internet.

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว +1

      @@widevader One who controls JavaScript controls all :D

    • @widevader
      @widevader 3 ปีที่แล้ว +2

      @@Frankslaboratory unlimited powwwaaaaaaa

  • @deepakbhargav7434
    @deepakbhargav7434 3 ปีที่แล้ว +1

    Thank you

  • @alexandrevolts7513
    @alexandrevolts7513 3 ปีที่แล้ว +1

    21:15 Ternary operator is not ES6. Plus you say that this syntax is clear and concise, but I think that `this.willFlower = (this.size > 11.5)` is even more concise ;)

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว +1

      Hi Alexandre, thank you for correcting me. Just checked and you are right. I think I first learned it while doing ES6 course from Wes Bos so I guess I assumed, he has a chapter on it in his famous course I think. Your syntax is better yes, apparently in this case I could have also used this.willFlower = this.size > 12.5. I'm learning from these comments, thank you.

    • @coltonaallen
      @coltonaallen 3 ปีที่แล้ว +1

      @@Frankslaboratory wes Bos is awesome! Great content! Syntax podcast is great too!

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว +1

      @@coltonaallen Yup, I learned a lot from Wes Bos premium courses, worth the money

  • @initfunction6961
    @initfunction6961 3 ปีที่แล้ว

    Finally, i can simulate protein folding using javascript.

  • @erikr007
    @erikr007 2 ปีที่แล้ว

    Very nice video Small nit on the coding style... at 21:45 the code would more conventionally be written:
    this.willFlower = (this.size > 11.5 ? true : false)
    or even just:
    this.willFlow = (this.size > 11.5)

    • @Frankslaboratory
      @Frankslaboratory 2 ปีที่แล้ว

      Hi Erik. Thank you for pointing that out. You are right your code is much nicer. I will think of it next time I'm using similar technique

  • @nz-vg2jd
    @nz-vg2jd 2 ปีที่แล้ว

    🌼

  • @mikkymatff4053
    @mikkymatff4053 2 ปีที่แล้ว

    I would love to see how it is possible to make this interaktiv with an camera or kinect.

  • @Donnijohnson
    @Donnijohnson 2 ปีที่แล้ว

    This is awesome!!!!!!!!!!!! How can I make it work when I resize the canvas size (20remx20rem), as I'm still getting the coordinates of the whole window size from the browsers window object?

    • @Frankslaboratory
      @Frankslaboratory 2 ปีที่แล้ว

      Hi. If your canvas doesn't cover the entire browser window you can calculate and match mouse/canvas coordinates by accounting for top and left space between canvas and browser window. Probably there is an event property for that as well. Can't think of the name right now. Will check it when I'm home. Might make a tutorial on this as well

    • @Donnijohnson
      @Donnijohnson 2 ปีที่แล้ว

      @@Frankslaboratory Thanks for the hint! I managed to do this by setting the canvas' width & height to the canvas elements' size:
      canvas.width = canvas.clientWidth;
      canvas.height = canvas.clientHeight;
      and listening to the canvas instead of the window plus calculating the canvas' space from top and left of the screen with element.getBoundingClientRect() like so:
      canvas.addEventListener('mousemove', (e) => {
      if (drawing) {
      for (let i = 0; i < 30; i++) {
      const fromTop = canvas.getBoundingClientRect().top;
      const fromLeft = canvas.getBoundingClientRect().left;
      const root = new Root(e.x - fromLeft, e.y - fromTop)
      root.update();
      }
      }
      })
      Cheeers!

  • @TheMisieq93
    @TheMisieq93 3 ปีที่แล้ว

    I have a question about relation between framerate and quantity of the branches. It is related ? i think so, because on update method there is reqAnimFrame. Am i right? Anyway, on my PC i have much more branches generated even before for loop you introduced on 14:40. Thanks for another great piece!

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว +1

      Hi, it is related. It adds a new branch every time mouse move event ticks which will depend on performance of your PC. The right way would be to pass a time stamp and add new set of branches let's say every 200 ms. That way it would be consistent on all machines. I will use timestamps in my next video, I wanted to keep this one straightforward and this is another thing to explain. thanks for mentioning that

    • @TheMisieq93
      @TheMisieq93 3 ปีที่แล้ว

      @@Frankslaboratory Thank You for your answer. It cleared out the enigmatic behaviour of my code. I think it is important for code to be consistent on all machines. I would like to see next video about this :D Pozdrawiam!

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว

      @@TheMisieq93 So you are Polish, I'm Czech :D I agree with you. There are several good practices that I should use every time, but sometimes I don't because it would make the videos twice as long, I will make separate videos on it soon.

    • @TheMisieq93
      @TheMisieq93 3 ปีที่แล้ว

      @@Frankslaboratory I agree, just a showcase of techniques you're using, without excess code. Thanks again for your answers :D BTW i was pretty sure you are a Czech, i've had to read about this or something? IDK. Pozdrawiam raz jeszcze z pobliskiego kraju :D

  • @irun_mon
    @irun_mon ปีที่แล้ว

    This is what front end should do? damn imma switch to back end then T_T

  • @hunphyop916
    @hunphyop916 3 ปีที่แล้ว

    Any way to do this same thing without the canvas element ?
    But with regular html elements?

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว

      Hi. Its not possible to draw complex graphics with html elements. You can do basic animations with images and simple shapes but canvas will always perform faster and have many more options. It depends what exactly is your goal. These effects in particular need canvas

  • @VijayDev
    @VijayDev 3 ปีที่แล้ว

    Just noticed a difference that may have been updated in browsers after you release this video or maybe just specific to some browsers. Setting context properties globally like lineWidth and globalCompositeOperation did not work. It had to be set just before calling fill, stroke, and draw. Seems to me that API uses local values over global values.

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว

      Hi Vijay, do you know what browser this happened on? It's fine in Chrome, I can't reproduce it

    • @VijayDev
      @VijayDev 3 ปีที่แล้ว

      @@Frankslaboratory I used brave. It's a cromium fork, so I don't know why 🙃

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว +1

      @@VijayDev I see, I only test my stuff in major browsers, will check brave now

  • @har8782
    @har8782 2 ปีที่แล้ว

    Is there a way to save the final animation as a gif?

    • @Frankslaboratory
      @Frankslaboratory 2 ปีที่แล้ว +1

      Yes, canvas can export gifs, I will make a video on that eventually. You can also just record your screen and convert that video to a gif with some video editor, most of them can output gifs

    • @har8782
      @har8782 2 ปีที่แล้ว

      Thank you! I would love to see the video explaining that process! 🤗

  • @krxnx_wrld
    @krxnx_wrld 2 ปีที่แล้ว

    why my image in browser looks lofi quality and bigger than your example?

  • @rafaelferreira7204
    @rafaelferreira7204 2 ปีที่แล้ว

    you forgot the link for beginners in the description :(

  • @DavidSusic
    @DavidSusic 2 ปีที่แล้ว

    I am not getting the canvas at the side... what am I doing wrong?

    • @Frankslaboratory
      @Frankslaboratory 2 ปีที่แล้ว

      do you mean the browser window?

    • @DavidSusic
      @DavidSusic 2 ปีที่แล้ว

      @@Frankslaboratory Yes, thank you. I figured its the browser, now it works. Thanks for the video.

  • @GNLSN88
    @GNLSN88 2 ปีที่แล้ว

    how can we convert this to gif SVG, MP4, WEBM

    • @Frankslaboratory
      @Frankslaboratory 2 ปีที่แล้ว

      Hi Günal, it's possible to generates GIFs with JavaScript in browsers, not something I can explain here in a comment. Other video formats are complex I think as decoding etc would be involved. I'm lazy so I simply record my screen with OBS studio and then I use some video editor to crop it and export as GIF, easy and simple way to turn my animations into gifs and videos

  • @sumitmishra-cy4uz
    @sumitmishra-cy4uz 3 ปีที่แล้ว

    When I added this.angle it isn't working like that
    No curves
    Still getting straight lines

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว

      Hi Sumit, there is a bug somewhere in your code. If you can't find it you can message me on Twitter, I can give you the final code files for comparison

    • @sumitmishra-cy4uz
      @sumitmishra-cy4uz 3 ปีที่แล้ว

      @@Frankslaboratory thanks for replying it is resolved

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว +1

      @@sumitmishra-cy4uz Awesome, happy to hear that :D

  • @eranerandal5088
    @eranerandal5088 3 ปีที่แล้ว

    Please make tutorials about tile map and tile collision small game

  • @mattsavage3258
    @mattsavage3258 ปีที่แล้ว

    I need to correct your statement that the ternary operator is an ES6 construct. Rather, the ternary operator was introduced way back in 1997 in ECMAScript 1. It's been around a looong time, and is not a new thing whatsoever.

    • @Frankslaboratory
      @Frankslaboratory ปีที่แล้ว

      Hi Matt, thank you for pointing that out. I think I just watched 'ES6 for everyone' course by Wes Boss around the time I recorded this, which has a chapter on ternary operator and that's why I said it. Always learning :D

  • @mrngamer272
    @mrngamer272 2 ปีที่แล้ว

    why it didnt work for me?

    • @Frankslaboratory
      @Frankslaboratory 2 ปีที่แล้ว

      There's a typo somewhere in your code. It becomes easier as you do more coding, but if you are completely lost probably you are not ready for projects like this. I always recommend doing a few beginner courses before doing complex gen art projects like this one.

    • @mrngamer272
      @mrngamer272 2 ปีที่แล้ว

      @@Frankslaboratory thank you for the help! I actually figured what was wrong in my code, first I had linked incorrectly the js file and then I mistyped the canvas width and height properties. It was frustrating to not get it to work during the video, but much more satisfying to fix it by myself. Thank you for the knowledge!

    • @Frankslaboratory
      @Frankslaboratory 2 ปีที่แล้ว +1

      @@mrngamer272 Nice work. debugging is the part of coders life :D It becomes easier. With projects like this it's always good to use console log to inspect our arrays and variables to see where it went wrong

    • @mrngamer272
      @mrngamer272 2 ปีที่แล้ว

      @@Frankslaboratory I see it now. I'll try to console log more!

  • @Bababoi42069
    @Bababoi42069 2 ปีที่แล้ว

    Do someone have script i wanna try things with it

  • @unveil7762
    @unveil7762 3 ปีที่แล้ว

    Mmmm java ??? Why not open gl ?? At least all this good code can be used for real in vj Softwares…

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว

      Hi Francesco, this is JavaScript, Java is a backend language for server side stuff. Open GL is really good but 10 times more code to achieve this. I will do a series on web GL/ open GL but it will be much more advanced than this video, because you have to manage camera angles, z axis, shaders etc

  • @technicallokaya6726
    @technicallokaya6726 3 ปีที่แล้ว +2

    Can you teach me how to create own three .js ? Trust me it'll be more helpful for all. Please 😢😭
    Edited:- if you love your fans, you'll make your next video about creating own three.js

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว +1

      Hi, do you want me to use Three.js to create animation or to build our own library similar to Three.js :)

    • @technicallokaya6726
      @technicallokaya6726 3 ปีที่แล้ว +2

      @@Frankslaboratory build own library similar to three js.

    • @Frankslaboratory
      @Frankslaboratory 3 ปีที่แล้ว +1

      @@technicallokaya6726 That's a big project, I want to do it but I think i will first start with a 2d library to explain the basics

    • @technicallokaya6726
      @technicallokaya6726 3 ปีที่แล้ว +1

      @@Frankslaboratory ok. Thanks bro

  • @adeshmahatme1988
    @adeshmahatme1988 3 ปีที่แล้ว

    webgl videos

  • @SILVERFANG77
    @SILVERFANG77 9 หลายเดือนก่อน

    Hello, can you make 3d perspective(not orthographic view) game tutorial using vanilla javascript.. please 🥺