I am just curious, just how much of math do one really needs in order to make, say space invaderes, or pacman....WOW,..NBA LIVE 2009?

It's not that i am bad at math or anything, in fact I am pretty good at it and still learning, calc.II. BUt i am curious, since I do not have any 3d graphic skills ( trying to master c++ first), I really dont know just how much math does it really take to make a game.

note: when i ask how much math, i don't mean adding or subtracting.., instead i mean something like do i need complex algorithm using math properties.

thanks , and happy 09.

Well, one thing is for sure... in a 3D game, Trig is pretty much vital... for example, using a sound library that works in 3D. You have to calculate how far you are from the event that makes the sound... then the velocity of the item and speed, to determine how much to increment the volume by as the object "whizzes" by your head... I remember working on an MMORPG, and you have to calculate your distance from any point on the map.... which is something crazy, like the sqrt of x, y, and z squared.

Realistically, just to make a game, not so much. However, making one of those realtime mmo's or FPS... probably a lot more than you would first think.

Well, one thing is for sure... in a 3D game, Trig is pretty much vital... for example, using a sound library that works in 3D. You have to calculate how far you are from the event that makes the sound... then the velocity of the item and speed, to determine how much to increment the volume by as the object "whizzes" by your head... I remember working on an MMORPG, and you have to calculate your distance from any point on the map.... which is something crazy, like the sqrt of x, y, and z squared.

Realistically, just to make a game, not so much. However, making one of those realtime mmo's or FPS... probably a lot more than you would first think.

thanks, I can see how that might take math to compute moving sounds. Although at first , I might think the pythagorean therom would be better easier to use than trig.

I might think the pythagorean therom would be better easier to use than trig.

You're making a distinction that doesn't exist. The Pythagorean Theorem is basic trigonometry.

Trigonometry is essential.
Say you want to make a clock, how would you calculate the positions of the hourhand? Right trig!
So you need to be familiar with at least basic algebra too.
In 3D apps you need to be familiar with translations, rotations and scaling etc. These things are best expressed with matrices. So any familiarity with matrices is always handy.

I think that vector methods, cross/dot product etc. Polynomial intersections (Bezout matrix methods etc) for 3d-surface-3d-surface intersections rate as minimally essential. Trigonometry is just a given. If you can't handle basic quaternions and vectors don't even think about 3d games.

There are all the specialist discrete numerics stuff for approximations etc. [not my field].

And then we have functional calculus, statistics and matrix theory, not your obvious requirement for 3d games but the one of the underlying basis for the AI.

There never seems any bad maths to learn. Every time I have understood some new maths, I seem to suddenly keep running into it and using it.

I also want to say that if you can do trig, really do trig, understand how the integrals work (e.g. solid angle calcs) and understand the identities work and the basic expansion and transforms (taylor etc. fourier / lorentz etc) [Yes, mathematica will do if for you BUT if you don't understand the basics it is almost impossible to use well].

stuxyz, thanks for your reply. To me it's now a bit clearer of how much math/what math is stressed upon, when making 3d modeled games.
But, let me ask one more question, although a person might need many types of math for making any type of games, or complex application, should the algorithm for it be overly complex. I mean, since its math, i am guessing the algorithm, say for making a ball thrown into a hoop by a 6' person (basketball), should be straight forwad right--(velocity,position,momentum,..physics, plus the size of the ball compare to average person in the game..)?

would the algorithm be tricky, or maybe it should be for faster excuetion...

just take a look at box2d.org because thats a 2d rigid body physics engine and thats not all the math required for even just a 2d game nevermind a 3d game.

First off I want to second MosaicFuneral's comment it really depends.

BUT consider even your example of basketball. A simple point centre model is easy, however, you might now want spin (angular momentum/friction coupling etc) so that when the ball hits the hoop/backboard it bounces realistically.

One thing I have found, is that your initial model/program is then required to go the the next step. If you had the basic maths, you would have easily predicted both that and air resistance, and put the ability to modify the physics model to handle that. If not then it is a code re-write for you...

A similar problem also exists in knowing what is difficult and what is easy. For example, you suddenly want a battleship game. Not a problem, same physics, but air resistance dominates!! [Particularly if you go from super-to-subsonic], and angle of impact is paramount. It is also nice to know that if resistance is proportional to velocity then it is analytic. The correction go on and on. The problem normally determines the level of approximation required.

In summary, I think that there is a class of interesting computer problems that are being done more and more by people with good maths skills. There seems to be hundreds and hundreds of computer people out there but the difficult to recruit people are the people who actually understand the problem. A Phd in maths goes in the call to interview pile regardless of programming ability, and a degree in maths is going to have a difficult time
avoiding the CTI pile.

Thank you everyone for you help, especiall you styXYZ, properly named to answer this question since your last 3 letter associated with 3 deminsions.

This article has been dead for over six months. Start a new discussion instead.