• Advertisement
Sign in to follow this  

Where to start?

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

Hello Fellow Programmers, Math Experts and Other Godly People,

I'm trying to polish my math and learn new things. But don't know where to start. I have some self-teaching guides but I don't know which book to start. Can you tell the order of studying, beginning from pre-algebra to advanced calculus?

I have a passion for games and game programming but my math is kinda weak and uncomplete for now. I have a fine knowledge of java, c++ and actionscript 3 but I know that knowing programming languages is only one side of the coin.

Which subjects are most essential for general programming, complexity analysis, 2D and 3D game programming? Do I need to know math very fluent to use middleware game engines?

Also, I haven't been studying physics for almost 5 years. What are the essential topics of physics that are applied to game programming? Do I need to know physics really fluent or is being able to use middleware physics engines is enough?

Finally, do the companies look for people who are able to use middleware good or people that can code a game engine from scratch? I can guess the answer though :)

And one off-the topic question? Are the game programmer salaries close to application programmer salaries? If less, do you think it is worth doing it? It's not an easy job... But passion makes everything different.

Cheers!

Share this post


Link to post
Share on other sites
Advertisement
Making a shader in HLSL is a fast way to get experienced with:
* adding, subtracting and scaling vectors
* matrix multiplication
* using cross products
* using dot products.
* inversing a matrix
* transposing orthgonal matrices as a cheap inverse

Making your own 2D physics engine from scratch will give experience in stable approximation of differential equations. Making a 3D physics engine from scratch is only a good school project because you can't beat the performance in PhysX without designing your own hardware or reinventing the same thing.

You should know the math from scratch but will use complete products when working. Design related jobs don't give much but AI and the advanced stuff gives enough money.

You should take a serious programming education at a University so that you have a plan B and don't look like someone who leave after the fun is over. You should be able to solve errors without help from other people. Join a national championship in game development for students to see if you have what it takes before betting your education on it.

Share this post


Link to post
Share on other sites
IMHO most important is vector algebra / linear algebra. It's not hard, you just have to practice it a lot and understand it graphically (so draw a lot!).

Vector algebra is almost everything: calculating positions, orientations, everything camera needs; graphical stuff: intersections, point-in-whatever-shape checks; how a bullet flies, trajectories, projections, decals, particle systems etc.

It's the soul of game programming IMHO.

Share this post


Link to post
Share on other sites
Quote:
Original post by szecsIt's the soul of game programming IMHO.
IMHO the soul of game programming is AI, not math. But maybe that opinion is fed by the fact my math is not even near where I would like it to be. :)

Quote:
Original post by pixelomaticDo I need to know math very fluent to use middleware game engines?
No, you don't need 'very fluent' math. Most game engines include a math lib that does the hard work for you. You need to know what it does and when to use it, not necessarily how it works on the inside.

I created several 2D games and those include mostly basic vector math and 'atan2'. I'm now working on my first real 3D game and recently switched from OpenGL ES 1.1 to 2.0 (with shaders) and it quickly became obvious I need to expand my math skills.

Comparing to a language, imo it's more important to be able to read math than write math. Most of the math you'll use in games won't be reinventing the wheel.

So I think you don't need 'very fluent' math because I don't nearly have that and I'm doing 'OK' (with the help of the many resources on the web including GD). Surely it helps a lot if you have strong math skills. Besides possibilities it would save me a lot of time. But probably not as much time as it would require me to study "beginning from pre-algebra to advanced calculus". ;)


As for your off-topic question, it depends on the company you work for, location, experience, education, and even talent. If salary is a main concern I'd personally pick something else.

Share this post


Link to post
Share on other sites
I don1t agree with the above post. If you are not fluent, that means you'll ask for everything on forums.
Math libs don't do everything for you. Game engines may do so. But if you don1t use engines, you have to be fluent. You don't have to fully understand everything, but you have to understand these elements (cross product/dot product/add/subtract vectors) to be able to build stuff.

And it's easier than programming, but a lot of programmers ignore it. No wonder why there are so many threads about fps cameras for example. It IS trivial stuff, but for some obscure reason people try to avoid learning this SIMPLE math liek plague.

If you refuse to learn maths, don't code games, IHMO.

Share this post


Link to post
Share on other sites
I ordered this a week or two back: http://www.amazon.com/Essential-Mathematics-Interactive-Applications-Second/dp/0123742978/ref=pd_bxgy_b_img_a

I used to have good maths skills but that was over 10 years ago now. I cant comment on how good the book is as it hasn't arrived yet, but the reviews seem promising.

Share this post


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

  • Advertisement