Giving Personality to Procedural Animations using Math

Поділитися
Вставка
  • Опубліковано 21 лис 2024

КОМЕНТАРІ • 2,6 тис.

  • @t3ssel8r
    @t3ssel8r  Рік тому +124

    For FAQ and a deeper discussion on this video, check out the writeup:
    www.patreon.com/posts/procedural-video-82487305

    • @thanhlongtran9163
      @thanhlongtran9163 Рік тому +3

      Small question: What happens if you just want y to be x? What value would f, z, r be? I try to solve for it, but
      1. The result is dependent on T. So if you have a variable framerate, you must update the value every frame
      2. In your writeup post, it impossible to derive the value from the fully implicit Euler

    • @t3ssel8r
      @t3ssel8r  Рік тому +6

      if you want y to be x, it corresponds to f=infinity. You can show that in the limit this results in y=x. k1 k2 and k3 all become 0, so if you really need to support it in code, the 0/0 would need a special case to handle.

    • @thanhlongtran9163
      @thanhlongtran9163 Рік тому

      @@t3ssel8r That's one way to do it, but k1, k2, and k3 can be non-zero. Because y = x and dy = dx, you just need to make sure k2*ddy = (k3 - k1)*dx. But the problem is after solving this, f, z, and r must be recalculated every frame because they are dependent on T.

    • @thanhlongtran9163
      @thanhlongtran9163 Рік тому

      @@t3ssel8r@ t3ssel8r Actually, k1/2/3 cannot be zero. Because y is updated by dy, and dy is updated by ddy, to make y equal to x, dy must be equal to dx. This means ddy can't be equal to zero, because if ddy is equal to zero, dy never changes. This means k1/2/3 must equal some non-zero/non-infinite value. Does it make sense, or am I missing something? Sorry if this sounds confusing, but math isn't my strong suit, and I just really want to solve this.

    • @thefastsnake3015
      @thefastsnake3015 Рік тому

      I’ve been trying to write this up in Desmos for a while now but I can’t figure it out, I wrote a function which takes a collection of points and translates it into a usable format but when I try to implement the formulas it either gives me lines ghat stretch way too far or lines that are just the input, and how does second derivative work for y? it always goes to 0 and the derivative of x is 1 so what’s the point of it?
      edit: NVM, I rewatched and noticed that you said that x is the dynamic change which would mean that my calc is wrong, I used the change as the y

  • @zaraimpala3962
    @zaraimpala3962 2 роки тому +10508

    or you could leave the glitch in
    and in 10 years speedrunners are going to use their unlimited in game frame rate to backwards long jump into a parallel universe

    • @samic
      @samic 2 роки тому +390

      I started to think this is the reason why Elden Ring has this "Long Zipping" glitch used by speedrunners.

    • @StalkinU
      @StalkinU 2 роки тому +197

      It'sa me! aaaaaaaaaaaaaaaaand he's gone.

    • @KrylogaX
      @KrylogaX 2 роки тому +86

      & .5 button presses

    • @papa_goobs
      @papa_goobs 2 роки тому +60

      @@samic no, they cannot remove/fix it without completely overhauling a small part of the physics rendering, sadly.

    • @TimeTravelingFetus
      @TimeTravelingFetus 2 роки тому +65

      This comment really raised my scuttlebugs

  • @aarthificial
    @aarthificial 2 роки тому +2121

    Up until this point, I've been using the spring equation for all my procedural animation.
    How come I've never seen it written as a second-order system is beyond me.
    This is a perfect generalization.
    I'm absolutely stealing this.
    Thank you so much for making this video

    • @lonelyfloat2582
      @lonelyfloat2582 2 роки тому +87

      Ooh, one of my favorite gamedev youtubers commenting on another one of my favorite gamedev youtuber's video!

    • @thejustlexa
      @thejustlexa 2 роки тому +114

      "I'm absolutely stealing this." practically a motto of game dev lol

    • @marlonruvalcaba386
      @marlonruvalcaba386 2 роки тому +9

      UA-cam inception

    • @slydiogenes8796
      @slydiogenes8796 2 роки тому +50

      its not stealing, this is math. mathematical breakthroughs in fundamental understanding represents a milestone for all humanity, not just the discoverers. to try and stay away from them is to stand in the way of progress. in other words, you have a DUTY to use the techniques laid down by scientists before you to your own ends.

    • @pladselsker8340
      @pladselsker8340 2 роки тому +8

      I'm happy to hear that the animations of the game are going to be even better than what they already were xD

  • @ojonasar
    @ojonasar 2 роки тому +4641

    Imagine being able to bring Euler into the present and show him the sort of things his maths has led to.

    • @xhappybunnyx
      @xhappybunnyx 2 роки тому +351

      Especially it being explained to the masses so well by a youtuber. It'd be one thing to see your own eq at a lecture hall but this just gives me tingles

    • @Secret_Moon
      @Secret_Moon Рік тому +426

      "Don't worry, you don't need math and physics to take animation class."
      Animation class:

    • @LaplacianFourier
      @LaplacianFourier Рік тому +54

      Euler is the greatest mathematician ever.

    • @primenumberbuster404
      @primenumberbuster404 Рік тому +17

      Included in the Bucket List ✅

    • @yoyolol22
      @yoyolol22 Рік тому +4

      He would be so ashamed

  • @vex123
    @vex123 Рік тому +2010

    I'm a controls engineer and this video was very fascinating. They really should be teaching this stuff in Universities with practical applications that students can understand rather than just raw math. Thanks for sharing!

    • @glensnoir
      @glensnoir Рік тому +163

      This was my thought too! May have paid more attention in theory lectures if I was animating a robot rather than a MATLAB figure 😂

    • @brightquark
      @brightquark Рік тому +27

      I dont know why he's sticking with the time domain when complex Laplace transform and Pole Zero analysis make these problems much easier to analyse

    • @2horas
      @2horas Рік тому +38

      It took me a whole semester of learning this (while performing well on tests) to actually understand what the hell I was doing.
      It would certainly be good to have a more visual simulation instead of a dry graph.

    • @timeless8285
      @timeless8285 Рік тому +12

      @@brightquark he used pole zero matching

    • @checkm8606
      @checkm8606 Рік тому +24

      @@brightquarkwell Laplace does not do so well in mimo-systems... but here (as you said) Laplace would suffice...
      I guess it is more difficult to explain the whole laplace-transfo to someone who had no course for that in university...

  • @Sefcear
    @Sefcear Місяць тому +9

    2 years later and this is still the only video of yours to be infinitely recommended

  • @AdamCYounis
    @AdamCYounis 2 роки тому +2258

    Great stuff! I'm really not literate enough to understand the math, but your way of explaining these things made it really easy to see the effect and value of what you're doing. The results are seriously impressive, and your game is looking fantastic. Can't wait to see more :)

    • @t3ssel8r
      @t3ssel8r  2 роки тому +370

      thanks! I had a feeling I went a bit hard on the math, but at least it's an honest presentation of the real process that usually happens behind the scenes.

    • @rustedfriend
      @rustedfriend 2 роки тому +69

      I feel the same way. I've been wanting to learn more of the types of math to do these things but didn't even know where to start with what types of math. This gave me a better general understanding of how it's applied but also more info on what to learn.

    • @BeingFriends
      @BeingFriends 2 роки тому +2

      Adam!

    • @cameronlile2931
      @cameronlile2931 2 роки тому +2

      Love you Adam

    • @RyuBateson218
      @RyuBateson218 2 роки тому +4

      Imagine an enemy coded by t3ssel8r and drawn by Adam. :O

  • @canadian_spaceman
    @canadian_spaceman 2 роки тому +1027

    You just walked me through my 3rd and 4th year engineering stability & controls class like it was nothing. Great content, and much appreciated on the refresher!

    • @Mrjcraft00
      @Mrjcraft00 2 роки тому +64

      I’m glad someone else sees the engineering connection, it threw me for a loop. I’m taking a system dynamics class right now!

    • @koktszfung
      @koktszfung 2 роки тому +16

      @@Mrjcraft00 I learnt about this in a classical mechanics course

    • @tohamy1194
      @tohamy1194 2 роки тому

      Exactly what I was thinking

    • @hrdwan2000
      @hrdwan2000 2 роки тому +14

      I'm doing a differential equations and linear algebra class, it all clicks in place.

    • @dospuntospe
      @dospuntospe 2 роки тому +8

      I took a computational physics class earlier this year and I walked into this video expecting another thing completely, but was shocked when they resumed the core of the class beautifully in 15 minutes, what a great video.

  • @rohanselvan4339
    @rohanselvan4339 2 роки тому +1606

    I am an engineering student, and I gotta just say I really appreciated the time you spent illustrating second-order damped responses with the little animations! It was awesome!

    • @donwackyaids1771
      @donwackyaids1771 2 роки тому +11

      Beat me to it

    • @wilurbean
      @wilurbean 2 роки тому +19

      I'm an Engineering Physics student and I was studying co/contra-variant vectors for hw in a physics math class. Found this video and it's awesome to see all the crap we had to learn in such an elegant animation and idea

    • @Moggeth
      @Moggeth 2 роки тому +14

      Mechatronics engineering student here, adding my thanks to the pile!

    • @georgeforester3366
      @georgeforester3366 2 роки тому +5

      I wish I could talk to all of you if you found going to university helped understand concepts in this video. I find programming alone is limiting me.

    • @MrJ3
      @MrJ3 Рік тому +7

      @@georgeforester3366 I think it does. Having a degree in Computer Engineering, I can tell you every concept mentioned in the video is something you come back to time and again in different courses. Even the thing mentioned at the end, ”pole-zero matching”. Videos like this are a good reminder that the things taught in academia have real applications, even as a programmer.

  • @PPSzB
    @PPSzB Рік тому +726

    Now my physics degree pays off finally, I can understand what's happening in this random youtube video that youtube algorithm showed me. Btw. good content, the animations and the game looks gorgeous

    • @pvt.ltd.yt_industries
      @pvt.ltd.yt_industries Рік тому +4

      what did you study in your physics degree?

    • @BatmanBeyondBelief
      @BatmanBeyondBelief Рік тому +12

      I failed physics so hard but love the subject

    • @eyeigensoftware
      @eyeigensoftware Рік тому +14

      Not really when you consider the fact that people without physics degrees...or any degrees at all, can easily understand this video and replicate his implementation. Scientists, especially mathematicians, tend to ivory tower their knowledge presentation to seem more grandeur than it is to feed their ego. I believe thats considered having delusions of grandeur.

    • @DS-nv2ni
      @DS-nv2ni Рік тому +24

      ​@@eyeigensoftware You are totally right, the educational system is a failure.
      I have to talk every day with people with math, physics and engineering degrees, sometime even multiple, from Oxford to who-knows-who-rich-university, and when it comes to specific domain knowledge, they are like robots, can spit it out all by memory, but when it comes to use some common sense or to approach something in a different way, well... they are like robots indeed.
      Anyway, I believe that a degree is very helpful, for who has the correct mindset already, for the others is just a piece of paper and a bunch of words memorized to look good the day you need to say them.

    • @chips.3927
      @chips.3927 Рік тому +8

      Kinda disagree with you, not to feed their ego but rather just to merely explain how it works in scientific way ( Their brain are like programmed into this particular way of thinking in math, probably to explain more and more knowledge for others to know )@@eyeigensoftware

  • @vil3n80
    @vil3n80 Рік тому +422

    Having just taken my ODE course i didn't realize what i was learning. This made me appreciate all the pain and suffering i just went through

    • @DS-nv2ni
      @DS-nv2ni Рік тому

      Why you were watching this then? And why you came here to comment this exact message? Looks like propaganda pro-university. I notice many people like you feel the urge to defend themselves somehow. It's very odd.

  • @fakestiv
    @fakestiv 2 роки тому +417

    The internet (and specifically UA-cam) has become such an important early source of information for those willing to learn more than what they are taught in high school that I find it extremely important for videos like this to exist... To show what actually goes into making this kind of things: from coming up with an analytical solution, to parametrizing it in an artist-friendly way, to finally coming up with a numerical solution that satisfies all prerequisites. This is extremely important for those who have access to all the information in the world but desperately need a direction... Having been there I really can't stress this enough...

    • @ollie-d
      @ollie-d 2 роки тому +7

      A lot of videos (this included) go beyond that and are more valuable than a lot of equivalent college lectures, even. In one of my machine learning classes as an undergrad, the professor showed us 3B1B's video on neural networks as an introduction. I'm now a PhD student and when I teach my students eigenvectors, I recommend 3B1B's video as a refresher, but also as a conceptual starting point for the inexperienced. I've seen hundreds of academic talks now in my early career and it's hard to think of more than a handful that are comparable or better in terms of clarity than videos like this, and I think people are sleeping on that. Personally I take a lot of inspiration from videos like this since visualizations are incredibly potent and really force you as the presenter to break things down into parsimonious chunks. The only obvious drawback is that making something like this takes more time than probably four weeks of upper-div lecture material haha

    • @adrianlowery7175
      @adrianlowery7175 2 роки тому +5

      I think it shows the exciting ways that math can be applied in this world - ESPECIALLY ways that will grab young students' attention. I wish I stumbled upon videos like this when I was in middle school or high school, because I would have learned to actually give a shit about math.

    • @owlmaster1528
      @owlmaster1528 2 роки тому +4

      @@adrianlowery7175 That is exactly the reason why we were not taught in that way. We would be too smart to control... All by design

  • @jeffstienstra3615
    @jeffstienstra3615 2 роки тому +1686

    t3ssel8r: "...but to understand it properly, we'll have to get a bit more technical with our analysis." 9:42
    me: "hey whoa whoa, wait a sec...I thought we were being technical this whole time."

    • @ultimaxkom8728
      @ultimaxkom8728 2 роки тому +91

      _"But first, we need to talk about parallel universes"_

    • @oxob3333
      @oxob3333 2 роки тому +4

      @@ultimaxkom8728 i see what you did there

    • @AndrewMaller-qy8mo
      @AndrewMaller-qy8mo Рік тому

      CODEPARADE REFERENCE?!?!?!

    • @lukasfletcher4732
      @lukasfletcher4732 Рік тому

      I just came back to watch this video after a long time. When he got to that part I immediately remembered your comment. Even the second time around, very accurate description of my thoughts at that moment!

    • @seejay_through_life
      @seejay_through_life Рік тому

      guess what, baby, technical is a SPECTRUM

  • @stylextv
    @stylextv 2 роки тому +227

    Damn, that robot looks so clean and feels so smooth. I especially like the shooting sfx.

  • @TheMultipower47
    @TheMultipower47 Рік тому +192

    That direct swap between code and math was so helpful. One of the best explanation channels I have seen

  • @ulaasKb
    @ulaasKb Рік тому +8

    In Turkish, there is a saying as "Alaylı ve okullu kişi."
    It separates people according to the way of education or self-education in a subject.
    Alaylı(Self-taught): A person who has trained himself without the school education required for a profession.
    Okullu(Schooled): A person who has received the school education required for a profession.
    Both "Alaylı" and "Okullu" people are seen as the most competent and knowledgeable in a subject.
    These are the people who can convey and explain the best information on the subject.
    For you, I can say "You are both "Alaylı" and "Okullu".
    It was a great explanation. I wish my teachers were so devoted to teaching something when I was studying at university.
    Congratulations and thank you.

  • @t0kinl3lunts
    @t0kinl3lunts 2 роки тому +579

    Your explanation of the parameterized functions was better than that of my college professor, in an engineering class specifically on dynamics and controls, in less than 1/10th the time. Great job with the intuitive visuals!

    • @harrisonmunden2804
      @harrisonmunden2804 Рік тому +3

      So true

    • @M1ndstorms
      @M1ndstorms Рік тому +5

      Yep, took a semester of control systems and this video made more sense that that class

    • @Michallote
      @Michallote Рік тому

      I have this belief that all engineers must learn to program. Most of the older professors are getting outdated quickly by not incorporating interactive tools (specially if they built themselves). If I ever go back to university to teach my classes I DEFINITELY will create gorgeous animations every time I can. Already did for my own assignments, and blew teachers out of the water

  • @zactron1997
    @zactron1997 2 роки тому +277

    I remember first getting taught this in an engineering course. At the time, the context was on how to design a control system for something like an industrial process or a machine to minimize "bad" effects. The interesting thing here is you're actually trying to reintroduce the negative effects we try to design out in control theory.

    • @hobbified
      @hobbified 2 роки тому +54

      Yeah, in real life it's physics that makes things lag and oscillate, and if you could design a PID loop to get a fast and crisp response (without bending the machine) it would be considered a perfect success. In the game world, there are no constraints coming from physics, but if we want to *add* constraints to make things look realistic, they end up taking almost the same form as the controller we use to fight against those constraints in the real world.

    • @Elonimous
      @Elonimous 2 роки тому +2

      I was first introduced to it in a circuits course analyzing 2nd order transitions

    • @steven7639
      @steven7639 2 роки тому +3

      I took this kind of math in engineering school too. At the time, I had no idea what the application was. I blame my professor for being unrelatable.
      Now I understand exactly what it's used for and how to apply it. Awesome.

    • @deathcogunit106
      @deathcogunit106 2 роки тому

      Instrumentation tech?

    • @deco90014
      @deco90014 2 роки тому

      yeah, but it's nothing new really. The action of get a mathematical equations to mimic a real process(or system) behavior is very important to same people that use to control industrial process. It's commonly called modeling or system identification

  • @samm6648
    @samm6648 2 роки тому +318

    If I may make a visual suggestion, I think it would be really cool if the robot stumbled backward in different ways (possibly procedural ways) when you smack it. Not only do I think that would give your damage more impact, but it could also open up another way to show off your procedural animation process. Lovely work dude, don't forget to take breaks! Love, Sam.

    • @NilesBlackX
      @NilesBlackX 2 роки тому +42

      This, 100%, impact being a critically important element of both animation and gameplay, this would probably have even greater impact than would seem immediately apparent.
      Very good idea, I really hope that he takes your suggestion.

    • @tuc_mage
      @tuc_mage 2 роки тому +13

      Well if I understood this video correctly, he has essentially already implemented this. The robot dynamically moves to a position. So if a force, such as an attack struck the robot, the desired position of the robot would move and robot would move accordingly to the implented physics, if he wanted the robot to move in a certain way to convey being pushed back, he could adjust the f zeta and r values.

    • @NilesBlackX
      @NilesBlackX 2 роки тому

      @@tuc_mage Wait, he's letting the physics solver take precedence over the procedural animation? I think I missed that part, is there a timestamp or something? Thank you!

    • @tuc_mage
      @tuc_mage 2 роки тому +1

      @@NilesBlackX his procedural animation system is based on physics, he has implented a physics system where the object reacts to the acceleration velocity and position of the desired location. It's not a complete physics simulation, but it does just what he has set it up to do.

    • @NilesBlackX
      @NilesBlackX 2 роки тому +3

      ​@@tuc_mage ohhhhh I wouldn't call just velocity + position anything close to a physics solver.
      As an example, for what you're describing, he needs to have not just collision but the location and vector of the hit, which this system doesn't have the mechanisms for currently.
      And that's not a small amount of additional work, we're talking a jump from 1st grade math (floating point multiplication) to calculus (bounding box of a convex hull). That's a non-trivial amount of work.

  • @LucasLima-eh5to
    @LucasLima-eh5to Рік тому +53

    I’m having control classes at my graduation on computer engineering and this video showed absolutely everything was taught me… I’ve got so excited with the didatics that I even sent it to my teachers. Basically a resume of everything I saw like, frequency, zeta, stability, peak time, overload, poles…
    Wow! You should create a course of this, I definitely would take it!

    • @axivy4684
      @axivy4684 10 днів тому

      hi, do you know what subjects / courses I would need to learn in order to understand and follow along with what he is saying in the video?

  • @IanHamby
    @IanHamby Рік тому +17

    I'm fascinated by this pixel shader you have. It's not just blurring it, edges are crisp and it looks like intentional pixel art.

  • @jnewton1024
    @jnewton1024 2 роки тому +44

    Well done! Thank you for including the math in these videos. I'm sure it adds a lot of editing time but it helps me (an engineer) follow exactly what your purpose and solution is.

  • @adr1ssrb
    @adr1ssrb 2 роки тому +57

    30 seconds in and I can already see that the quality of the video is phenomenal.

  • @DanielBakerN
    @DanielBakerN 2 роки тому +39

    My background is in control theory and state estimation. Really awesome explanation of how you applied things. I've always wondered how control theory works its way into game design and I appreciate you took the time to show that in your video. Awesome work!

  • @atmamaonline
    @atmamaonline 7 місяців тому +4

    Technical artists are the most terrifying kind of artist i know (compliment)
    This was very interesting, even as a non-dev. Thank you!

  • @hydropage2855
    @hydropage2855 4 місяці тому +4

    I cheered when you turned your y = x into a second order linear non-homogeneous system. I’m so proud of myself for seeing that coming a mile away

  • @Armadous
    @Armadous 2 роки тому +61

    I love the curve visualization in the inspector. I have no thoughts on how to abstracted this to general use, but an easing system like this is something I'd be excited to see on the asset store. I recently had extreme struggles getting a missile to track into a moving target with a last minute exaggerated swooping motion. This video might be the context I need to do better.

    • @t3ssel8r
      @t3ssel8r  2 роки тому +28

      admittedly, I don't use that inspector in my actual project and only made it for the video, but it might be a pretty good idea to make it into a little self-contained asset.

    • @Morphexe
      @Morphexe 2 роки тому +3

      @@t3ssel8r Out of curisity how did you draw the curve in the inspector ?

    • @t3ssel8r
      @t3ssel8r  2 роки тому +11

      a bunch of calls to Handles.DrawLine lol

    • @Morphexe
      @Morphexe 2 роки тому +9

      @@t3ssel8r Ahaha, my kind of code xD

    • @sicktricks95
      @sicktricks95 2 роки тому +11

      @@t3ssel8r Could you please share the code for your inspector visualization?

  • @kriterer
    @kriterer 2 роки тому +47

    This is a proper devlog. These math-heavy videos are genuinely a thousand times more helpful than videos that gloss over the math

  • @mosesalero8918
    @mosesalero8918 2 роки тому +98

    This guy just made my 3rd and 4th-year engineering math and control classes look more interesting than they actually were.
    If I was taught like this I'd definitely appreciate those college topics more. Great video must have taken a lot of time and effort making it.

  • @JorisBohnson52
    @JorisBohnson52 9 місяців тому +4

    As a second year electronics student at uni, it’s insane to me how these exact concepts can be applied to game development. Super interesting and motivating to hear

  • @xXKIKOXx0
    @xXKIKOXx0 2 роки тому +47

    seeing that last bit made me so happy. at first it went from "oh this is some really clean fluid movement" to "wow... i now understand the attention and effort behind such a beautifuly 'simple' movement"

  • @notanimposter
    @notanimposter 2 роки тому +100

    I never really considered how similar it is taking error out of a rig (e.g. with a PID controller) to putting deliberate error into a rig

    • @jetblack5941
      @jetblack5941 2 роки тому +8

      I had the same thought watching this, super cool stuff

    • @Blazs120gl
      @Blazs120gl 2 роки тому +4

      Yeah, my first thought was at 1:53 that this calls for a PID controller where I have a lot of freedom with the terms to tune smoothness, speed or overshot (if desired).

  • @ytkatz
    @ytkatz 2 роки тому +22

    Thrilled to see the inclusion of instability situations and how to deal with them. Extremely well done!

  • @t3ssel8r
    @t3ssel8r  2 роки тому +164

    Errata:
    - there is a typo at 14:13 the velocity update should be using k1_stable instead of k1
    - one obvious performance optimization not mentioned in the video is to update the system at a fixed time step instead of the frame rate, so that T is constant, and all stability checks can be cached. this means the animation won't be as smooth as the display fps unless additional interpolation is applied
    - there are method other than semi-implicit Euler (for example, fully-implicit Euler) that are already unconditionally stable for the system in the video. These implicit methods require doing a bit more algebra up-front, but the implementation may ultimately be faster/simpler.

    • @derketzenable
      @derketzenable 2 роки тому +1

      I would suggest iterating multiple times in case of delays.
      We can choose a fixed duration that the delta time should not exceed, let's say 0.016 (60 fps).
      Than, in case we got a frame with a delta time of 0.25 we should run our calculation logic 15 times with a delta of 0.016 and 1 time with a delta of 0.01.
      var processedTime = 0
      var fixedDeltaTime = 1 / 60
      while processedTime < deltaTime {
      processedTime += fixedDeltaTime
      if processedTime < deltaTime {
      RunOurCalculations(fixedDeltaTime)
      } else {
      RunOurCalculations(deltaTime - (processedTime - fixedDeltaTime))
      }
      }

    • @SGGhostRider
      @SGGhostRider 2 роки тому +8

      Nice video, although i would have really liked something MORE "approachable"... you went too hard on maths, more specifically equation algebra math, not the linear algebra math which is at least more understandable... 🥲
      Out of the 15 min video, 6 mins are shifting around gibberish, and 5 min shifting around gibberish with nice graphs... and almost all the remaining are visual examples of the results(which are nice, i like examples and results) and just like 20 seconds of code example.
      The concept and the idea are well explained, but no clue on how you actually implemented this in your game. Top tier video for a math channel, but if you are planning into do game dev content(as i guess by watching your channel uploads) i suggest you to take simpler approaches in your videos.
      I think it's the second or third time i stumbled on your channel as i do a lot of game dev, new techniques and game mechanics research and your videos just pop into my recommendations, but I feel like they just present cool ideas/concepts but leaves too much of "do your own research afterwards" and/or "you already should know what i'm talking about" feelings... so i usually end up leaving more confused than smarter(and probably the reason i'm not subscribed yet)... lol
      If you would accept my humble recommendation, if you are gonna present math, try presenting it in a simple way instead of pure equations, i get it, you like maths, you are proud of it, but many of us don't share that enthusiasm, most of us came here to your videos seeking knowledge about how to improve our games, not be defeated by one of our school enemies(math cough)...
      The equations are nice to have, but please explain it by simple means afterwards and give code examples, as me, most people interested in game development don't know how to read complex equations with strange to us constants as we don't use them ever, and added to that in 15 seconds you shift the equations like 5 times, i don't even know what most of the constants means or how are you using them, i want to make cool games, not comprehend the essence of what moves the universe, but i'm not stupid, if you put it in code(literally, any high level programming language) i will understand it, because code is made in a way to make everything simple.
      I did not knew what the heck was going on until i paused the video at 13:05 and started going through the little code you put on screen, then i started to get a grasp of what was going on and things started clicking here and there, but still some things were guesses as how you implemented it in game as you showed zero examples of usage... i guessed that you are using the position and/or rotation vectors of chosen joints or moving objects to apply the formula on, using the previous stored result and the current values, but you don't explain anything of that on detail...
      Seriously, more practical examples and in game implementation examples(code) side by side with in game visuals of the results are much more helpful than heavy theory, equations and theory. IMHO this approach is mostly ASMR to the regular youtube user, closer to "two minute papers" than to "How to rig a hand on blender tutorial", hope that changes as you grow your channel, peace

    • @JasonSmith-jv7wl
      @JasonSmith-jv7wl 2 роки тому +5

      @@SGGhostRider I somewhat agree to this myself. The reason I say somewhat is because this video, and the aim assist, really makes me want to learn these mathematical concepts.
      That said, I would have loved a small breakdown of the equations into code a ton though. These effects are absolutely gorgeous and having a simpler “onboarding” to the concepts while given information on the deeper math behind it would be truly next level stuff.

    • @AliceEverglade
      @AliceEverglade 2 роки тому

      this 3d to pixel art effect. is it a shader? how did you make it, it looks so cool. is there a tutorial for it?

    • @Rusrik
      @Rusrik 2 роки тому +16

      @@SGGhostRider I disagree completely. There are more than enough videos for game dev out there which remain shallow in the concepts they present. Here we have a creator who instead of watering it down expects the audience to actually **have** the minium knowledge each and every developer _should_ have. Development _is_ Maths and while it is true that many, many things nowadays can be made without understanding the concepts behind it, and most often one does not need to know and understand it all, I personally like this channel especially _because_ it is presenting concepts in a nice, digestible way _for people who have an actual Computer Science background_. There are a lot of content out there which is less 'advanced', it is nice to also have 'advanced' high-quality stuff. Please do not change that, t3ssel8r.

  • @layneraczy9324
    @layneraczy9324 2 роки тому +7

    Stumbled across this channel from Summer of Math, just finished binging all of your videos. This has instantly become one of my favorite UA-cam channels. Keep up the amazing work!

  • @yonlaycabrera4431
    @yonlaycabrera4431 Рік тому +8

    Oh men, I feel soooo envy. How in the earth you can make sense of all of those numbers while making such a beautiful result. Thanks for sharing your expertise with the rest of us.

  • @Celastrous
    @Celastrous 2 роки тому +36

    As soon as I saw the responses to the curve before the step response section, I immediately thought back to my Control course in my degree. As an EE, it is very satisfying to see this used to approach such a fun example as video game animation. Good video!

    • @TruongNguyen-bl4vd
      @TruongNguyen-bl4vd Рік тому

      so f, zeta and r just turn into PID. A cheme with PTSD from control course.

  • @billy-cg1qq
    @billy-cg1qq 2 роки тому +20

    The programmer I aspire to become. Knowing mathematics and equations, and mixing them with computations and iterations ❤ You're living my dream ❤
    All greatness and success to you.

  • @mr_clean575
    @mr_clean575 2 роки тому +16

    This was absolutely fascinating, and I love the visualization you used to describe abstract concepts. A lot of the math went over my head, but even as a layman I was able to understand the general idea of what each iteration of the math was doing, or trying to prevent. I would love to see more procedural animation videos!
    Also, I would LOVE to see some kind of mash-up between you and another UA-camr named "Rujik the Comatose". He is working on some similar pixel art, procedural animation, type videos, and I think the different technical background that each of you guys bring would create some really cool visual styles.

  • @ethanedgington3561
    @ethanedgington3561 Рік тому +40

    As a game developer struggling through Differential Equations in University… thank you! This video has been a huge encouragement to strive onward and continue learning

  • @BenJaded
    @BenJaded 11 місяців тому +1

    2 million views is crazy for a complex gsme dev tutorial. Rewlly a testament to your explanations, craft and great design.

  • @joshuafino3560
    @joshuafino3560 2 роки тому +449

    this video was better at explaining ODEs than all of my undergraduate math courses combined.

    • @jong7100
      @jong7100 Рік тому +21

      No it wasn't. It was a quick overview and that's it. The meat of the material was taught in your courses.

    • @devatsdb7
      @devatsdb7 Рік тому +8

      @@jong7100 such classroom joke he is.. i wish i wasn't like him during my college years.

    • @DS-nv2ni
      @DS-nv2ni Рік тому +14

      You are right, I don't understand why all these people are hating, there is like an ongoing propaganda pro-university? Or is a matter of fragile egos offended? You can see the trend not only in this comments section, almost everywhere online, I think it coincides with low level payment for high level jobs, that is increasing the frustration of people getting out with a good degree to then have a miserable work experience, I have some coworkers that confessed that to me at least, I don't know if it applies to others as well, but I would say that is related somehow.

    • @varunahlawat9013
      @varunahlawat9013 Рік тому

      fuck yes

    • @peelysl
      @peelysl Рік тому +2

      stop saying stupid things online

  • @DarkSwordsman
    @DarkSwordsman 2 роки тому +35

    I really don't know much about this level of math, but I really appreciate the way you explained it. I still don't understand it on a technical level, but seeing the implementation and clear connection between things like you explained, it makes it easier to understand on a higher level, especially with your demonstration and comparison to traditional keyframes. I also anticipate that this will be a great study guide for me to learn the more specific terms, math, and other things, so thanks!

  • @zacharychristy8928
    @zacharychristy8928 2 роки тому +295

    As a computer engineer, I never thought Id see the math for closed-loop control systems popping up in procedural animation, but here we are, lol.
    Edit: State space representation? Now there's a name I haven't heard in a long time....

    • @danielalorbi
      @danielalorbi 2 роки тому +14

      A bit unrelated but are you interested in ML? If so you might be surprised to hear that State Space Representations are making a comeback, via the Structured State Space Model, aka S4 (The extra S comes from the title of the paper that introduced it)

    • @zumszum
      @zumszum 2 роки тому +12

      As an electrical engineer the moment i saw the equation and graphs i thought "oh, a basic PID parameters of pretty much every motor controlling frequency inverter". It`s such a cool universal concept of describing dynamics of real life elements.

    • @TheBigW300
      @TheBigW300 2 роки тому +7

      @@zumszum as a computer engineer i was like "shit this has practical applications other than radio antennas and line following robots"

    • @dandan-gf4jk
      @dandan-gf4jk 2 роки тому

      @@TheBigW300 Can you expand on how this is used in radio antennas? Can you point to some reading material where you got that from?

  • @Sykkoss391
    @Sykkoss391 Рік тому +15

    I'm a gamedev programmer but my math knowledge is pretty limited. I tried to keep up during the whole video and at the end you slip a fully new equation with a text saying "Too hard to explain" as I'm pulling my hairs trying to understand how you computed this all and got it to work xD
    Animations and all are dope and you are really giving yourself to make us understand your thinking process which I value very much.
    Thank you for this video !

  • @Leon_George
    @Leon_George Рік тому +1

    I clicked on this video expecting someone very smart, very quickly brush over topics they find easy and showcase how smart they are. Instead, was someone even smarter, able to explain it to an imp like me. It was very... unexpected!

  • @Magnogen
    @Magnogen 2 роки тому +16

    Beautiful diagrams, and I'm loving the different ways you've shown to play with procedural animation!

  • @RigoVids
    @RigoVids 2 роки тому +19

    I’ve found throughout my years as a hobbyist animator that nobody seems to know how to use motion interpolation despite its simplicity in most video editing software. The simple animation you provided at the start of the video will hopefully encourage more people to use the tools provided to them in a more meaningful way

  • @oddandrandom5771
    @oddandrandom5771 2 роки тому +119

    This video really made me wanna relearn all my highschool math lessons. This is my first time feeling so excited and intrigued about learning math. Great video, surprisingly inspirational lol.

    • @t3ssel8r
      @t3ssel8r  2 роки тому +28

      thanks, means a lot

    • @muuubiee
      @muuubiee 2 роки тому +34

      This math is a bit above high school math. You'll need at least uni level single variable calculus, linear algebra, and then ordinary differential equations.
      Personally I feel like maths is much better to study than something like computer science if you wanna do game dev... Although there are a few critical courses in Computer science, but can be boiled down to just needing to do some low-level programming/assembly (with cache knowledge).

    • @DogeMultiverse
      @DogeMultiverse 2 роки тому +1

      this is undergraduate math lol

    • @Hersatz
      @Hersatz 2 роки тому

      Do it!
      Good old trigonometry an vector formulas can get you too a lot of sweet spots for basic video game needs (distance, angle, direction)

    • @Devilextremeful
      @Devilextremeful 2 роки тому +5

      @@muuubiee You cover everything you have mentioned in a regular CS program unless the math you need is way above partial differential equations. Do you need things such as topology or something in higher level maths?.

  • @EricRidesDirt
    @EricRidesDirt 11 днів тому

    This 15-minute video just covered 2 of my semester-long engineering courses. Incredible work

  • @federicofranco4519
    @federicofranco4519 10 місяців тому +1

    UA-cam really decided to make me see this video two days after I completed my computational physics exam, really? Someone is messing with me. Great video btw

  • @MaksymCzech
    @MaksymCzech 2 роки тому +28

    Amazing. Thank you for your video. I've been studying control theory for 5 years in Robotics course, and it's nice to see it being put to good use!

  • @prodnayah
    @prodnayah 2 роки тому +8

    I didn't think maths could ever make a convincing and appealing animation. This is really interesting

    • @user-ur8co1yn5l
      @user-ur8co1yn5l 2 роки тому +4

      In general, accurate physics simulations, for example fluid simulations or planetary motion, is guided by math (often differential equations). Surely that kind of simulation could be considered a type of procedural animation? They are often convincing and visually appealing.

  • @thebluriam
    @thebluriam 2 роки тому +4

    Seeing all of this demonstrated within the context of video game animations, and having it visualized within Unity's IDE, goes an extremely long way educationally. This is the first video I've encountered from the t3ssel8r channel but if the rest are this good, I'm going to be super hooked.

  • @IgansioYT
    @IgansioYT 2 роки тому +13

    I'm not a gamedev but this might be one of the most interesting videos I've seen on this area. As an engineering student I'm so happy to see such a cool implementation of maths into coding. And the way you portrayed it makes it very easy to understand

  • @cupiidinlove6809
    @cupiidinlove6809 Рік тому +3

    i did not understand a single word in this entire video but it was so fascinating that somehow I still understood.

  • @lepruconx
    @lepruconx 2 роки тому +18

    I know I learned a lot of this last year in diff eq, but I have since then forgotten nearly everything from that class. This was a really nice review, made things very easy to understand

  • @ekay10
    @ekay10 Рік тому +3

    The robot animation is driving me nuts!😱
    This just changed my entire perspective of pixel art games. I might even be doing my 3d game in pixel art now. I'm definitely binging everything on you channel.😁

  • @shanecelis
    @shanecelis 6 місяців тому +3

    Dang, that pixelated look is too good to be true. Nice video.

  • @TheNanofrog
    @TheNanofrog Рік тому +1

    There's so much knowledge in this tiny thing. It's just extremely beautiful.
    I hope your skillset is beeing fully appreciated where you work.

  • @cantide1
    @cantide1 Рік тому +1

    This video is *incredible*. The way you explained everything and the order was perfect. The visualizations. Everything. Thank you so much for making this.

  • @DokterKaj
    @DokterKaj 2 роки тому +32

    T3SSEL8R VIDEO YEAHHHHHH

    • @theonlyponguin
      @theonlyponguin 2 роки тому +3

      the only youtube notification i actually click on

  • @theBestInvertebrate
    @theBestInvertebrate Рік тому +3

    Suprisingly good overview of fundamental controls concepts in a place I was not expecting. Good job.

  • @Serendipity-nh2uk
    @Serendipity-nh2uk 2 роки тому +3

    First of all, I can't believe I found you just now. Second of all, your videos are awesome so please never stop uploading.

  • @Dampfaeus
    @Dampfaeus Рік тому +3

    This video covers all the basics of motion in game programming for beginners, together with a lot of math. This video will be a great recommendation!

  • @Hellingame
    @Hellingame Рік тому

    The level of clarity in this guy's explanation of complex subject rival those of Indian mathematic channels I used to pass my undergrad engineering courses. Bravo!

  • @alex-rd
    @alex-rd 2 роки тому +26

    It's crazy to me how you explained second order systems intuitively in like two minutes, and it took my professor like a week.

  • @michaelross3061
    @michaelross3061 2 роки тому +38

    "As artists".. **sweats** they are gonna find out that I'm a programmer 😅 Always love a video about fixing timesteps. Thanks for the perspective!

  • @enissen8250
    @enissen8250 2 роки тому +4

    Awesome video! Just took a computational science course last term and didnt expect to see these kind of things applied in animation.

  • @max_power8510
    @max_power8510 Рік тому +2

    Just watched this video. Became a new subscriber. I liked how you could see everything from concept, to game, to the mathematical inputs all in one screen. Great way to show your self when developing and as well as others. Again, awesome video. We all very much appreciate the huge amount of time you sunk into it because it turned out clear and visually easy to understand. Thank you.

  • @dinoeebastian
    @dinoeebastian Рік тому +1

    I like that you show how the math actually translates to code rather than like most videos I see, where they just show the math itself and never show the code or how it's implemented into the game

  • @pladselsker8340
    @pladselsker8340 2 роки тому +6

    I love this video.
    I never thought about animations as stableizable dynamical systems. I'm making a boss battle bot in rocket league that modify the physics of the game and lets you play in a boss fight, and I think this technique could greatly improve the movements of the boss. I found by myself the first order dynamics model you mentionned in the video, and it's working fine. Plus, you don't really have to apply further analysis on it, as it's already very stable, no matter the timestep. That being said, I like the wobbly features that the second order model gives, so I really want to give it a try now!
    Anyways, thank you for sharing your work!

  • @KittehBit
    @KittehBit 2 роки тому +132

    Love your demos and explanations. This one is.. next level :D
    Can you eventually do one on how you render/shade/compose such a good "Pixel Art" style? The lines are very clean. :O
    Pretty please? :)

    • @LeaHayes
      @LeaHayes 2 роки тому +4

      It would be really interesting to learn how you approached the shading on these. The outlines are very clean

  • @arsteetz
    @arsteetz Рік тому +10

    As a engineering student its cool seeing systems and controls consepts in this way!

  • @huraqan3761
    @huraqan3761 Місяць тому +1

    Very cool video, very in-depth :) I like the chill music too :D

  • @ianh3385
    @ianh3385 11 місяців тому +2

    I rewatch this video every couple months and each time I end up understanding more and more

  • @voxelfusion9894
    @voxelfusion9894 2 роки тому +6

    Wow, you finally gave me an appreciation for the "fun" matrix math I had to learn in my second semester. Awesome!

  • @flywittzbeats4008
    @flywittzbeats4008 Рік тому +3

    I got an A in geometry and barely passed anything else. This video is monumental for me. Thank you so much. It makes me sad that math is not visual learner friendly in most cases these days. This video gives me hope

  • @hsadragblade613
    @hsadragblade613 Рік тому +3

    I learned about solving differential equations using euler's method in my university physics class and about eigenvalues in my linear algebra class and I wish I had found this video back then. It would have been such a cool visualization of the concepts I was learning.

  • @samuraisack2232
    @samuraisack2232 7 місяців тому +1

    Saving this, I'll be back in a year when I've studied enough to understand this fully.

  • @johanwettergren
    @johanwettergren Рік тому

    This video is a prime example of why elegant and intuitive visuals and animations are so powerful when explaining complex information.
    My comment here is simply repeating the sentiment of many other commenters.

  • @matthrew
    @matthrew 2 роки тому +7

    i read the video title as:
    ,,Giving Personality to Procedural Animations using Meth''
    i immediatelly clicked

  • @TheArachnoBot
    @TheArachnoBot 2 роки тому +12

    You manage to teach game design and math at the same time?! You're amazing!

  • @arthurheuer
    @arthurheuer 2 роки тому +11

    whoever you are, you're amazing and deserve more subscribers. liked and subscribed

  • @psykid9135
    @psykid9135 4 місяці тому

    Bro to see concepts i've been learning in my engineering classes to appear in procedural animation optimization makes me feel like i've chosen the right hobby. Thanks for this, please make more videos!

  • @YavuzBel
    @YavuzBel 9 місяців тому +1

    Beatiful, seeing numerical computing to translate into game animation made me happy. Thanks for the vid!

  • @clover208
    @clover208 2 роки тому +4

    this is interesting to say the least, I'm currently studying most of what you said in the video and it sounds so much more interesting knowing that I can use it in my games lol, thanks for the nice explanations

  • @selnathmurkshaw5336
    @selnathmurkshaw5336 Рік тому +3

    Really cool implementation! As a practicing engineer in dynamics, something I think might be cool for you to check out is adding some 'simple' nonlinearity to the system. A great prototypical example is the Duffing equation, which is still second order but adds a nonlinearity that enables so-called 'stiffening' or 'softening', which among other things makes the system response characteristics sensitive to the actual magnitude of the input. I'd imagine you could use it to make for instance the robot respond very quickly to certain types of inputs (say very large changes) but still slowly for others (like minute changes), without needing to change any of the system parameters.

    • @t3ssel8r
      @t3ssel8r  Рік тому +1

      yeah it's a good idea, and probably really useful for things like rope dynamics. I think there's some danger of unwittingly introducing limit cycles. Keeping things linear makes for easier analysis, at least at my pay grade :P

    • @selnathmurkshaw5336
      @selnathmurkshaw5336 Рік тому +2

      @@t3ssel8r While it's true there's no general solution to prove the existence of limit cycles (or chaos for that matter), there are methods like Lyapunov energy functions that I expect could be used for the Duffing system to create conditional criteria to apply to coefficients very similar to your linear system limitation that prevents instability. However it is true that the analytical complexity and computational overhead may not be worth what you get in the end, so maybe it's best to leave that alone and focus on what is simpler to work with.

    • @redditstories2836
      @redditstories2836 Рік тому +1

      @@t3ssel8r what game engine is that?

  • @RaoulWB
    @RaoulWB 2 роки тому +4

    You're reigniting my passion for maths, that was incredibly elegant.

  • @dusansandic3026
    @dusansandic3026 8 місяців тому +1

    This is the first time I see Euler's method being used in practice and it's amazing

  • @HalobeatWatcher
    @HalobeatWatcher 9 місяців тому +2

    You love math, you love game development. I must say, it's really cool and unique.

  • @acegikmo
    @acegikmo 2 роки тому +15

    this is super nice 💖

    • @Kirarak
      @Kirarak 2 роки тому

      Shout-out to another excellent game dev / graphics educator.

  • @joaopedrovaz10
    @joaopedrovaz10 2 роки тому +9

    As a computational physicist I loved to see your application of methods we so strongly see during our undergrad

  • @HowDoYouKnowThough
    @HowDoYouKnowThough Рік тому +3

    This is very clear and well explained. Thank you.

  • @atropa4111
    @atropa4111 Рік тому +1

    This gave me flashbacks to 2nd year engineering math at university. Someone else mentioned too but when we learn how to use Euler's method and Eigenvalues, we usually aren't given such a good explanation of how each of the terms interact with the graph specifically and how it can be useful. This video gave great perspective!

  • @alexmiller6246
    @alexmiller6246 Рік тому

    Using the eigenvalues of the A matrix of the dynamical representation of the system was genius. Brilliant

  • @chosencode5881
    @chosencode5881 2 роки тому +4

    Absolute legend, thank you for sharing this for free.

  • @Nebuchadin
    @Nebuchadin 2 роки тому +24

    I understood absolutely nothing but man was this fun and educitave to watch.

  • @GAMOKGO
    @GAMOKGO 2 роки тому +9

    I love your game, your content, and you 😳

  • @XkofeX
    @XkofeX 10 місяців тому +2

    So much work here was done! Many thanks to you. Your expansion is much better than lectures in my university was :D This is really grate video