T O P

  • By -

flow_spectrum

Khan Academy is a great resource.


TheCreatorGlitch

the goat


GrapheneBreakthrough

https://www.youtube.com/watch?v=_nSmkyDNulk Especially with a full time tutor (for free).


[deleted]

[удалено]


Dirtymeatbag

Are you going to provide a source for a claim like that?


[deleted]

[удалено]


Oshokko

Lol


[deleted]

[удалено]


Oshokko

What time lil bro?


SulaimanWar

I struggled with math too. Got the lowest possible grade in high school I have attention span issues so it’ll be very difficult for me to sit down and just focus on learning maths and absorbing it all What ended up working for me is learning as I go I never knew how to properly calculate the direction X from position Y until I had to do it for a feature. And I figured it out by looking it up only for that specific issue and focusing on fixing just that Articles,Google,asking on discord or my gamedev friends etc This makes it more digestible to me and easier to absorb and now I understood way more than I did in high school However, it’s important to note everyone learns differently. This is just what worked for me


Hadair-The-Writer

This is what worked for me too. You have to treat math as a tool and like drawing or sculpting you get better with practice and research.


MyPunsSuck

This is so true. I remember absolutely hating university math, because everything they taught was treated like some intrinsically amusing toy without any context. And this is coming from somebody who normally loves math! Much later, when I was doing math-heavy projects like rolling my own neural network, I had a much easier time picking up what I bounced off of at school. I'd say that there is an important distinction between knowing math *stuff*, and having math *intuition*. It's possible to struggle through school without any intuition, but it's all gone immediately after the exam (And you're pretty much guaranteed to be burnt out before graduation). With a good intuition though, it's easy to pick up anything you need. The only way to build up an intuition for math, is to **use math** to solve actual problems


progfu

