There's plenty of tutorials on learning maths for gamedev, but why and where is this maths actually useful? Here, I try to give examples of how and when different types of mathematics pop-up, and how they are actually used when making a game. I have added links throughout the video and below if you want to learn these topics in more detail, but hopefully this will make you aware of the different areas of maths used in gamedev!
----------
Tutorials and Learning Resources for each topic covered (I have tried to include one video, one blog and one interactive thing to account for different types of learners!):
Numbers
+, -, x and ÷ are used frequently! The good thing here is that even if you aren't the best at doing sums quickly, the computer is! As long as you recognise when you should be using each operation, you'll be fine (e.g. subtract some health when your player takes damage).
Brush up on BODMAS! It's important to know what order more complicated calculations will calculate in - while remembering that you can use brackets to specifically order the way a sum will resolve: https://www.skillsyouneed.com/num/bodmas.html
Discrete Maths
An umbrella term for lots of maths. Wikipedia splits it into 17 sub-topics (which are all individually still very broad): https://en.wikipedia.org/wiki/Discrete_mathematics#Topics_in_discrete_mathematics
You will almost definitely do a discrete maths course at university, if you do CompSci or a related degree. You could learn about any of these sub-topics for years.
Logic
Video tutorial on boolean logic (its for GMS2, but the logic and concepts apply universally): https://www.youtube.com/watch?v=QmrOYwN10bQ&ab_channel=SamSpadeGameDev
Coordinate Systems
Most 2D games use an x and y-axis - 3D games will use the z-axis too. Here's what I mean when some are inverted: https://twitter.com/FreyaHolmer/status/644881436982575104
Video on non-Euclidean games: https://www.youtube.com/watch?v=lFEIUcXCEvI
Blog on non-Euclidian games: https://zenorogue.medium.com/non-euclidean-geometry-and-games-fb46989320d4
Trigonometry
Tutorial on angles (also vectors and some other topics too): https://www.youtube.com/watch?v=DPfxjQ6sqrc
An interactive visualisation of trig: https://www.mathsisfun.com/algebra/trig-interactive-unit-circle.html
Pythagoras Theorem
Video tutorial: https://www.youtube.com/watch?v=uthjpYKD7Ng&ab_channel=MathHelp.com
Article/guide: https://www.mathsisfun.com/pythagoras.html
Vectors
Video: https://www.youtube.com/watch?v=_OqwrxTtThY&ab_channel=ThePhantomGameDesignsThePhantomGameDesigns
Professor Dave's intro to vectors: https://www.youtube.com/watch?v=KBSCMTYaH1s&ab_channel=ProfessorDaveExplainsProfessorDaveExplainsVerified
Blog/guide: https://www.gamasutra.com/blogs/MarcBeaujean/20200518/363095/Vector_Maths_for_Game_Dev_Beginners.php
Vector Normalisation
Khan Academy blog with interactive example at the bottom: https://www.khanacademy.org/computing/computer-programming/programming-natural-simulations/programming-vectors/a/vector-magnitude-normalization
Video tutorial on normalisation: https://www.youtube.com/watch?v=7fn03DIW3Ak&ab_channel=FireflyLecturesFireflyLectures
Dot Product
Dot product video tutorial: https://www.youtube.com/watch?v=BcxfxvYCL1g&t=342s&ab_channel=LookingGlassUniverseLookingGlassUniverse
Codeer’s Video: https://www.youtube.com/watch?v=2E_Kx9ROX08&t=183s&ab_channel=CodeerCodeer
Interactive dot product visualisation: https://maththebeautiful.com/dot-product/
Cross Product (Advanced Topic)
Video explanation of the cross product by Professor Dave: https://www.youtube.com/watch?v=gPnWm-IXoAY&ab_channel=ProfessorDaveExplains
Article/guide on cross product from Maths is Fun: https://www.mathsisfun.com/algebra/vectors-cross-product.html
Visualisation: https://www.mathsisfun.com/algebra/vectors-cross-product.html
Quaternions (Advanced Topic)
Blog: https://developerblog.myo.com/quaternions/
Video Tutorial: https://www.youtube.com/watch?v=4mXL751ko0w&ab_channel=Sutrabla
Graph Theory
This is a broad topic. Wikipedia gives some good insight into the variety of uses: https://en.wikipedia.org/wiki/Graph_theory#Applications
Tutorial series on finite state machines by MATLAB: https://www.youtube.com/watch?v=-Yicg2TTMPs&ab_channel=MATLABMATLAB
Interactive Path Finding: https://qiao.github.io/PathFinding.js/visual/
---------
Remember to Subscribe!
Follow me on twitter: https://twitter.com/madbookstudios
Join the madbook discord: https://discord.gg/JYqFddm
Check all my FREE games on itch: https://madbookstudios.itch.io/
---------
Timestamps
0:00 - Intro
0:30 - The Problem
1:15 - The Solution
1:52 - Calculus Not Needed for Making Games
2:19 - Numbers
3:38 - Discrete Maths
4:44 - Logic
6:40 - Coordinate Systems
8:09 - Trigonometry
10:17 - Pythagoras Theorem
10:58 - Vectors
12:51 - Vector Normalisation
14:31 - Dot Product
16:01 - Cross Product
16:51 - Quaternions
18:26 - Graph Theory
19:42 - Recap
----------
#math #gamedev #mathingames #indiedev #gamedevmath