Jump to content
  • Advertisement
Sign in to follow this  
Aezon

Aptitude in math?

This topic is 3266 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

If you are going to be a programmer who wants to branch into every area of game programming, how good do you have to be with math? IE. Do you have to be able to do complex calculations in your head, or simply memorize equations? Also, what kind of abstract math will I need to learn? I apologize for the broad question, if you would prefer to post a link to a good explanation, then please feel welcome to.

Share this post


Link to post
Share on other sites
Advertisement
In my experience (which isn't much ) geometry and algebra have been the most useful. Most programming is formulas and most games have 'space'.

A good understanding of the maths you need for what you're doing is really useful but you don't have to be an ober-geek (no offence meant) to be able to make a game, that's why we have calculators.

I don't know any links but good luck

Share this post


Link to post
Share on other sites
You don't have to be able to perform complex calculations in your head, or to memorize equations.

Regarding the latter, it's probably reasonable to expect a graphics or physics programmer to be able to tell you how to perform a dot- or cross-product, or how to perform some fairly simple geometric operation such as finding the closest point on a line to a point, off the top of their head. However, even though I know how it's derived, I couldn't write a quaternion-to-matrix function from scratch without working it out longhand or consulting a reference, and I don't think it's necessary to memorize that sort of thing (that's what references are for).

Branching into 'every area of game programming' might be a bit ambitious (game programming is probably more specialized now than at any time in the past), but as for your question, each area requires familiarity with different areas of math. For most graphics and basic game dynamics, basic trig and vector and matrix math will do it. For 'serious' physics, you'll probably need calculus. For 'serious' AI, there are various other areas of math that can be useful (and that don't come up as often in other contexts).

Share this post


Link to post
Share on other sites
Well it depends on if you want to do it as hobby or professionally?
If you go pro you will need a computer science degree and that means lots of math at most colleges.
I'd say you'd probably need to be better than average to pass all the required classes. You will need to pass Algebra, Geometry, Trig, Calculus I and II and possibly more. Also, alot of schools require Discrete Math which has lots of proofs so that's pretty abstract for some people and Linear Algebra which can also get abstract with vector spaces. For example, the quaternions that always seem to pop up around here are equal to R4, a four-dimensional vector space over the real numbers.
I highly recommend a Discrete math course at least even if you don't take any of the others since a lot of things in programming will make more sense with it.
You don't need to store or do stuff in your head but you do need to be able to solve problems since that is basically what programming is all about.
Each new program you create solves a problem.
If you are just going to do it as a hobby you don't really need to know that much math since there are libraries that will hide most of it. If you want to do anything off the beaten path you will quickly get lost though.

[Edited by - daviangel on December 6, 2009 5:18:22 PM]

Share this post


Link to post
Share on other sites
Quote:
Original post by Aezon
So I should at least know theory?


The average CS degree involves about 6 semesters of Calculus and Linear Algebra sort of advanced math. Graphics tends to need more math than other areas, but the stuff you learn will be of use in a variety of areas. I expect the run of the mill programmer to know the concepts from the classes or be smart enough to grasp the concepts if they didn't actually enjoy a thorough education.

Share this post


Link to post
Share on other sites
Quote:
Original post by daviangel
If you go pro you will need a computer science degree and that means lots of math at most colleges.


I was considering getting an associates in CS at a community college, then attend the SMU Guild Hall for 4 years to get a degree in game development. Will I still get a good dosage of math?


...Or do I really sound like a noob right now?

Share this post


Link to post
Share on other sites
Quote:
Original post by Aezon
I was considering getting an associates in CS at a community college, then attend the SMU Guild Hall for 4 years to get a degree in game development. Will I still get a good dosage of math?


...Or do I really sound like a noob right now?


Do some research and find out which classes are entailed in those curricula. Schools should be pretty straightforward about what courses are required. I'd make sure (either through electives or required courses) that you've covered algebra, geometry/trig, calculus, linear algebra, discrete math, and some theory/proofs.

For comparison's sake, as a CS major at my college I'm required to take 2 semesters of calc, 1 of discrete, 1 of proofs, 1 of linear algebra, 1 of probability/stats, and a course I'm not yet familiar with called "design of experiments."

Share this post


Link to post
Share on other sites
3D game programming is really where things start to get a bit math intensive. Honestly, you can get by in 2D programming with just first year algebra (unless you are implementing a full physics system; then it may get hairy).

But don't worry about the math if you still have your school in front of you. After a couple of semesters of classes like Government, where the teacher's opinions and personal taste play a role in what is considered right and wrong, taking math classes where things are either correct or not will be like a breath of fresh air. At least that is how I felt.

Share this post


Link to post
Share on other sites
I learn more and more about game programming each day and knowing physics, geometry, calculus (not a ton yet but its there) and linear algebra is what I'm running into.

I don't use these maths every day but I do keep resources on hand so I can reference if need be. Thats the great thing about the internet answers are a click away :)

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!