Sign in to follow this  

Math Subjects

This topic is 2484 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

I've read a lot about needing Linear Algebra, Cal II or III and all that, [b]but is that really [u]needed[/u] for a Game Programmer?[/b] Say, on the professional level.

I'm a Computer Science Senior/Math Minor and I should graduate in December. However even though I'm a Math Minor, my degree plan does not require Cal II/III or Linear Algebra. I have taken Discreet I, Cal, and a few other things that aren't really that important.

The problem is, that I don't do so well in the Math classes. It's not the coursework or how hard they are, it's mostly test taking. The only tests I really stress about, are my math tests and I do terrible on them because of this. I study for long hours during course of the lessons, and even up to 12-14hrs in a single day before some tests, and I understand the material on the level I need to for the test, but not on the level where I'm confident taking the test which is where my high stress levels come from. I don't really have a complete and full understanding of the material until AFTER the entire class is over and I let it sink in for awhile. I don't have this problem in any of my other classes. My CS classes I usually get right away or after a couple hours of studying, but Math it seems that no matter what I do I can't go "oh ok that makes sense" and truly mean it, until after the course is over.

I'm not really interested in working on developing engines, but I'm pretty much interested in every other facet I know about (all the way down to networking and tool design). I haven't really worked on any games yet (besides some very simple C++/C# stuff), but I plan to set one up for a Independent study over the summer. Hopefully, using a 3D Engine. Maybe not, but we'll see how it goes. I understand that I'll need to understand how engines work on some level, which is kinda part of my main question.

I'm not a bad programmer, I'm not bad at Math, I just do terrible in the Math courses and I'm terrified to take Cal II or Linear Algebra (which has a Cal I and Discreet PreReq at my school).

Now, I'm perfectly fine if I land a Software Developer job pretty much anywhere after I get out of school. But, I am really hoping I can find a place at some sort of Game Development studio. I love games, I love game theory, and I really want to find a good creative environment. When I was a kid, I was hoping to be an artist, then I found out they really can't find jobs very easily so I went towards my other passion: Computers. lol (my art skills have declined rapidly over the years, due to a complete lack of practice)

Share this post


Link to post
Share on other sites
Complex math will be needed. The amount and difficulty does depend on what you're coding. I'm porting a game for a local game company and I had to make some bezier curve functions for it. It's built into javascript, but not into C#/XNA... I knew NOTHING about bezier curves and the math was a bit above my head. I got help here to perfect my functions on adding thickness to the bezier curve. I eventually found a way to do that but that's thanks to a decent mathematical understanding.

I'd say what you need to focus on is concepts for mathematical programming. If you don't know the distance formula off the top of your head but you know what it does and how to use it then you'll be fine. Just think, you'll have a computer with google ;) Also, take a physics course or two or three. That stuff is useful. ^^

Share this post


Link to post
Share on other sites
The linear algebra stuff is definitely required. Games use affine transformations for everything. You need to know your vector and matrix math for most parts of game development. Graphics use it for transforming stuff to the screen (especially stuff in shaders). AI uses it to determine stuff about where other things are in relation to an entity (dot products / cross products / relative matrix transformations).

Other areas focus on different math. Graph theory stuff comes up alot in AI work. Physics comes up alot (not everything needs a full physics engine, knowing equations for newtonian motion lets you fake lots stuff).

Share this post


Link to post
Share on other sites
[quote name='KulSeran' timestamp='1298265230' post='4776908']
The linear algebra stuff is definitely required. Games use affine transformations for everything. You need to know your vector and matrix math for most parts of game development. Graphics use it for transforming stuff to the screen (especially stuff in shaders). AI uses it to determine stuff about where other things are in relation to an entity (dot products / cross products / relative matrix transformations).

Other areas focus on different math. Graph theory stuff comes up alot in AI work. Physics comes up alot (not everything needs a full physics engine, knowing equations for newtonian motion lets you fake lots stuff).
[/quote]

Is that for most of the Game Development or only specific areas? I've actually heard almost the exact same thing from another professional developer, which is kinda why I made this thread. To me, it sounds like it refers specifically to working on the engine itself and not so much the others areas of development. (besides the AI comment)

