• Forum
  • Lounge
  • What math knowledges I must know to make

 
What math knowledges I must know to make a game?

Hi at all! I'm 17 I and I'm studying Computer Science. When I will finish the secondary school, I will go to the university to study informatics. In my country Italy, you can choose to study engineering or mathematics, both oriented to informatics. I'm going to choose mathematics because I know that there are a lot of math knowledges I must know to make a game and, if I choose math oriented to informatics, there is an OpenGL course! Just visit the following page if you want:
http://goo.gl/e6mx0f

These are the courses related to math:

Math analisys, discrete math (also involves analytic geometry), physics, mathematical logic, probability calculus, operations research, statistics, numeric analisys.

If I choose engineering, I will find some useless (to me) exams, for example some called "Physics II", where I study things like thermodynamics, that I believe are not important to make a game...

So, the question is: with the math knowledges mentioned above, will I be able to make a game? By now, I'm just learning SDL and a bit of OpenGL, along Java and C++ all by myself...
Thanks in advance for any answer and excuse me for my bad english!
Last edited on
Im just wondering if you've studied linear algebra, because thats also very important if you want to make 3D Games.

Other than that, you can basically make any game ever.
The Site wrote:
Practical Part
•	OpenGL introduction
OpenGL application
OpenGL as a state machine
Vertex Array
Display List
•	Transformation in OpenGL
Current matrix transformation
Matrix identity:: glLoadIdentity
OpenGL transformation: glTraslate, glScale, glRotate
Stack in OpenGL
Pivot rotation in OpenGL
•	PushMatrix/PopMatrix
Introduction
Matrix stack
•	Texture Mapping in OpenGL
OpenGL texture object
Texture generation
How use a texture object
glTexImage2D
Texture parameters
glTexCoord mapping
•	Automatic Texture-Coordinate Generation
Introduction to automatic texture generation
Plane equation
Object Linear Mapping
Eye Linear Mapping
Sphere Mapping
•	Alpha Blending
Introduction to blending
Application of blending
Blending equation
OpenGL blending 
Transparency in OpenGL
Cube Environment Mapping
Cube map definition
Reflex ray
Computing texture coordinates
Implementation in OpenGL
Use cube map in OpenGL


This course teaches an outdated version of OpenGL. Features that are taught in this course are depreciated in modern versions of OpenGL and will have to be unlearned later on.

If you want to make a game, don't worry about what math you need to know to make one. Just start working on a game, and once you encounter issues, Google is your best friend. You'll realize that you need to learn new mathematical concepts to solve a problem, and thanks to the internet you have a wide array of resources to learn from.
Was just about to say the same thing, Avilius, about the deprecated opengl stuff.
If you ever plan to get a book on OpenGL, you should get something that version 3.1+. Modern OpenGL uses high-speed shaders for just about everything ;)

Have a good understanding of vectors is good for many aspects whether 2D or 3D.
The hardest part about a game really isn't the mathematics, though, it's more so just the logic and overall complexity of everything that goes into a game. Ex: Someone might really be good at math but still have trouble (at first) figuring out object collision logic.

I also want to point out that, in my opinion, learning OpenGL and learning game development are two vastly different things. Depending on what path you choose, you could use pre-existing 2D or 3D graphics library/game engine to handle graphics stuff for you. This would let you focus more on making the actual game (which is a challenge by itself!) rather than figuring the math behind vertex lighting mechanics.
Last edited on
I would just start making games and learn the math as and when you need it. It very much depends what you are making what math is required... You can visit almost any area of math when making a game.
Thanks for your answers. Since I'm learning SDL, I decided make a simple game... I wanted to make an enemy shot the player, so I knew only the enemy's and player's points. So I had to calculate the slope between these two points, then pass the result to the arctangent function, then convert to degrees and pass to sine and cosine functions to get the vertical and horizontal speed, that will be multiplied. This is what I've done to make an enemy shot using my limited math skills. I'd imagine an entire environment of a game o.O.
Studying physics is useful for physics programming if are looking to use physics in your game. Calculus and other really high-level math are mostly used with graphics programming if you are looking to make some really fancy effects. Probability and statistics are highly useful to know when doing AI programming for things that depend on chance - such as determining what action the AI will choose.

The main point I am getting at is that if you are looking to make a 3D game that looks nice, then odds are you will have to team up with others to make it since there are many aspects that go into making a game. It would be best to specialize on learning one particular area, and just have a general understanding of how the other areas work.
If you're interested in "low level" game programming I'd suggest watching Handmade Hero.
It's a twitch stream where Casey Muratori programs a complete game from start to finish in C.
It's in english with no subs, which may be a problem, but I find he's reather easy to understand.
He streams for an hour and half each weekday, so this could also be a problem if you're trying to study for your course, but I guess you could give it a try during these summer holidays to see if you're interested.
I'm currently catching up with the videos and I learned some cool stuff.

For info https://handmadehero.org/
Topic archived. No new replies allowed.