How much math do you NEED?

Started by
8 comments, last by zel0 22 years ago
Just wanted find out how much math you really need to know when making games. I know that it depends on what type of game you are making...I know that you need more math for 3d games. And about how high up in a college do you need to go to "know" all this math? I know it is a little broad...basic 2D games, RPGs, to do 3D stuff, for example. It''s just something I wanted to know... Chris
Advertisement
To be quite honest, not much. Just make sure you understand trigonometry, vectors, and a little bit of calculus helps tackle certain situations. You really don''t need any college math.

--------------------
Matthew Calabrese
Realtime 3D Orchestra:
Programmer, Composer,
and 3D Artist/Animator
"I can see the music..."
Ugh.
I gotta take Calc II again some time...need it for my BS in computer science. I dunno...math is Ok I guess...it''s just that I''ve found some "other interests" like game programming...or programming in general (which is why I didn''t pass Calc II the first time)
I wonder if a lot of math is recommended to get you into that left-brain (or is it right-brain?) state of mind. I don''t see how you will use calculus in programming unless you are trying to make a math program.

Chris
You use things like trig and physics plenty in game programming. You need to learn certain formulas and their uses for certain things. Say you are writing a particle system and you want the particles to spin like a tornado... well, how would you get the particles to form a circle around the origin... well, i''d use cosine/sine for that (aka, Trig.) You need to know how to do distances and collision detection of shapes (algebra/geometry). If you want to write AI stuff (path finding, statistics, etc).. you''d have to be pretty good at math also. I''d say you really need not go any higher than geometry,algebra, and Trig. (which most pre-college schools (known as high-schools in the states) teach) and possibly a little bit of calculus wouldn''t hurt.


Billy - BillyB@mrsnj.com
The only reason I mentioned calculusis because just this past week I used calculus to derive a new method of calculating spheroid-casted collision detection by solving for the derivative of the very general form of a spheroid, and solving it for the two times when the tangent plane is parallel to the plane of which you are checking collision. If the distance between the plane is between the distance of the two tangent planes from the origin, then the plane currently intersects the spheroid. I''m sure there are plenty of other uses as well, but it certainly applies extremely well to anything like that.

--------------------
Matthew Calabrese
Realtime 3D Orchestra:
Programmer, Composer,
and 3D Artist/Animator
"I can see the music..."
I''d say take all the math you can. You''ll at least want a good linear algebra background if you''re going to do much 3d stuff. Calculus is you''re friend. You''d be surprised at how often it comes in handy. You don''t have to know that much math, but it''ll make things a lot easier on you. So definitely learn some linear algebra and at least some basic calculus, you''ll appriecate it later on.
To my surprise, just about everything I covered in college I have encountered in 3D rendering systems, and I took just about every undergrad math class the school offered.

But you asked what you need; counting algebra and trig are essential for 2D&3D, and linear-algebra is essential for 3D. If you use an engine someone else has built, you can focus on your game and leave all the calculus to them.
- The trade-off between price and quality does not exist in Japan. Rather, the idea that high quality brings on cost reduction is widely accepted.-- Tajima & Matsubara
How much you got ?
Double it.
Then you will have enough.

Seriouly...
Some kind of B.S. degree I think.

I`m going for a C.S. degree; and at the minimum it requires Cal 1-3 and Diff. Eq.

You can program without calculus and linear algerbra.
I did.
You cannnot design much without calc;
say you need a reflection lighting algorithim for a bezier patch.
You will need a normal vector.
So you take the derivative of the surface and take its reciprocal and play around with that to come up with the required vector.
Key word: derivative.
Thats calculus.
I`m not sure, but software texing a patch requires integration.
Analyzing algrorithim efficiancy requires calc- integrating, I think.
To program and design programs well, you need calc.

Whats essential is firm algebra and linear algebra, as well as trig.



Bugle4d
~V'lionBugle4d
Yep. Algebra (obviously), trigonometry, geometry. A good understanding of Euclidean space in general and 2D/3D space in particular is key. Even 2D games require a bit of 3D thinking just to draw the sprites in the correct order. That''s the basics.

For 3D, linear algebra is absolutely necessary . Some other constructs (like quaternions, parametric curves/surfaces, etc.) are a big help, but I don''t know which courses would teach those; I just pick that stuff up from books and articles. (I still don''t quite understand quaternions. )

Calculus is not essential for simple games, but it''s good to learn nonetheless. Numerical analysis, probability and statistics are a plus during the design stage or for complicated simulations.

Also: discrete math (recurrence relations and the like) and logic (it''s more than just left-brainedness)

Basically, for all the math you end up learning, you may as well get a diploma for it.

---
blahpers
---blahpers
I''ll agree with everybody that the upper level math is not required in order to program. But, how long do you want to be just a programmer? Once you start moving into designing systems you''ll need to get the math up. The most previous post which suggested Discrete Math, Logic, etc. was right on and I would only add that these types of classes don''t teach you formulas but rather teach you how to think. Most of us don''t know how to think and spend too much time stumbling around blindly.

My suggestion - find an area where you can apply the math you''re learning. Having a real world application makes it much more interesting and you''ll get a lot more out of it. It''ll require some work on your part to find the application, but forums like this can be a great help. Then, get all the math you can tolerate.

If I had it to do over I would get my PhD in Mathematics. If you can do the math, you can do anything, I always say.

-Kirk

This topic is closed to new replies.

Advertisement