Understand though, at this point I'm am almost completely ignorant on everything it takes to make a game or what really goes into it. I understand a few things, but not very much at all. (please don't take this as asking you to explain the development process A-Z)

Share this post


Link to post
Share on other sites
Yes, you need to learn at least vector algebra. Don't try to avoid it!

If you take a look at the forums, people can't make a freaking [i]Look at matrix[/i] or [i]face an object to another[/i]. That's sad IMHO.

If you don't want to learn it, don't be a game programmer.

Okay, today's situation is different: now everyone just asks for solutions on the net and ask others to do the thinking for them. So in the end, you don't need to know maths. If fact, you don't really need to know anything: you just put together stolen code and others' brainwork.

Rant over.

Share this post


Link to post
Share on other sites
[quote name='TheHatter' timestamp='1298267922' post='4776921']Is that for most of the Game Development or only specific areas? I've actually heard almost the exact same thing from another professional developer, which is kinda why I made this thread. To me, it sounds like it refers specifically to working on the engine itself and not so much the others areas of development. (besides the AI comment)

Understand though, at this point I'm am almost completely ignorant on everything it takes to make a game or what really goes into it. I understand a few things, but not very much at all. (please don't take this as asking you to explain the development process A-Z)
[/quote]

Think about it this way. To an extent, games attempt to mirror reality (an exaggerated reality but still reality). In our reality we have Math to explain just about everything. From the area within a circle to the acceleration due to gravity is all used in math. And since math explains our reality, and games MIRROR that reality, you'll need math to explain just about everything that goes on. You'll need it for collision, acceleration, 3D anything, particle effects, 3D audio, water detail, terrain mapping, etc etc etc

You don't have to understand the development process to see what real life things are imitated in games. ^^

Share this post


Link to post
Share on other sites
[quote name='slynk' timestamp='1298272169' post='4776943']
Think about it this way. To an extent, games attempt to mirror reality (an exaggerated reality but still reality). In our reality we have Math to explain just about everything.
<snip>
[/quote]

You know, I never really thought of it that way, but that makes total sense. Thanks a ton and thank you KulSeran.

I guess I'm going to have to figure out what to do and talk to the Math Dept chair, to see if there are any other options for me. Maybe an online course or something like that, otherwise I guess I'll just have to bite the bullet and hope that the catalog is correct in saying that Cal II isn't a pre-req for the Linear Algebra course. I would take the Cal II class, but I just simply don't have time. My courses got pretty out of whack because I had to take a year and a half break for a deployment to Iraq and the Catalog changed while I was gone.

Share this post


Link to post
Share on other sites
I personally do better in online math courses... well... except the one I failed at the university due to a terrible teacher who didn't announce when tests would be and used notes from someone else's Statistics class to teach Calc 1 *cough* (Seriously, I couldn't do the damn homework because the notes didn't cover it <.>) But you never know. Online courses do have a completely different feel. They would be especially good for you if you are good at teaching yourself with limited guidance. Not everyone does their best in a class room ^^