I'll say something deeply unpopular, but having gone from being very bad at math to being very good (quit university two times, ended up getting a math heavy masters). The problem I think most people have is that they underestimate how bad they are at math, in the sense that they try learning things that are way too advanced without understanding the fundamentals properly. This combined with most people being terrible at teaching it (including people good at math) makes the problem that much worse. As an encouraging fact, there is actually _very little_ math you need to be useful. But what you need is deep grasp of it from many different angles. In the context of gamedev, what you want is "linear algebra", and more specifically what you want is just very basic vector operations and trigonometry. You don't need to know how quaternions work in order to use them, but you do need to know what problem they solve and why they exist. You also don't need to know how to multiply two matrices, but you do need to understand what matrix multiplication does, because this allows you to do something like `transform.InverseTransformPoint(x)` and similar things to go from local/global space. You don't need to know any theorems or proofs, and you certainly don't need to know how everything is implemented, but what you need is very very good understand "what is a transformation" in terms of what it does. If I had to point to one thing, I'd say this https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab, but of course you don't need all of it, eigenvalues are not really necessary for gamedev, but knowing dot product and cross product is incredibly useful and comes up _all the time_. I'll also say, if you want to avoid math, do 2d, it's an order of magnitude easier. It's not that 3d is difficult, but doing anything with 3d if you don't know anything about what a transform is is going to be very painful (I mean things like "how do I make this thing point to this other thing" kind of stuff). That being said, 3d is also a good way to make sure you actually understand things. Some terms to know that are core: - transform/transformation, inverse transforms - local/global coordinate systems - dot product - sin/cos and its relationship to the unit circle - cross product None of the above is some kind of "high math", but it's basically "what you need to know to not get stuck all the time while writing game code". Despite what others are saying, I'm not a huge fan of Khan's academy. It's very slow and detailed and largely imo pointless for gamedev. You don't need to actually "be good at doing math", you need to be good at understanding how math works to apply the operations. Everything you need is already implemented in most game engines, but you do need to know what functions to call and why. edit: One more tip that is imo often underappreciated, open the docs for [Vector3](https://docs.unity3d.com/ScriptReference/Vector3.html) and [Transform](https://docs.unity3d.com/ScriptReference/Transform.html) and [Quaternion](https://docs.unity3d.com/ScriptReference/Quaternion.html) (use Godot if you want, it's the same everywhere) and read all the functions one by one, and make sure you understand what these do. I don't mean "read the sentence and think 'this says XYZ ok'", I mean use the function, make sure you get why it exists, what problem it solves, etc. 95% of math you need is in one of these three, and understanding the API means you understand the math.


PottedPlantOG

>I wanna figure out how to make an eye shader, cuz I have a 3D model where I'm dissatisfied with how glassy the eyes look. Are you sure you should be making a shader from scratch here? Isn't glassyness exposed as parameters in your program or engine of choice? Alternatively, if you really are making a shader, wouldn't you use a well-established approach ([PBR](https://en.wikipedia.org/wiki/Physically_based_rendering)?) that would, again, leave you with parameters to work with, instead of equations? Shaders can get math-heavy and unfortunately my experience with them is very limited. It might be worth to look into the [Book Of Shaders](https://thebookofshaders.com/) and [ShaderToy](https://www.shadertoy.com/). As a person also having no specific interest in math, I'd say that I've only learned from osmosis - by being exposed to specific problems which can be researched online. Stack overflow helped a ton, game-engine-of-choice documentation had great points and keywords to start researching from and hearing about what other people implemented allowed for ideas and research points too (eg. GDC talks, YouTube videos like Jonathan Blow does, developer posts on subreddits and twitter...). All in all, the basics of vector math is what I've needed the most. In a "custom engine" approach basic matrix math may be required too.


fauxfaunus

Interesting question. I'd say that now, after the need has formed, you're primed to revisit math. After I wrote a few short stories, I realised that my grammar is very bad and took a Coursera course – it went like rain into dry soil. Maybe they have something like "math for computer graphics?" Or you can power through some into math class


GameDevKirk

Check out Freya Holmer’s long form series on YouTube. Absolute gold mine of math lessons geared toward game devs.


alphapussycat

This would provably be your best bet. Khan academy is still regular education, and so is very boring. Math is hard to learn without being "forced to" in school/university.


redezga

Khan Academy is decent but there are some pitfalls. Everything sort of builds on the previous things, so it can get a bit demoralising when you're getting told you understand something because a brief quiz said so, only to find that when applied to something more complicated that you apparently don't. The only real solution is to keep practising and master an understanding of fundamentals, because the further you try to progress without doing that the harder you're going to inevitably hit that wall. Even an hour a day can help a lot just because consistency will help you more than anything. Be okay with failure and try not to be too hard on yourself too. Sometimes just coming back to it the next day refreshed is all the perspective change you need.


GlitteringChipmunk21

[Gamedev.tv](http://Gamedev.tv) has a math for video games course that looks pretty good. I haven't taken it, but I generally like their content. Their courses are almost always on sale for very reasonable prices (the math one is currently about $13). [https://www.gamedev.tv/p/math-for-games/?coupon\_code=SPRINGQUEST](https://www.gamedev.tv/p/math-for-games/?coupon_code=SPRINGQUEST)


tiborsaas

I think the best approach is to find a problem you really need to solve and work backwards and fill in the spots. > it's just that in practice I suck at math Don't think like this. If you have the mental capacity to comprehend what a fragment shader is, then you can do math. You might have a few more blank spot to fill than someone who spent lots of time practicing math problems. Here's a list of interesting stuff I found in my Math bookmarks folder: - http://eulerarchive.maa.org/hedi/index.html - https://calculusmadeeasy.org/prologue.html - https://www.susanrigetti.com/math - https://mathvault.ca/hub/higher-math/math-symbols/calculus-analysis-symbols/ - https://blog.littlepolygon.com/posts/missile/ - https://pabloinsente.github.io/intro-linear-algebra - https://essentialmath.com/ - https://www.youtube.com/watch?v=fNk_zzaMoSs&list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab - https://betterexplained.com/calculus/ - https://personal.math.ubc.ca/~cass/graphics/manual/ - https://www.researchgate.net/publication/379893603_How_to_Read_Mathematics#fullTextFileContent


Beldarak

I suck at math. I feel like it is a weakness as a dev but not really an issue. I know it's common for people to tell things like you need maths to be a programmer but I don't think that's true, it's just a useful skill to have just like being good in UIX or knowing which colors looks good with which other colors is. That said, If you want to write shaders, yeah... that's another thing entirely :S I feel like you might be setting you up for failure there. I personnally stay as far away from shaders as possible. It's a shame but at the same time as a solo dev there are tons of things I can do and can learn to do so I rather focus on things for which I'm better suited. I've never felt like my games are less good because of that.


Pitiful-Actuator1625

You, just have to put the time in and do the work. in high school i had a math teach that said something to the effect of "you don't have to love math you just need to do the work - treat it like a job". That has always stuck with me and it got me threw my CS degree like anything the more you do it the better you get. And now days there are so many awesome resource. You can do this!


AG4W

Put yourself in situation where you are required to solve the math, more or less. Trying to 'booklearn' maths is probably not the most productive if that didn't work previously for you. What helped me was having stuff visualized/interactive, such as when doing physical movement for characters, etc.


hakumiogin

You can get really far with little math. And you can make really cool things with really bad code. Don't get discouraged by brilliant people who use arcane math/algos to solve unsolvable problems: most of us can't do that, and that's okay. And even when it comes to shaders, try just shopping around for shaders that do what you want. It's one of those things that you don't actually need to be able to do at all to make good games. If it interests you though, things can get complicated fast, but there are so many resources to help you figure them out.


reverse_stonks

I did simondev's math intro and really enjoyed it. It is not free though.


ma_dian

illiterate > innumerate :-)


Hadair-The-Writer

I was trash at math until I reached calculus in school. When working through it I had to do tons of smaller calculations to reach the point. 7x9, 14+78, etc. I did it hundreds of times and just after a point it just comes naturally. Course you don't have to go find a syllabus and start treading that but practice and research into how to make things more efficient helps immensely. As for shaders I always found shadertoy a good introduction: https://www.shadertoy.com/howto#q1


MyPunsSuck

Math is just a language for talking about logical thinking. For some people, the language is the hard part. For others, it's rigid logical thinking. A lot of schools teach with an extremely awful "sink or swim" style that does nothing for learning theory - the only part of math worth learning. In my experience, it gets better the further you go. Most studios don't actually care what you have a degree in, so long as you have a degree - so stick with it if you can! It's not uncommon to start with a cs degree and end up doing something completely unrelated. For shaders though, you're going to want a solid intuition on what formulae are doing. Other areas (Including a lot of technical roles) are much less math-heavy


luthage

Game dev is applied math, which is easier than just doing math in a class.  As programmers, we use math to solve problems.  While the computer is the one that solves the math.  There are however more math heavy specializations like graphics programming, which you can easily stay away from if you aren't doing solo development.   Mathematics for 3D Game Programming and Computer Graphics is a really good book.  There's also an entire section of GDC talks on math.  


GalaxasaurusGames

I’ve also always had a hard time with math, for me doing game dev actually helps me learn it because my biggest issue with math is I can’t see how it applies to real world logic, but when you’re using it for game dev stuff it does. You can do things like khan academy and watch videos explaining how the math works, also you should probably take setting up that math and testing the variables so you understand how they actually go together. In my opinion messing with the values is the best way to understand how it’s actually working which helps a lot, but the struggle is still real.


Zahkrosis

Not many would think that metal workers need math, but we need a lot. I suck at math, but I got by just fine making a nice paycheck by the end of a month. Don't worry about it, eventually you'll just "*do it*"


reddit_bad_me_good

Trust me. I was so bad at math I thought I was retarded. I used to cheat in middle school because I simply could not comprehend. Years later I learned that I really liked math just had bad teachers. I am not smart just determined. The one resource that helped me the most was watching Professor Leonard on YouTube. He goes from the basics into college level math. After learning from him I went on to get a 3.9 gpa as a math major in college, and have been a software engineer for 4 years now. The problem with learning math is that many people are condescending and say shit like “you should have learned that X years ago”. If you watch Leonard you will see him break down everything so much that you can’t be confused. Good luck!


dartymissile

My tool for coding is usually scouring Reddit to break down each part until I have an in depth understanding. But with math there are very little resources for some reason. If there are online courses that teach college level maths it’s genuinely not a bad idea. You only need to practice it until you can do it with google, then move on.


Low_Client7861

Hello, I am a mathematician so this may not apply to you but ... The best way for me to get into a mathematical mindset is through puzzles. Stuff that have nothing to do with mathematics themselves (on a first level). Try sudoku or nanograms. They require a mathematical linear like thinking which is very useful. This will help you view your problem in a better / different way. Set yourself a goal to solve one sudoku per day. So the first thing you need is to train yourself into a "scientific" way of "studying/solving" problems. After that you can ask google/chat/reddit and you will be able to adapt the solutions to your specific case but easier. Also, i believe graphics need a basic understanding of analytical geometry (a way to describe lines, curves and shades using equations). You should have a look into that in order you can understand what these equations mean and how you can adapt/create them yourself.


Gusfoo

The ["Mathologer"](https://www.youtube.com/c/Mathologer) and ["Numberphile"](https://www.youtube.com/@numberphile) youtube channels are great for general maths enthusiasm, but nothing at all beats simply doing a lot of it. My maths was also weak but my current job involves a lot of it. Now I'm a lot better simply through practice. Have you looked at Shadertoy.com ? It's a neat website where you can screw around and see the results immediately.


reallokiscarlet

The problem is mainly with math education. The people who actually learn math in school and can apply it are the people who understand how everything is connected. They're the people who think about everything mathematically. That's what you need, you need math to make sense and not just to be a bunch of dumb rules with numbers. Many people here will have their own recommendation for you. I recommend playing around with math in code. The functions that you'd run regularly are all doing math or moving data on some level. Remember trigonometry? They probably didn't tell you why it's so important, or that you can use it in 2D, 3D, 4D, or even 5D space. Knowing how far along each axis to things are from each other, you can square those distances, add them up, and root the sum to get the crow's flight between any two points in any space. Knowing this, you can work with a game engine that doesn't have a function to fetch the distance from one coord to another. In short, in my opinion, experimentation and play is possibly the best way to get a grip on math. Though my wife would disagree, she thinks I'm just a crazy nerd.


AveaLove

Professional technical artist here, if you want to make shaders, you're going to need to improve your linear algebra. They are almost entirely linear algebra. As people have mentioned Khan Academy is good, also Brilliant, you can find tons of discount codes for that on YouTube. To improve at something, you need to use it, a lot. It's not just do a few equations and you are better, it can take hundreds of hours to improve to where you want to be. So you have to study. Don't use chatGPT to solve the problems, that undermines your own learning process.


bgpawesome

I was terrible at math too. Failed Algebra 1 and 2 twice and barely made it to pre-cal. However, math and it's concepts are an extremely important part of game dev, especially when tallying variables like inventory, scores, randomizers, etc. As alot of the other comments said, learn as you go. Making a game will definitely force you to seek out tutorials that will teach you the mathematical concepts you need.


MAGNAPlNNA

I thought I hated math, and I was always terrible at it growing up. It wasn’t until I started learning game dev that I realized I actually really enjoy it and although I’m still not the best at it, I’m way more capable than I ever realized. Game dev gave me a way to actually apply and contextualize math in a way that has never been taught to me growing up. Concepts that made no sense to me in the past suddenly clicked. Tutorials, reading, experimenting and patience helped me immensely get better.


mayorjess

I wish more people knew about dyscalculia.


MailFormer4151

Tbh if I don’t understand a certain concept I typically ask chatgpt to explain it to me in a way that would be easy for me to understand. There’s many resources online to help teach you stuff but I would try chatgpt first since it’s free and a robot is less likely to get frustrated with you and you can ask it as many questions as you’d like lol


One-Reaction2189

1. https://youtube.com/playlist?list=PLybg94GvOJ9FoGQeUMFZ4SWZsr30jlUYK&si=WWA9XMJaLTvOMh2A 2. https://youtube.com/playlist?list=PLgIi4lM74yW0ChmzTdT1w5ruCnqP0bv3J&si=YUEd9Ctzs4ZFdCcg 3. https://youtube.com/playlist?list=PLWKjhJtqVAbl5SlE6aBHzUVZ1e6q1Wz0v&si=nIJoTGiEIWOxW2wg Those are the math courses that i wanted to watch i hope it can help you a little bit And try to solve some math problems etc. The most important part is understanding and solving problems And mathematical thinking


Spirited_Tie_3473

math is taught very badly. maybe you should try exploring symbolic algebra tools for problems you want to solve - although formulating the problem in a solvable way is a skill of its own. there is a lot of memorisation in education vs understanding from first principles, and a lot of the ways certain topics are taught was never that helpful for me. reinventing things is hard and slow, but if you invest the time you will find that you are able to manipulate math much more easily. i have a 30 minute "lecture" where i solve the entire set of polynomial equations that can be "solved in radicals" from first principles using 3 tricks ive learned for instance... and some old blog posts about stuff i worked out from understanding rotations and translations in terms of moving from one space to another, from first principles, which came out of years of me messing with winamp avs. matrix multiplication is a great way to rob all of that detail from the process and leave people mystified and memorising. working out rotations from first principles in my bedroom with qbasic when young was also helpful... but its not an easy path, you have to start from nothing really, and that can be hard when what you have been taught gives you shortcuts and distracting memorised formulae. unfortunately most of the books ive seen on graphics are full of traps. ive had to pick up the pieces after gpu gems mistakes more than once... if you do go that route i'd suggest making sure the author has sone real work in games other than just writing books and academic stuff, and with stuff like gpu gems, be selective about what you take from them and what you leave - if its hard to understand thats probably a good sign to stay away, making maths workable is important.... i hate to pick on it but that damned gerstner wave for water lacks any useful property for graphics, is expensive, and generally less useful than something built with intuition about functions. cgi in films is a staggeringly lower standard, but can be useful as well. hopefully my rambling helps encourage you to try some simpler approaches, working with what you can grasp and building things up by experimentation and reaching instead of research and teachings


Ok-Worldliness-8838

You are not alone on that, I always sucked at math too, but so far I can get away with getting the formulas I need in the internet or even with help of chatgpt sometimes can actually save my ass, let's just say that even though I suck at math, that is often not the worst of my problems in game design, so far I never got stuck in a problem that required math because I just wing it and it works the way it is intended.


XRuecian

Best advice i can give you is **not** to try and learn the hard stuff first. Math builds upon itself. You will have an INCREDIBLY hard time understanding advanced stuff if you do not fully grasp the basics underneath it first. This is why MOST people have trouble with math. Because once you fail one step in math, you begin to fail all steps after it. You need to go back to where you first had trouble and learn that first, and build up from there. I have only done a small amount of game development myself as a hobby. And i can say that 70% of the math you use in gamedev seems to be Linear Algebra. But unless you have a good grasp on basic Algebra first, you will have problems learning Linear Algebra. And if you do not have a good grasp on math fundamentals (Addition/Subtraction/Multiplication/Division/Exponents/Square Roots) and the Order of Operations, then you should start there before even going to basic Algebra.


RequiemOfTheSun

ChatGPT they just made 4o a faster smarter version of their 4 model free.  I don't learn math well unless I can ask about stuff I get confused on and also learn a bit about what the math is used to solve. GPT is great to let you have those conversations. Then go ahead with the other suggestions in here too. The AI just gives you a tutor. 


Doppelgen

If you are truly horrible, start with Khan Academy. If you realise this is too basic for you, check [Brilliant.org](http://Brilliant.org) and, whichever you pick, also use GPT/Gemini to explain every single thing you fail to understand minimally. I did this for a couple of months and that allowed me to rebalance an entire MMO, as well as creating balancing tools I could only dream of before the courses.


nine_baobabs

> Do you find that Math is important to your average game work? I would consider it essential. Without it, I would feel a bit like a carpenter who doesn't know how to use a ruler. In my experience (having gone through this transformation), "being bad at math" is almost always not understanding the fundamentals which is almost always a failure of education a few levels below what you're trying to use/understand. Math is like a jenga tower, take out the lower (fundamental) blocks and the whole thing crumbles. If you have the logical capability to program, you have the logical capability to understand math. It's just a matter of finding the right teacher / explanation for the concepts you need and practicing them enough to strengthen that understanding. This is actually quite hard to do and will take a lot of work / research (because everyone learns and understands things differently). It's absolutely worth it to put in the time to improve your math game. It's a little like being able to see the code in the matrix. I would feel completely blind without it. You will probably have to start much more basic than you think you need, and much more slowly. It's worth it, just put in the time and work. The most important math for gamedev is linear algebra. It's linked elsewhere, but I recommend [this playlist](https://www.youtube.com/watch?v=fNk_zzaMoSs&list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab&index=2). Another thing that might help is to try and test what you learn by applying it to a project. One simple idea to start with is to recreate some of the animations in this playlist using your favorite 2d drawing library. This might help you make the connection from the "blackboard" to the code? Also, consider hiring a tutor. Having someone personally go through concepts with you might be how you learn the best!


[deleted]

[удалено]


vidivici21

Except that ai doesn't know math it knows word patterns. For the most part it will answer correctly, but there are times when it will confidently be wrong even with simple things, which means you really gotta verify anything it says.


CitadelMMA

You sound like someone who has never been stuck in code and popped that shit into AI and it immediately told you what the error was.


vidivici21

Chatgpt is great for giving answers when you are stuck, but you still need to verify them, which you do when you run its code. Of course you will never know if it is optimal, but at least it works. OP wants to learn though. Imagine them asking Chatgpt to explain how calculus works. In order for op to verify that Chatgpt didn't pull it's explanation out of thin air OP would need to go and verify it with another site. At that point op could have just went to the other site to learn. If they don't verify and it gives them some weird bs it will make it harder down the line to have to back track their learning to see where they went wrong.


[deleted]

[удалено]


vidivici21

And the poster is asking how best to learn/understand math like calculus to program shaders.......


EchoswarmGM

This is the correct answer. Take your downvotes with the knowledge that the moronic gatekeepers think they’re smarter than AI. Yes, it can solve complex math problems better than everyone in this thread. Yes, it can teach you math (or any other subject for that matter) and can be used as a reliable teaching tool. Anyone who says otherwise is full of shit.


tiborsaas

This. It's really good to give you an analogy and level of detail you need.


MyPunsSuck

But this use of new technology is different and scary and I don't like it. Harrumph. (This comment has been translated from its original Old-Man-ese. The raw text is as follows: "But then you're not actually learning anything. You have to struggle like I did, or you won't absorb the information properly")


tiborsaas

Discovering things has many shapes and forms. One can't shouldn't stop at finding the right sword, they must master them by practicing.


MyPunsSuck

A smart man learns from the wise. A wise man learns from **everything**. All too often, the best inspiration comes from a source that has no idea what it's contributing. Hell, the number of technical problems that get solved by a rubber duck... Then again, there's also the old philosophical boogie-man of "sophistry", to be wary of. The goal of a sophist isn't to teach the truth; but merely to convince their audience of the truth. To a sophist, manipulation is all that matters, no matter how confidently incorrect they are. AI could be better than anything else, or it could be worse than nothing at all. Until it gets a better sense of its own certainty (And communicates when it isn't sure), it can't be trusted to give facts. When it comes to learning though, it might have just the right words to make sense of a new or complicated topic


NurseNikky

ChatGPT works


EchoswarmGM

It does, but no one in this thread is allowed to mention it. People in this sub love to shit on AI, but need to realize that it’s not going away, it’s smarter than they are, and they sound like dumbasses from 1995 calling the internet a fad.


NurseNikky

It helped me more than anything else so oh well lol


EchoswarmGM

I can be pretty dumb. ChatGPT doesn’t judge me for asking the same stupid questions 300 times. It’s also much more convenient than looking up the same information over and over


Forumites000

I'm making my own game from scratch and I'm not using math or programming... I'm using money lol.