Skip to main content
gamedev.net
🔒 Locked

Maths In game programming

Started by Haido 13 replies 2.4k views
Original Post
Haido
Haido
Hi there. I''m 15, still in high School. I know how to program in C/C++ but I still need to brush up my knowledge, it has been a long time since I didn''t code.My Maths marks are mid-good but I don''t really want to learn them, if I put an effort of course I''ll have the highest marks of my class. I heard they were aboslutly needed in Game Dev. What I want to know is, I want to become a game programmer someday, what Maths do I need to know to get the job ? Why is that ? Why can you do with all those Maths? Do you really need to go to university to get hired a game developing company Like Capcom or Konami ??? A diploma is absolutly needed or not? If you take higher classes is it true that companies (Game developing ones) will not pay you like Someone who did take higher classes? Please desrcibe all the Maths(inculding the Topics) I need to know to be a so-called "Game Dev guru".I''d be forever grateful to the persons who answer those questions as they are really determining my carreer. Thank you in Advance ! Kodawari...
Kodawari...
sphinx23
sphinx23
first: what topics in math and how many of them you must know depends on what you want to do. if you e.g. want to do 3d (engine) development, you must have a strong knowledge in analytical geometry (vectors, planes, points, distances ...) for collision detection, movement, etc. You also need to know some physics (e.g. mechanics, forces ...).

On the other hand, if you do 2d-developement, a lot of the above mentioned is simply not needed.
Haido
Haido
Well I''d like to become an "Engine" programmer. I would love to work on rendering techniques, tricks, I want to research Graphics ,and Physics too.
Kodawari...
TerranFury
TerranFury
Geometry, Trigonometry, and Linear Algebra are vital in graphics programming. Calculus is used in graphics programming, is at the heart of basically all physics, and is important in some AI techniques. Some number and information theory can be useful for optimization, and are vital for file compression. Fourier synthesis forms the basis of basically all sound processing.

Why do we use all these maths? Why should you? Simply, games try to simulate the world. Maths describe it.
Haido
Haido
Can somebody please explain what a calculus is ? And how many years will I need to study Maths at University ?
Kodawari...
Haido
Haido
And what If I learn the Maths before arriving at University (I can) ?? It will be useless to learn them again, don''t you think ??
Kodawari...
Zipster
Zipster
Calculus is so broad an area, it''s hard to give you anything else but a textbook definition without going into a lengthy explanation. It''s a study of rates of change, but even that''s oversimplified.

You should begin to study Calculus as a senior in high school, assuming you moved up a level each year and didn''t have to retake a class or anything.

When all else fails, you might be able to find some online Calculus coarses. Nothing too fancy, but just enough to get you started.
GaulerTheGoat
GaulerTheGoat
quote:
Original post by Haido
And what If I learn the Maths before arriving at University (I can) ?? It will be useless to learn them again, don''t you think ??

I taught myself most of the math I know before I took any classes on it. I think it is a good idea just because it is usually much more interesting to learn it on your own. However, if you are just learning math to use for programming, you may not be as enthusiastic . Be prepared for boring classes learning things you already know. The universities probably will not let you skip the classes just becuase you have claimed to learn them on your own. They will probably not even give you a chance to prove yourself. Such is the overpopulated United States education system (maybe you don''t live here, though).

BTW, my interpretation of "calculus" is the study of infinite sets, altough that will include some things not usually thought of as calculus so it is probably not a very good definition.

20: ...Qg2 ++
Haido
Haido
I don''t want to sit down and wait till University to learn all those Maths I am enthousiastic with everything that has to do with game Developing (Maths,Programming,etc)!! Do companies like Capcom or Konami (big ones)pay less money to poeple without a degree ? Do they let skip classes here in Europe ? (Belgium exactly)
Kodawari...
dande
dande
Actually having a diploma is not always proof of knowledge. At least in my opinion. All I say, is that (to my best knowledge) John Carmack doesn''t have a diploma (well, he was kicked out because he was smarter than his professors). Well, good luck!
Dan FeketeThe Shadowhand Co.If everybody has it's own matrix, then mine is an identity
coelurus
coelurus
I go in High school myself, and I learnt the things in math I study now like 3-4 yrs ago, only because I'm a programming maniac
I strongly recommend you to start studying Math more properly (note: not only in Maths, all other grades help for employment later on obviously). But don't just keep it at learning; to fully appreciate what one learns, one has to utilize it. Start programming, it's one great way of understanding how math can be used. For example, in school, they never tell you the whole lot you can do with sin/cos on computers... It's fun exploring these things

