Mathematic branch dealing with game dev

Hello. I was always wondering what branch of math/computer science can help understand unity better (much better if possible) , when following tutorials like " A* " path finding and "pixel perfect camera " and relevant subjects, I see a lot of vector math (multilplying, subtracting, adding, …) and other formulas which are very confusing to me. What branch of math/computer science should I follow to be able to understand " A* " and “pixel perfect camera” and … ? Thank you for your time.

Vector maths is a part of Linear Algebra. It’s the most important branch of maths in gamedev, as almost everything you look at is defined though vectors and matrices.

1 Like

Does “Linear Algebra” have a subject of its own in computer science math or should I look for it in typical math?

you don’t exactly NEED linear algebra, though.

You need to know vector operations (scale, dot product, addition, subtraction), learn what crossproduct is, and learn how to represent a matrix as a system of vectors or decompose into position/x/y/z vector set. That’s it. If you do know linear algebra, it will help, but I believe most of the operatiosn you use will be a subset of that.

Pixel-perfect camera is not a mathematical problem. It is game engine problem.
A* (as far as I’m aware) is not math, it is computer science, as it describes a pathfinding algorithm.

And like always, you can look up unfamiliar terms online.

Like at a University? Our had Linear Algebra courses offered both by the computer science department and by the Maths department, so both are probably alternatives!

Vectors are linear algebra, and not too complex. There are only a handful of transforms. More advanced geometry is needed to do rotations. You’d think rendering is mostly trig, but it’s not, that’s actually matrix based math.

A* is graph theory, which is yet another branch.

On top of relevant parts of linear algebra, I found the “Discreet Mathematics” topic at uni to be really useful. I don’t remember the name of it’s specific field of math, but it taught things such as set theory, combinations and permutations, and so on. It’s helpful for solving problems algorithmically in general, nothing specific to graphics / physics / etc.

In addition to the stuff @neginfinity listed, I’d also learn common matrix operations. You won’t use them for matrix-matrix operations very often when you’ve already got an engine to work with, but they’re the principles behind other super useful things such as rotating vectors using quaternions.

Also, trigonometry is useful for all sorts of little bits and pieces. Technically you don’t “need” it because, again, most engines will give you higher level functions you can use, but when they don’t quite fit your use case it’s useful to be able to just work it out yourself.

You probably meant “Discrete”, unless your university had a secret society of Mathematicians.
https://en.wikipedia.org/wiki/Discrete_mathematics

3 Likes

Curse you, 3D Studio MAX

1 Like