Essential Mathematical skills?

Started by
22 comments, last by serratemplar 17 years, 4 months ago
I know that Math should be a strong part of a Game Programmer's skillset, I was wondering exactly what areas of Math are essential? I've studied a lot of Calculus thus far throughout school, some intro Physics (though I plan to go deeper into that area) and i'm planning on studying linear algebra. What else do you guys recommend I should hit? (Differential Equations,etc?)
Advertisement
Various levels of calculus/diff-eq are probably the only 'essential' uni-level maths (the quotes meaning that you can get by without, but you're going to limit yourself significantly or otherwise have a hard time of it). [!IMO!]

Depending on your interests, statistics or a math-heavy economics course might be of great use. (but then again certain psychology/sociology courses might be of better benefit)
I would say you need to have strong math skills in problem solving, algebra, geometry. However some people take this math thing a bit overboard. Not to brag but I had a 96% average in my Math Pure courses however when I program I only use algebra and problem solving nothing too heavy. I think you need good math skills when it comes to physics in games, 3D games.

Don't let your lack of math hold you down from being a programmer you can always learn what you had trouble with or missed online. ^_^

Good luck fellow programmer.
____________________VB/C++/C# Programmer
The skills I found necessary to develop games and programming in general:

Linear algebra is absolutely essential as it is also used in statistics and calculus.

Single variable and multivariate calculus.

Elementary level statistics (1 year of statistics at my uni).

Statistics will be the most helpful. A good example is planning a table of data and trying to fit that data to some model.
Quote:Original post by VWarrior
I know that Math should be a strong part of a Game Programmer's skillset, I was wondering exactly what areas of Math are essential? I've studied a lot of Calculus thus far throughout school, some intro Physics (though I plan to go deeper into that area) and i'm planning on studying linear algebra. What else do you guys recommend I should hit? (Differential Equations,etc?)

What kinds of games do you want to make? What is your intended area of expertise?
Quote:Original post by Jettoz
However some people take this math thing a bit overboard.

Explain, please.
Quote:Original post by kordova
Quote:Original post by VWarrior
I know that Math should be a strong part of a Game Programmer's skillset, I was wondering exactly what areas of Math are essential? I've studied a lot of Calculus thus far throughout school, some intro Physics (though I plan to go deeper into that area) and i'm planning on studying linear algebra. What else do you guys recommend I should hit? (Differential Equations,etc?)

What kinds of games do you want to make? What is your intended area of expertise?
Quote:Original post by Jettoz
However some people take this math thing a bit overboard.

Explain, please.


Well I don't really have any bounds in my head right now in terms of what kinds of games i'd like to make, but as for my intended area of expertise, I'd like to be skilled in Gameplay/User Interface programming.

BTW, its nice that you guys mentioned Stats as thats in my planned curriculum.
Quote:Original post by K_I_L_E_R
The skills I found necessary to develop games and programming in general:

Linear algebra is absolutely essential as it is also used in statistics and calculus.

Single variable and multivariate calculus.

Elementary level statistics (1 year of statistics at my uni).

Statistics will be the most helpful. A good example is planning a table of data and trying to fit that data to some model.

Yup I pretty much 2nd everything in your list especially if you are going to work with D3D or Opengl anything 3D really.
Linear algebra will probably the most helpful since right away you will have to work with matrices as soon as you do anything 3D.
If you are going to use any sort of realistic physics in your game calculus will be necessary to understand the equations you work with.
Numerical Analysis would be helpful so you can distinguish between garbage in vs garbage out.
[size="2"]Don't talk about writing games, don't write design docs, don't spend your time on web boards. Sit in your house write 20 games when you complete them you will either want to do it the rest of your life or not * Andre Lamothe
Statistics comes with probability calculations which is very useful for AI among other things.
Without beeing a math guru I can easily see how Im gonna use it to make an "intelligent", self learning AI =). Another useful tool when writing AI is fuzzy logic. Something your school probably wont teach you unless it is geared towards game programming or something similar.
Discrete math is a definite requirement for all things in computer science. Advanced logic and some game theory may come in handy as well. That's about all for general computer science, I'd say.

In game programming, I'd say basic euclidean geometry and basic linear algebra are a plus, anything past the basic level of competence in these fields is seriously overkill. I mean, "Look at me, I can compute the eigenvalues of a sequilinear form, ZOMG MY GAEMS ARE FNU!"

If you want to play with funny mathematics in computer science, check out:
  • Stochastic computations (e.g. Quantitative Finance)
  • Galois connections (e.g. Abstract Interpretation)
  • Temporal logics (e.g. LTL verification)
  • Level-sets (e.g. Image identification)
  • Unusual topologies (e.g. Algorithmic Geometry)
I agree with the last poster. _Basic_ math knowledge about the topic mentioned by last poster is helpful, _although_ not necessary in my opinion. After all, graphics programming is very visual and if i don't get something, i see it on screen and then know what to fix or alter. I don't need to calculate or do any advanced trigonometry. Ofcourse, once you are are an advanced programmer and you want to pull of cool visual effects, then everything you have learned in physics or math will ofcourse give you a very real edge over those who have not. It could also give you some advantage (trig) to make some faster algorithms for example.

Don't forget, most things new programmers learn are tricks from others anyway. Pretty much all things like BSP trees, or graphic tricks they learn from reading articles or other programmers showing them or copying code. I actually think that if you want to show off nice graphic tricks you first implement them (sometimes by accident) and then, once you understand what you have done you can shortcut it into an algorithm by using your math knowledge.

But seriously, it also all depends on what you want to do. If you do not want to create a visual spectacle, but just use some basic 3d objects and space, you don't need any math. That goes for any basic game, but also a basic space sim.

But that's just my opinion and i'm _not_ an experienced opengl programmer. Although i can say that i'm not an expert in advanced math, i can say that i'm pretty far in creating opengl software that i visualized from the beginning. And this is after 2-3 months or something.

This topic is closed to new replies.

Advertisement