EDIT: It's only good for you to restudy things later on in university. It might seem tedious, but it's good rehearsal and you _might_ learn new things. There is always a chance, don't spoil it.

[edited by - coelurus on May 31, 2003 6:37:04 PM]
Haido
Haido
How long will it take to study all the Maths ? I don''t really want to go to the Uni, but If I must I will. What if I finish high school and have a decent game and send it to some company, will they accept me ?
Kodawari...
GaulerTheGoat
GaulerTheGoat
I have no idea what the universities in Belgium are like. To study on your own, however, depends on just how motivated you really are.

I taught myself geometry and trigonometry in a weekend from a library book. It wasn''t the best foundation, but after applying it once or twice I strengthened it alot. I taught myself what is considered first semester (one-variable) calculus from a $15 Dover book, [u]Technical Calculus with Analytic Geometry[/u] by Judith Gersting (a very good introduction, I highly recommend it for self-study) in about a month.

The parts of linear algebra that you actually use is just vectors (get the dot and cross products in there) and matrices. These are a little bit more sophisticated conceptually but are nevertheless simple computationally. You could learn vectors and the basic transformation matrices in no time at all (say, a week or two) if you have really been practicing your trig (you might want to get a less theoretical and more application based book for linear algebra. I can''t really think of one. Howard Anton has a good book but it is still theory motivated.) You could surely figure out how the OpenGL stack works after that.

You could probably skip the infinite series part of calculus, too. I can''t think of any reason where you really need to know it, maybe someone else can.

The hardest part is surely going to be physics and multi-variable calc. Fortunately, the only part of physics you will probably need for games is kinematics, which is quite simple. Physics is a dangerous subject . I''ve heard that O''Reilly has a good "physics for game programmers" book. That is probably best to start with (after you learn trig). Multi-variable calc is very close to physics both in character and difficulty. Build up to it. You can make very good two-dimensional arcade-style games without knowing any multi-variable calc and minimal physics.

Total time:
If you work harder and faster than a guy in a stinky bathroom , you could learn more than enough to impress slackers over the summer.

I don''t recommend you plan on skipping college. It maybe a pain and possibly bullshit, but it is still your best shot at getting paid well and making a name for yourself. Hope this helps. Other people can add to this. Best of luck !

20: ...Qg2 ++
oliii
oliii
linear algebra, vectors/matrices/quaternions, trigonometry, integration/derivation (calculus), series, statistics, ... Knowing lots of maths really helps, even indirectly. It gets you to the right frame of mind, you''ll be able to understand what people are on about in the technical papers, especially for stuff concerning advanced graphics and physics techniques. You can;t escape maths nowadays, if you want to work in the game industry and develop 3D games. Even if it''s boring you out of your mind, you should really pay attention, it will pay off. Physics is as important. If you can learn about mechanics, it is a very complicated and boring subject, but a key element in games. Physics dictate the gameplay and what the player can do.

You can specialise in either of phsyics or rendering, there is room for good coders in both fields. To tell you the truth, I was never paying attention to maths at school, although i got good marks, but what I learned really helps me now, and what I forgot really bugs me sometimes.

To start off, with the easy things, learn about vectors, matrices, quaternions, planes, frames or references... These are the basics for 3D graphics and physics. Although don;t overlook the other aspects of maths. It''s relatively easy, and you can get most of the useful stuff on the net. If you want some more info, a teacher could help you out. Although he might be too carried away on the abstract aspect of things. A good computer graphics book is a great source of information. Check out the book recommandations. Talk to your math teacher about parts in the books. "Computer Graphics: Principles and Practice" is a great (although a bit academic) introduction to graphics and what you need to know.
Everything is better with Metal.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.