Aptitude in math?

Started by
24 comments, last by Aezon 14 years, 4 months ago
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.
-----------------------Are you breaking into the world of game development, and are finding yourself lost?I am also a beginner, whose here to get lost-and find his way back-for you. Check out my blog You will(hopefully) learn bunches, alongside me.*Last update: 1/1/10*New Theme!
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
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).
So I should at least know theory?
-----------------------Are you breaking into the world of game development, and are finding yourself lost?I am also a beginner, whose here to get lost-and find his way back-for you. Check out my blog You will(hopefully) learn bunches, alongside me.*Last update: 1/1/10*New Theme!
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]
[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
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.
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?
-----------------------Are you breaking into the world of game development, and are finding yourself lost?I am also a beginner, whose here to get lost-and find his way back-for you. Check out my blog You will(hopefully) learn bunches, alongside me.*Last update: 1/1/10*New Theme!
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."

Hazard Pay :: FPS/RTS in SharpDX (gathering dust, retained for... historical purposes)
DeviantArt :: Because right-brain needs love too (also pretty neglected these days)

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.
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 :)

This topic is closed to new replies.

Advertisement