And depending on how fancy your school is, online classes may have video lectures. (Mine never did, but I've heard of others having this). Just talk to your Math department about helping you out. They'll want to help you out. Also, most university's offer cheap tutoring (like $10 an hour). If you or your parents or whomever is paying for your education, has the money, don't hesitate. Tutoring isn't for stupid students, it's for the smart ones that know they need a little more hands on experience than the class room has to offer.

Don't flunk out like me XD (Hopefully, I'll get to go back to school this summer. I'm going to get my Associates degree here in town at my community college then re-apply somewhere.)

Share this post


Link to post
Share on other sites
Who says you have to take a class to learn something? I've learned more math from Wikipedia than I ever have in school.


The only thing that Wikipedia really lacks is sets of exercises to help practice. What I'd recommend is instead of trying to learn everything at once, work on some actual programming projects. When you come across part of a project that requires math, start teaching yourself. It's more effective because you can already see the practical applications, so it's easier to understand and practice.

Share this post


Link to post
Share on other sites
[quote name='Storyyeller' timestamp='1298309884' post='4777114']
Who says you have to take a class to learn something? I've learned more math from Wikipedia than I ever have in school.


The only thing that Wikipedia really lacks is sets of exercises to help practice. What I'd recommend is instead of trying to learn everything at once, work on some actual programming projects. When you come across part of a project that requires math, start teaching yourself. It's more effective because you can already see the practical applications, so it's easier to understand and practice.
[/quote]

I did this in high school XD It's a good way to learn. Whether you do it while taking a class or just by teaching yourself online, definitely try and find a way to use it. Back in the geometry days of high school I remember making a program that would calculate which direction Link's Shield would deflect a deku nut lol

Always look for a way to use your new math. Especially if you can tie it into game development. The more connections you make in math, the better you'll understand more complex things later on.

Share this post


Link to post
Share on other sites
Also forgot to post this:

[url="http://www.amazon.com/Mathematics-Physics-Programmers-Game-Development/dp/1584503300"]http://www.amazon.com/Mathematics-Physics-Programmers-Game-Development/dp/1584503300[/url]

It's a great book. I highly recommend it ^^

Share this post


Link to post
Share on other sites
I've been working in the gaming industry for about 5 years now, mostly doing 2D stuff but recently I've been exploring 3D as well. In either realm, you will definitely need strong trigonometry skills. Linear algebra is vital for 3D games and nice to have for 2D. Once you start using physics in your games, it will help to have a strong physics background and you'll likely need to bust out the calculus. If you can take an Algorithms class (usually a computer-science course) it will also help tremendously. Honestly, the best thing you can do is become well-rounded enough in the basics that if you don't know something, you can look it up and learn it without too much trouble. You're never going to learn everything you'll need to know before-hand...so the best strategy is to learn how to teach yourself.

Share this post


Link to post
Share on other sites
[quote name='Storyyeller' timestamp='1298309884' post='4777114']
Who says you have to take a class to learn something? I've learned more math from Wikipedia than I ever have in school.
[/quote]

Wikipedia doesn't answer questions. Having the experienced professor who can help explain things when you get stuck is important. You're not going to find that many people on forums with the time to answer detailed higher level math questions.

As for the OP: The concepts behind calc 2 are fairly important to grasp, and will come up if you do anything physics related, and a fair amount of game design work actually uses it too.

Share this post


Link to post
Share on other sites
[quote name='TheHatter' timestamp='1298274368' post='4776953']
[quote name='slynk' timestamp='1298272169' post='4776943']
Think about it this way. To an extent, games attempt to mirror reality (an exaggerated reality but still reality). In our reality we have Math to explain just about everything.
<snip>
[/quote]

You know, I never really thought of it that way, but that makes total sense. Thanks a ton and thank you KulSeran.

I guess I'm going to have to figure out what to do and talk to the Math Dept chair, to see if there are any other options for me. Maybe an online course or something like that, otherwise I guess I'll just have to bite the bullet and hope that the catalog is correct in saying that Cal II isn't a pre-req for the Linear Algebra course. I would take the Cal II class, but I just simply don't have time. My courses got pretty out of whack because I had to take a year and a half break for a deployment to Iraq and the Catalog changed while I was gone.
[/quote]
You should have a look at the Strang Linear Algebra video's and the Khan Academy Linear Algebra one's to get an idea of how much work it will be.
But yeah you shouldn't be doing anything with 3D without a basic understanding of Linear Algebra since it's used everywhere in 3D!

Share this post


Link to post
Share on other sites
I've decided to jump in and brush up on some maths that I haven't studied for more than 10 years. I found used textbooks on Amazon in really great (almost mint) condition for dirt cheap. I just received my order for a Linear Algebra textbook that's in supurb condition for $2 and some odd cents. So that's a great place to look for books if you're going to self-study or brush up.

Share this post


Link to post
Share on other sites
[quote name='slynk' timestamp='1298311353' post='4777134']
Also forgot to post this:

[url="http://www.amazon.com/Mathematics-Physics-Programmers-Game-Development/dp/1584503300"]http://www.amazon.co...t/dp/1584503300[/url]

It's a great book. I highly recommend it ^^
[/quote]


OMG I must have that book!

Share this post


Link to post
Share on other sites

This topic is 2484 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.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this