Essential Mathematics For Aspiring Game Developers

Поделиться
HTML-код
  • Опубликовано: 21 дек 2024

Комментарии • 698

  • @javidx9
    @javidx9  4 года назад +429

    Due to some IRL scheduling issues, my videos are a bit out of order. Anyway, I hope this helps all those that have asked me about "maths for games programming" over the last few weeks. Take care, stay safe!

    • @robinsingh4492
      @robinsingh4492 4 года назад +2

      Great Video. Well I guess basic knowledge of Physics like Motion and Optics will also help.

    • @alexsandergutierrezgoncalves
      @alexsandergutierrezgoncalves 4 года назад +2

      This is the best video, I really wanted something like that, thanks

    • @_caracalla_
      @_caracalla_ 4 года назад +1

      thanks a lot!

    • @carrivasv1
      @carrivasv1 4 года назад +1

      I recently begin watching your videos and I really like how clearly explain the concepts. Here will help us some knowledge of linear movement, but the idea is very clear... thanks

    • @joakin8535
      @joakin8535 4 года назад +1

      (opinion, by someone who pass by to time to time)
      I've heard this expression (don't remember when, but was said by one of Joe Rogan's guest) "...people tend to have something called the learning curse..." which means that people usually tent to avoid information because they believe everyone knows that kind of information.
      First of all I find this video amazing to all the people who want to dive into math for game programming. But by watching your youtube feed some of the titles seem kinda alienating or the content is way too specific.
      Some comments for sure will have excellent content for beginners, but we are all here because it's one of yours.
      Anyway I really like the video and it will be nice to see similar content like this one in other areas.

  • @lino2048
    @lino2048 4 года назад +1139

    Pythagoras' Theorem 0:30
    Vectors 4:29
    Angles 13:04
    Sine and Cosine functions 19:12
    Dot Product 24:09
    Linear Interpolation 35:07
    Simple Motion 40:26

  • @davidmcgill1000
    @davidmcgill1000 4 года назад +1131

    I think you chose the right angle to start this series on.

    • @sheepuff5999
      @sheepuff5999 4 года назад +127

      That joke was a sin().

    • @chrochetfan7274
      @chrochetfan7274 4 года назад +45

      @@sheepuff5999 I wave goodbye to you....

    • @potatoes8169
      @potatoes8169 4 года назад +21

      si(g)n..

    • @DlcEnergy
      @DlcEnergy 4 года назад +43

      a slight tangent, but that was almost acute joke

    • @DlcEnergy
      @DlcEnergy 4 года назад +9

      don't try angle jokes

  • @Xperto_
    @Xperto_ 4 года назад +439

    It seems like he's getting in shape

    • @LostAlienOnEarth
      @LostAlienOnEarth 4 года назад +26

      He's gonna be all jacked next flick.

    • @vgarzareyna
      @vgarzareyna 4 года назад +2

      Also noticed!!

    • @crapyguy1234
      @crapyguy1234 4 года назад

      @@vgarzareyna r/woosh

    • @Xperto_
      @Xperto_ 4 года назад +30

      @@crapyguy1234 Go back tor eddit

    • @crapyguy1234
      @crapyguy1234 4 года назад +1

      @@Xperto_ butthurt noob

  • @civ20
    @civ20 4 года назад +257

    For the first time in my life math actually made sense, and I enjoyed every second of the video. Thank you so much for actually sparking my interest in maths.

    • @jibbo123
      @jibbo123 3 года назад +1

      RHCP album cover

    • @drfreeman6796
      @drfreeman6796 3 года назад +2

      Consider that this is "simplifief" math! If he had to go trough all the demonstrations he would've bored the spectators.

    • @shubhan2002
      @shubhan2002 2 года назад

      These topics are not even that hard

    • @javidx9
      @javidx9  2 года назад +26

      That's constructive...

    • @digochuanxi9846
      @digochuanxi9846 2 года назад

      Make your words my words dude! Thanks so much javidx9!

  • @outsider1st
    @outsider1st 4 года назад +223

    This is like the missing puzzle on the youtube when it comes to programming tutorials. Appreciate it!

    • @Ornoth09
      @Ornoth09 4 года назад +22

      Yes, those hundreds of BEGINNER tutorials then they stop uploading what to do next

  • @nomoturtle1788
    @nomoturtle1788 4 года назад +189

    I may not benefit from this video in particular, but I like that you made it, each one like this is another barrier removed for aspiring programmers. And thank you again for all the others. I hope you feel appreciated, because you are.

  • @code-dredd
    @code-dredd 4 года назад +143

    A good book I'd recommend is: _Foundations of Game Engine Development: Mathematics_ by Eric Lengyel.
    Not a paid ad and no relation; it's just one of the better books I've read that I'd recommend.

    • @Admiral_Ducky
      @Admiral_Ducky 4 года назад +1

      Thanks for sharing, I'm gonna read this book.

    • @snesmaniac228
      @snesmaniac228 4 года назад +14

      I had a professor recommend me _Game Coding Complete_ by Mike McShaffry. I highly recommend that if you are at an intermediate or above level of programming.

    • @daniboy2619
      @daniboy2619 4 года назад

      Sorry to necro this but are the explanations complete? Like are there proofs for every procedure presented, for example, inversing a tangent function out of nowhere?

    • @code-dredd
      @code-dredd 4 года назад +4

      @@daniboy2619 The book is intended to give you understanding on what things are (e.g. quaternions, vectors, matrices, etc), how they work, what things mean, etc. It has good explanations on how things relate to other things (e.g. quaternions to matrices) and so on.
      It's not a _pure maths_ text book; it's a text book about math, but _focused_ on and aimed at game development, so you must understand that maths here are a means to an end, not an end in and of itself.

    • @atagen2186
      @atagen2186 4 года назад

      it's a great book, but the grassman stuff towards the end gets pretty hefty

  • @isaacsurfraz3858
    @isaacsurfraz3858 2 года назад +8

    Easily the clearest, best explained yet most concise maths for games video out there. Well done! I really like that you included actual applied examples for everything - why doesn't everyone do that!?
    Anyway you've gotten a sub out of me for this video alone!

    • @javidx9
      @javidx9  2 года назад +3

      Hey thanks Isaac!

  • @barrowmeoct04
    @barrowmeoct04 4 года назад +2

    I'm not even aiming for game dev, but studying math and this is by far one of the clearest explanation I've heard regarding unit vectors and how they are used, dot product etc. Linear algebra dealt with this only in terms of functions so it was hard to understand their practicality. In fact I only understood how vectors were orthogonal or perpendicular or going in opposite directions by algebraically manipulating the formula we were given, i.e. cos(theta) = (v1*v2)/ (magnitude v1 * magitude v2), but your example with the unit circle has shown me exactly 'WHY' a dot product of zero means an angle of pi/2 between the two vectors and so on. This has clarified so much. Thank you.

  • @AntonioZL
    @AntonioZL 4 года назад +6

    I think it's impossible to be a programmer without liking math. Math is logic, programming is logic. The thing is high school math is a bunch of formulas. People don't see the logic behind it, and that's why I think aspiring programmers hate or fear math, but once you start programming, you inevitably starts seeing the beauty in mathematics.

    • @vincent10kd
      @vincent10kd 4 года назад +2

      agree 100%

    • @blockify
      @blockify 11 месяцев назад +1

      I couldn't have put it better myself.

    • @Sammysapphira
      @Sammysapphira 3 месяца назад +1

      Strongly disagree. Lots of programming fields don't require any serious math knowledge.

  • @NOCTUMSEMPRA
    @NOCTUMSEMPRA 4 года назад +40

    I'm loving this video lesson. Having an understanding of Math & Trigonometry becomes a MUST when you want to make videogames as I would like (in a professional way), and it's something that it's not frequently trivial for us programmers to approach. This video puts lots of clearance on these subjects in an intuitive and metabolizable way.
    Great work, man. Thank you!
    Hugs from Argentina.

  • @CleetusSilversurfer
    @CleetusSilversurfer 3 года назад +91

    Well, if my teacher in high school would make an example to use these vectors, like in a game, I would've actually payed attention. I just had a hard time learning things that I did not see any purpose at the time, but now I see why it's important. Very good explanation!

    • @yotsubaaaaaa
      @yotsubaaaaaa 2 года назад +5

      Same bro

    • @phenny1057
      @phenny1057 2 года назад

      Same. Math is more understandable and enjoyable if they could connect it to a game. Would've love math fr

    • @Untoldanimations
      @Untoldanimations Год назад

      L mindset

    • @JungoFunko
      @JungoFunko Год назад

      ​@@Untoldanimationsmore like L education system

    • @Untoldanimations
      @Untoldanimations Год назад

      @@JungoFunko if you have access to the internet you can’t blame your education system

  • @quicktastic
    @quicktastic 4 года назад +14

    Possibly the best and most straight forward explanation of a vector I've seen.

  • @benjaminsmall
    @benjaminsmall 4 года назад +9

    Javid, you are the man. This breakdown and your visualizations are going to help so many people young and old, where the classical teaching methods would cause a severe disinterest. Know you are very much appreciated!

  • @supahfly_uk
    @supahfly_uk 4 года назад +243

    Why couldn't the angle get a loan?
    His parents wouldn't cosine

  • @AjinkyaMahajan
    @AjinkyaMahajan 4 года назад +48

    For the first time, I have understood the use of high school mathematics in a practical video game.
    Thanks for sharing ✨✨
    Cheers

    • @antongerasin3871
      @antongerasin3871 2 года назад +1

      It's more like middle school.

    • @cxlappsed1548
      @cxlappsed1548 2 года назад

      that's not high school maths

    • @zeektm1762
      @zeektm1762 Год назад +1

      @@antongerasin3871 ?? a lot of this is not taught in middle school and if it is its probably in brief..

  • @astrahcat1212
    @astrahcat1212 3 года назад +1

    This channel is a gem, all these videos need to be released on DVD so they're preserved for far into the future.

  • @bobbob9821
    @bobbob9821 Год назад +2

    The importance of math in game design is really understated. Unity only shows euler rotations as positive numbers from 0-360 and I needed it to be to be from -180 to 180 for error handling so that if my door overshot and went below 0 when it was closing I could manually snap it back at zero. I then remembered about piecewise functions, added one where basically y = -(x - 180) if x is >= 180, and it fixed everything.

    • @blockify
      @blockify 11 месяцев назад

      Great thinking! Will definitely be needing this when working with Unity.

  • @gower1973
    @gower1973 4 года назад +122

    Spent the last three months of lockdown relearning all the math I forgot from school and college so this is very timely

    • @andso7068
      @andso7068 4 года назад

      For what?

    • @spyrex3988
      @spyrex3988 4 года назад +25

      @@andso7068 it's good to not forget Maths

    • @Tech.Library
      @Tech.Library 4 года назад +1

      He is 47,so it's not surprising

    • @drfreeman6796
      @drfreeman6796 3 года назад

      @@Tech.Library It doesn't mean that everyone over a certain age forgets mathematics or physics, or whatever.

    • @recursiveidentity
      @recursiveidentity 3 года назад +1

      me too! I exempted all my math in college, so I haven't actually studied this since the late 80's!

  • @iii720
    @iii720 4 года назад +57

    Wished all your contents were available 20 years ago.

  • @davidb4020
    @davidb4020 4 года назад +4

    Best channel for C++/coding hands down. So much good content, great style, always deliver. Thank you for all your hard work.

  • @oblivionronin
    @oblivionronin 4 года назад +3

    Being currently in software engineering, i find it nice to see all those concept, that i learned formally in physics and mat classes, applied to programming and game logic. Very nice, concise teaching. Love the video, keep em coming !

    • @javidx9
      @javidx9  4 года назад

      Thanks Chris, will do!

  • @fredhair
    @fredhair 4 года назад +5

    1 useful tidbit: calculating square roots are computationally expenisive (usually nothing huge but many times per frame could cause problems. Of course you should profile and consider your project's specifics). If you can avoid them its usually worth doing. For instance if you are comparing vector magnitudes to see which is larger it would be preferable to square the right side of the equation rather than sqrt-ing the left

  • @Olemier
    @Olemier 4 года назад +2

    I'm always floored by your videos. They're so well organized and the logic flows from one point to another perfectly. Sometimes it's hard getting my head wrapped up in details and these fundamental building blocks are a phenomenal way to refresh/reorient my perspective to help me understand what's going on. Your channel is so awesome, I appreciate it more than I can explain.

  • @iXNomad
    @iXNomad 3 года назад +12

    0:33 Теорема Пифагора
    4:30 Векторы
    13:02 Углы
    19:05 Синус и Косинус
    24:05 Скалярное произведение
    34:55 Линейная интерполяция
    40:25 Простое движение

    • @ellovich
      @ellovich 2 года назад

      спасибо!

  • @PleegWat
    @PleegWat 4 года назад +5

    There is a second important difference between atan() and atan2(): atan2() has a larger range of outputs, as simple atan() cannot tell the difference between x and y being both positive and both negative, while atan2 can. atan() will return a number between -pi/2 and pi/2; atan2() will return a number between -pi and pi.
    This is a second important reason to use atan2() when dealing with screen coordinates, as atan() will never return a direction pointing left of the origin.

  • @alizaidi5610
    @alizaidi5610 4 года назад +1

    The order in which you taught this and how each topic merges seamlessly into the next one is perfection. Excellent work!

  • @Chadderbox
    @Chadderbox 4 года назад

    This guy explained Vectors in 9 minutes, and gave me a thorough understanding of them, something my maths teacher could not do in 2 weeks.

  • @thesmokinggnome
    @thesmokinggnome 3 года назад +2

    You're a great teacher and really lay everything out in an understandable way. The quality of your videos is hard to top, Big thanks!

    • @javidx9
      @javidx9  3 года назад +1

      Cheers! Much appreciated Mikey!

  • @ayskrymzoulok750
    @ayskrymzoulok750 4 года назад +32

    Your videos are awesome but each time you post a new video I feel discouraged to start my own channel because, well, you basically cover every topic and much better than I could. Otherwise, your channel is really a golden nugget in the youtube game

    • @javidx9
      @javidx9  4 года назад +70

      Thanks, but don't be discouraged - everyone has their own way of putting a spin on things, when my stuff doesn't click with viewers, chances are someone else's stuff will, it's always good to have a range to choose from as people have different ways of absorbing information.

    • @obscurus1344
      @obscurus1344 4 года назад +10

      @@javidx9 You're a legend.

    • @barrowmeoct04
      @barrowmeoct04 4 года назад +3

      Go for it, because the level at which you 'can' teach will appeal to people who absorb information in a different way; people function best under differing methods from others and that's why you find you'll click with some teachers but not with others (just like college or school math). I started a math channel in another account a few years ago and did only one video ( like you I hesitate to start it up (again) ). It was such a simple video but I still got people thanking me for clarifying things for them and helping them through tests. If you bring your own experience of how you solved problems to your audience it will help other people who similar obstacles.

  • @undefined_cat
    @undefined_cat 4 года назад +65

    You are programming hero

  • @NicolaiSyvertsen
    @NicolaiSyvertsen 4 года назад +3

    I keep watching these and hoping that my brain just switches on one day. In college I actually happened to learn enough about vectors and complex numbers that I could solve the tasks in the text book but I fear that I didn't deeply understand it but just learned coping mechanisms that worked well enough for solving the simple tasks at the time. And it was quickly forgotten. I tend to not stay focused on something for too long before I find something other to do.

  • @arshiadehghan583
    @arshiadehghan583 2 года назад

    I can not thank you enough, This video taught me more about vectors than the other 100 tutorial videos on RUclips about this subject.

  • @Songfugel
    @Songfugel 3 года назад

    Sent this to my non-programmer classmates studying Game design. Never seen these explained in such a clear way, great job!

  • @sieyk
    @sieyk 4 года назад +1

    I had so much trouble finding an algorithm for finding an arbitrary point on an arbitrary line, but you just made it so easy. You're such a legend.

  • @jorgeferreira6727
    @jorgeferreira6727 3 года назад +1

    Excellent video on the really useful math stuff without the boring details.
    BTW (to the general public):
    Angles in degrees look easier because we can do most of it with integer numbers instead of dealing with the "irracional" Pi, but also out of habit, because we get familiar with degrees as kids, way before the concepts of PI and radians could make any sense. When we learn to read maps, use a compass or basic geometry, its all in degrees.
    Also degrees are a bless for navigation, latitudes, longitudes, hours, speed (in knots) this all make for easy calculations with simple numbers.
    But from a stand point of maths, already high school level, radians make more sense because PI unifies the relationships between the radius of a circle, its perimeter, its area and also the surface and volume of the sphere. not to mention that computers approximate the value of trigonometric functions using series, that yield results in radians.
    And there is still a third unit of angular measurement, the "gradian". Its a more obscure and less used one. I only have seen it in use once, in the army, for calculating the elevation angle for a given distance to the target of an artillery piece.

  • @porcupine9997
    @porcupine9997 4 года назад

    Thank you so much. So many people show you how to plug some numbers in but don’t explain why things work the way they do. This video explained things in a way that promotes learning rather than memorizing.

  • @jwdonal
    @jwdonal 4 года назад +9

    Every one of your videos is GOLD.

    • @javidx9
      @javidx9  4 года назад

      Thank you, thats very kind of you to say!

    • @nx_s
      @nx_s 4 года назад +2

      Couldn't agree more. They're always very informative, well-structured and also pleasing to watch. Bravo!

  • @iliatalebzade8751
    @iliatalebzade8751 Год назад

    Sir, you're one of the most wholesome guys in not only the field of programming and computer science but the whole of RUclips, thank you and please keep up the amazing work

  • @sakikogookheng
    @sakikogookheng 4 года назад +1

    Bless you, your family and all your friends. I've been hoping for this video for months now, I think I left a message about it once but I cant remember now.
    Have a great lockdown!

  • @mito._
    @mito._ 4 года назад +4

    Loved this! Very clean and incredibly well-articulated format! Each moment of the video is a wealth of digestible information, of which amounted to several semesters worth of mathematics knowledge in a single go.
    Of course, one has to actually DO the work as well for any of it to make sense! But nonetheless, it's as great a starting point as any - better than most if you ask me!
    Cheers!

  • @PaganBuffaloes
    @PaganBuffaloes 4 года назад +1

    You're absolutely brilliant. This has been a great tool to review math I learned years ago as I apply for game dev positions.

  • @manfriedn64
    @manfriedn64 4 года назад +4

    Pretty amazing. I am in the process on making a 2d scrolling engine from scratch, with no knowledge on how to do it. I happened to figured out by myself a lot of what you say here except for the angles part. Your explanations makes a lot of sense and will help me to make a better code has now I better understand my intuitions. I had totally forgotten everything about vectors that I learned at school but somehow I used them anyway in a nasty way that I can clean up thanks to the fact you remind me of them :)

  • @FuZZbaLLbee
    @FuZZbaLLbee 4 года назад +1

    I remember making a car drive on the screen using the angle en COS and SIN. But then I needed to work out collision, and that proved to be difficult. Especially when the thing my car was colliding with, would also collide with something else.

  • @LesusGames
    @LesusGames 4 месяца назад

    That example with the platformer game really helped me get my head around normal vectors and dot product. Thank you.

  • @desertdweller9003
    @desertdweller9003 4 года назад +1

    These are all great, it's not only great for game development, but using these in programming will significantly help with your understanding and grasp with mathematics in general. I personally began learning Python and Java in early High School, and my fascination with programming collision in particular helped me get an extremely good grasp on concepts such as sine, cosine, dot products and the such before even really beginning those subjects in my own classes. Not to mention, it made physics one of my easiest classes.
    This is why I'd always recommend to younger people learning programming, and game development to never shy away from the more complex seeming subjects. They not only do a good job in teaching programming but High School level math as well.

  • @immortalsofar5314
    @immortalsofar5314 4 года назад +1

    8 bit game development taught me a lot about maths. Doing trig in 256 segments and sines thereof taught me about fixed point arithmetic, Pythagoras taught me about binary shifted multiplication and division and did you know that there are always 2 more rounded integer square roots than the previous square?
    I punished my step-son for skipping his maths homework by teaching him trig and giving him a 3 dimensional robot arm problem to figure out what angles to set at each joint to move the end to a given x,y,z co-ordinate. I did it too well though - after we'd gone through it, he asked me to give him another one!

  • @wkxvii
    @wkxvii Год назад

    I watched many videos on youtube trying to figure out what is in fact the dot product and its usage on graphics stuff... This video was the only that I got pleased! Perfect explanation javidx9!

  • @marbles3662
    @marbles3662 3 года назад

    I know most of this stuff , but the way you discuss it , is so enjoyable which I couldn't stop watching. great job.

  • @clamhammer2463
    @clamhammer2463 4 года назад +1

    Arrrrrg, my brain!
    Reminiscent of attempting to wrap my brain around quaternions a few years ago for a space themed game and coding the pitch/yaw/roll of the ships.
    Thank you for the explanation. It's simply the best I've seen on this subject.
    If I find a better explanation, I'll edit this comment. So if you're reading this, then it's still the best.

  • @BudgiePanic
    @BudgiePanic 4 года назад +1

    The section on dot products is explained so much better than any math lecturer did in my time at University

  • @TarousDT
    @TarousDT 4 года назад +15

    A simple optimization you can make for the first lesson about Pythagoras, is that you don't need to take the square root of the right side of the equation. Instead square the distance you are comparing, so "(c < 50)" becomes "(c < 2500)" which is 50^2.
    Of course, if you need to display the actual distance to the user then yeah you would need to do that square root calculation.

  • @brightbluesmurf
    @brightbluesmurf 4 года назад +1

    As someone that's looking to breakaway from the doldrums of desktop app programming to writing a 3d game in my spare time this is really helpful

  • @yuriib2666
    @yuriib2666 4 года назад +1

    Your explanation is great! I liked how you explained some basic stuff involving tasks from gamedev. That sheds light on some aspects of how to use knowledge gained during math courses. Thanks a lot!

  • @unrealdevop
    @unrealdevop 2 года назад +1

    34:51 That was genius, I was actually able to get this to work in the Unreal Engine by mapping the Dot Product to a Curve!

  • @ayye4329
    @ayye4329 4 года назад

    Another use for sine and cosine, if one has cycles to spare, is to use them coupled with a continuously increasing value (such as the time a program has been running for) as the source of a simple oscillating movement:
    pos = initial_pos + sin(t) * vector(0,1) allows one to make a bobbing up-and-down movement, such as a collectible pickup;
    rotation = initial_rotation + sin(t) * max_rotation allows one to make something tilt left and right, such as a ship on water.
    (Among other cool things, such as Lissajous curves)
    Nevertheless, this video is awesome as always, and I'll definitely share it as I think these things should be more widely known. Thanks!

  • @rizzlehizzle
    @rizzlehizzle 3 года назад

    Just found your channel and your videos have been helping me tremendously with learning C++ and game programming and I am extremely grateful. I love that you explain the gamedev practicality of each concept in this video.

  • @Rawbful
    @Rawbful 3 года назад +1

    Man I was very good at this stuff in high school but now I haven’t used it in 15 years and it hurts my brain. Another one of those situations though where back then you think when am I going to use this stuff, and here I am...extremely relevant even in the early stages of game development. This helped me understand how to solve the problem of my character moving faster when moving diagonally. Thank you!

    • @javidx9
      @javidx9  3 года назад

      Maths is absolutely "use it or lose it"... its frightening when I think back to doing maths quite competently at degree level, and now struggle to differentiate a polynomial XD

  • @ramonmelofpv
    @ramonmelofpv 4 года назад

    That was the best explanation of the basics of Vectors and so on for the ones new to Game Development. Bravo !!! You are the best.

  • @jahoopyjaheepu497
    @jahoopyjaheepu497 4 года назад +2

    Great video; took me from having a superficial understanding of vector math to at least feeling like I understand how to properly use vectors in game development. I'd love to see more videos like this, perhaps a deeper dive into some of the topics presented here.

  • @ToadSprockett
    @ToadSprockett 2 года назад

    Just ran across this, I really struggled with math in school, now that I'm older I wish I would have had someone to guide me through it. This is wonderful information, it makes a ton of sense, I've stopped along the way and looked up individual topics to get a deeper understanding. This shows that even us old people can learn something new. Thank you :)

  • @Asylum3D
    @Asylum3D 2 года назад

    Love it. I am a game developer and this video is spot on. The better understanding of this math will make a large difference trying to understand game development.

  • @tomkirbygreen
    @tomkirbygreen 4 года назад +1

    Fantastic. I hoped you’d speak to this topic. Kudos sir. Hope you and yours are doing well during these crazy times.

    • @javidx9
      @javidx9  4 года назад

      Thanks Tom, we're doing just fine, but crazy times indeed. Stay well!

  • @g0ld3sun
    @g0ld3sun 3 года назад

    Extremely useful even for someone not into game development but rather the engines and tools to facilitate it. Thanks so much for this content!

  • @volatus2354
    @volatus2354 2 года назад +1

    This channel is one of those hidden, rare treasures we should all protect as a blessed relic of the internet.

  • @jimmarshall3724
    @jimmarshall3724 4 года назад +1

    Love the videos - Who needs to go to university when there's guys like this on RUclips ? Really appreciate the neat diagrams and concise explanations . This guy's a better lecturer than any i had (Studying chemistry), and payed £9000 a year for!

  • @ycomomellamo
    @ycomomellamo 4 года назад

    This video is reviving so much knowledge from my student days... It turns out I remember so much of it. Thanks for that.

  • @muhammadhaider5677
    @muhammadhaider5677 4 года назад +1

    Please never stop! Your videos have made me love C++!

  • @michaelross3061
    @michaelross3061 2 года назад +1

    Here's a sub. 10x better than my college trig teacher. Just brainstorming and found your video. Loved it!

    • @javidx9
      @javidx9  2 года назад

      Thanks Michael!

  • @doomerismo9816
    @doomerismo9816 Год назад

    I came here because a specific feature i wanted in a game project and it helped me. Thank you very much.

  • @cosmicgirl910
    @cosmicgirl910 4 года назад +1

    excellent review on math for game developers. im having my first onsite interview with a game company and this helped me a lot!

    • @javidx9
      @javidx9  4 года назад

      Im pleased to hear that! Good luck!

  • @TheCivildecay
    @TheCivildecay 4 года назад +114

    "If I wanted to do math I would become a math teacher... I just want to make games!" -any aspiring gamedev

    • @WhistaphX
      @WhistaphX 4 года назад +18

      Poetic justice it's called.

    • @milanstevic8424
      @milanstevic8424 4 года назад +23

      it is true, but what you got wrong here is the definition of "make games"
      I'd argue that only a *gamer* would expect not doing math
      if your aim was to make or build them, then it's incredibly shallow to expect you can do it just by fantasizing great worlds and characters, swords, spells and events. there is a great deal of technicality involved, from understanding geometry and trigonometry, to statistics and linear algebra, and further down to computation issues like data structures, memory management, randomization and encryption, file systems, design patterns, APIs, algorithms, and after all said and done, you still need to be tactful, appreciative of human cognitive and emotional psychology, computer usage practices and user experience in general, general arts and architecture, humanistic design, storytelling, and finally game design.
      so I'd argue that whoever thinks like that is not an aspiring gamedev, but an uninspired lazybag.
      and this is why it seems to be contradictory, when in fact it was a fallacy and severe underestimation from the get go.
      nobody ever said that everybody should make games, and making them was never EASY to begin with. to play them, sure. but if you can't keep all of this inside your head and close to your heart, maybe there are other jobs out there that you might find more suitable.

    • @magdiel6709
      @magdiel6709 4 года назад +2

      @@milanstevic8424 Okay I was with you until you said encryption. Why would you ever need that as a game dev? I mean if you're working for a large studio and can't afford to have source leaks, sure, but your company will probably hire security experts for that.

    • @milanstevic8424
      @milanstevic8424 4 года назад +5

      @@magdiel6709 it sounds wrong nowadays, but encryption is not exclusively for security.
      it has everything to do with data encoding, even wikipedia says "encryption is the process of encoding information" but modern usage makes it appear exclusively in cryptographic context.
      in fact, you can almost consider this a typo and read it simply as 'encoding'.
      regardless of how you use it, the mathematical concepts behind it are unavoidable. in its most basic format encryption is just a substitution. therefore even JSON is encryption.
      but one may go a step ahead: JPEG is an encryption just as well (with more merits). it's just that these formats don't do much in terms of data obfuscation to any potential decoder. however try to read it as a human and it becomes painfully obvious that your sister's wedding picture is written in a cryptographic manner.
      not knowing how data compression works, not knowing how to save game state, not knowing binary trees, or checksums, or CRCs, regardless of whether you need them or not, is equivalent to not knowing binary values themselves. such underappreciation leads to poor decision and poor performance. and there is a reason I have mentioned encryption right next to randomization and file systems, there is a huge deal of overlap.
      saving game states in an efficient manner, as well as organizing memory accordingly, to minimize heap access frequency and maximize throughput, always assumes encoding and some form of data encryption, and is paramount for game programming.

    • @milanstevic8424
      @milanstevic8424 3 года назад

      ​@@w花b first try then preach, it doesn't work the other way around. you can prove me wrong at any time, just try to actually make a game first. pick your engine and do it.

  • @Ochenter
    @Ochenter 4 года назад +5

    Lovely as always, David.
    Keep on doing more educational vids, please.
    Thanks.

  • @shawn576
    @shawn576 2 года назад

    If someone asks about math required for electrical theory, show them this video. It's all triangles and unit circles.
    Also, that shortcut of seeing the relation between things (starts at 1, starts at 0, starts at maximum, starts at minimum) is very useful when trying to use an angle for something but not understanding exactly how it should be drawn as a problem. For example, if I know that I apply maximum force on a rope when I pull at an angle of 0, I should probably use cosine to calculate how hard I'm effectively pulling when I'm at a slight angle. I tutored a few kids in high school math and that shortcut helped a lot of kids solve problems they otherwise couldn't conceptualize.

  • @klontjespap
    @klontjespap 4 года назад +1

    you're an OG for explaining the oldschool notation for vectors! thanks a lot for that
    i don't understand traditional math/algebra notation, always need pseudocode to understand what is being said lol

  • @pocketmnky
    @pocketmnky 4 года назад +5

    Aaaaand once again Javid goes and teaches everybody what it took years for me to teach myself. Nice. ;)

  • @Dread0-0
    @Dread0-0 4 года назад +1

    thanks i was having trouble with math in school and i seem to understand better when you're the one explaining

  • @qislegit.donttrustthemedia6232
    @qislegit.donttrustthemedia6232 4 года назад +1

    Math is something I have struggled with my entire life! I absolutely love game development and math has been the main factor that had held me back from creating anything of significance. This video has taught me so much in less than a hour! Thank you so much!

    • @aravinthsrisivasritharan4098
      @aravinthsrisivasritharan4098 4 года назад +1

      If u wanna make games without coding and maths, I think u could unity . This is not a paid promotion. Alot of games use it.

    • @samuelhulme8347
      @samuelhulme8347 3 года назад

      @@aravinthsrisivasritharan4098 however most things in unity still need programming if you want to create your own assets and not take from others

    • @aravinthsrisivasritharan4098
      @aravinthsrisivasritharan4098 3 года назад

      @@samuelhulme8347 yup i realised how dumb i was. im learning game dev now. I forgot i even commented this but i referred to that scripting thig for ppl who dont like coding

    • @samuelhulme8347
      @samuelhulme8347 3 года назад

      @@aravinthsrisivasritharan4098 I’ve used unity , I’m great with coding / programming , so I’m great with unity,

    • @aravinthsrisivasritharan4098
      @aravinthsrisivasritharan4098 3 года назад

      @@samuelhulme8347 i mean u can be great at both but being good at coding doesnt automatically make you a pro at unity. im rlly good at c++ but bad at making games on unreal, so i switched to godot

  • @tonksonk951
    @tonksonk951 4 года назад +3

    Fantastic video, exposed me to some of the flaws I had in my ways of thinking about these topics and it really abstracted the concepts to a simple level that still conveyed a strong message, loved the examples as well. I'm sure it helps that I've learned it all before but still an amazing video! :)

  • @AC-cv5zz
    @AC-cv5zz 3 года назад +2

    I've watched a few of this guy's videos and found them daunting because of the math (I was almost ready to give up on programming). It wasn't his fault; he brought to reality what other game development youtubers would just say "Ok. I can't explain it; just trust me; the math is correct." However, this video re-assured me that it might still be do-able as I began to recall some of the math formulas from grade school days that were mentioned in this video; if the idiot I was back in school could kinda pick up on this math way back when I thought that I would never use it again, then I believe that I likely can train myself again to use it purposefully. I honestly don't know if I even want to get into game development. :) However, I like learning now, and this guy politely (vs. arrogantly) proves his knowledge. I look forward to learning more from him. Well earned subscribe, javidx9.

    • @javidx9
      @javidx9  3 года назад

      Hey thanks buddy, and you're right, its gonna take some time and some practice, but it clicks eventually. Good luck!

  • @jsflood
    @jsflood 4 года назад +1

    Great maffs video javidx9 , I like how you knit it together so understandable and useful. Thank you!

  • @user-pe9qg3hg3k
    @user-pe9qg3hg3k 3 года назад

    Thank you for this, I'm studying computing & IT currently and this is helping me to take the abstraction out of the maths portion so I can envisage how it can be applied so I can reain the info better :)

  • @gilleswalther5964
    @gilleswalther5964 4 года назад +2

    I'm always freaking out when I see the time on the bottom right corner and realize it's OLC time, not mine... Great summary of the basic maths for video games!!

    • @javidx9
      @javidx9  4 года назад +1

      XD its worse when im editing and do it to myself...

  • @PL-vw6li
    @PL-vw6li 4 года назад +14

    absolute mensch! every video is better than the last.

  • @justinkendall5647
    @justinkendall5647 4 года назад

    This dot product explanation is the most intuitive one I've come across. Excellent job. :)

  • @haikamu6963
    @haikamu6963 3 года назад

    This is the most intuitive explanation of trigonometry, great job.

  • @misedev3306
    @misedev3306 2 года назад

    Why have I not try to understand this more, awesome video, I just learned some of these a while ago, I will continue to learn

  • @andrewalexart
    @andrewalexart 2 года назад

    Bro thank you a lot. Still need a lot to learn about vectors and rotations, but you did great job for explaining essentials.
    Big thanks!

  • @pirateskeleton7828
    @pirateskeleton7828 2 года назад

    For Pythagorean theorem, you don't have to sqrt if you are just comparing distances. Remember, if |a| < |b| then a^2 < b^2. Computationally squaring is less intense than square rooting.

  • @saifsuleiman1171
    @saifsuleiman1171 4 года назад +2

    I really appreciate your effort on putting this masterpiece, it really cleared some concepts that I saw them as black boxes.
    Your teaching skills is gold, keep it up, thanks again!

  • @TheIsolatedGamerz
    @TheIsolatedGamerz 3 года назад +1

    Great to see your channel come such a long way mate.
    Was with you since

  • @Relemsis
    @Relemsis 4 года назад

    yours are among the best game dev videos of all time

  • @kirashufflerful
    @kirashufflerful 4 года назад

    Your channel is bringing back motivation to programming. I've been kinda depressed because of my current job and very special stack of technologies that used only on that job (Hardware simulation on Simics). It felt like I did wrong choice in my life, because I started working here right after finishing my bachelor degree on applied mathematics. I can't change my job right now because I am lacking of experience in more popular technologies (like OOP and STL), but your channel is bringing back the light.

    • @javidx9
      @javidx9  4 года назад +1

      Hey that's great buddy! I find coding very therapeutic as long as I keep it fun an interesting. It's a medium where you literally can create anything you want.

  • @ontley
    @ontley 4 года назад +1

    To point out, Pythagoras' theorem works with 3 and I'm pretty sure any number or variables so 3d distancr is just dist=sqrt(a**2 + b**2 + c**2)

  • @LaMirah
    @LaMirah 4 года назад +1

    Very nice. People tend to treat maths as this pointless collection of incantations that has little impact on our lives; providing motivation for learning it, even more than the actual maths content itself, is a great service to the community.

  • @StuBonham
    @StuBonham 4 года назад +1

    Probably my favourite JavidX9 video ever!

  • @sliwalker
    @sliwalker 3 года назад

    Its just so beautiful. If my math teachers years back just used your way to explain maths...

  • @preciseestimatingltd2579
    @preciseestimatingltd2579 4 года назад +1

    Another brilliant video, thank you javidx9.

  • @78anurag
    @78anurag 3 года назад +2

    Finally some math used in programming I can understand