Advertisement

Math, Science, Etc.

Started by February 20, 2000 02:32 PM
14 comments, last by Ack 24 years, 9 months ago
Is it necessary to know a great deal of math as a game programmer? And science, too? Does one need or benefit from having a Computer Science degree? Is physics really useful when programming a game? Is it a good idea to go to college and get a degree? Thoughts, responses? These are questions I am pondering as a newbie, and I would like as much input on them as possible. College is a big decision ...
when i was a newbie i had the same question...
well, now as an "experienced newbie" i think that you have to have quite a bit of understanding in maths (especially in 3d), and some basic physics knowledge about gravity, movement, acceleration, etc. really helps. but it all depends on what you are going to code.
however i for one think that my basic knowledge from school is sufficient for all this. you can easily acquire the rest through reading books and articles...

good luck anyways
Advertisement
There''s a thread in the lounge already about the benefits of a CS degree. To sum it up: A CS degree makes you much more employable by game companies. If you don''t go for a CS degree at least get a solid foundation in math (Calc 3, Linear Algerbra). I vote that Differential equations is very useful.

As for science, you can''t go wrong with basic mechanical physics. I don''t think it''s really necessary for you to learn, say, thermodynamics, electromagnetism, or quantom physics.

The good thing about a CS degree is that it points you towards areas of the computer that you wouldn''t expect to help with game programming, but do. i.e. Computer Architecture, Compiler implementation and design, Numerical analysis, and so on.
Games move more and more into simulating the real world. Look at radiosity lighting for example, it hasn''t been around in games for very long (since Quake2 I believe, though the theory has existed much longer). To be able to incorporate all these theories that ''real'' scientists come up with (or better yet, come up with your own theories) you will need a solid education. This is where CS comes in.

As a sidenote: I read in FiringSquads interview with J Carmack that he dropped out of school, and still he is one of the top developers out there. So it certainly can be done without getting a degree. But it''s probably safer and easier to get the degree first.
Hmmm... well, I''m new to game programming, but I''ve been pondering that question a lot recently. Kind of funny how this post came up when it did!
What kind of math is needed to make games? Do you have to be some sort of mathamatition to make advanced games? I''ve got algebra down pat (well... as advanced as Grade 9 Math is), and I know Slope (y2 - y2/x2 - x1) is used in game programming. Ending my babbling spree- do you need to be really good at Math to program good games?
3D Math- The type of mathematics that'll put hair on your chest!
As far as i can see, if you can program, then you can do maths. Pretty much everything to do with game programming has its roots in mathematics. But that doesnt mean you need to be a mathematician. Im currently studying some maths courses, and was thinking about writing some stuff and putting it online, if people are interested, and i get the time. What do you think? Would anyone be interested in reading it? What topics would you like me to cover? I was thinking just general maths, not specific to graphics/game programming, mainly Pure maths(algebra, geometry etc...) and mechanics(physics, dynamics etc...), alittle bit of statistics, and some decision maths(algorithms). Give me your thoughts/comments.
Advertisement
How old are you people, and why the hell are you calling it "maths". I''ve never in my life heard mathmatics referred to as "maths". Anywho...I myself have a CS degree, i graduated in 1994, and have only rarely seen gaming projects that called for the understanding of solving differential equations, let alone quantum, not "quantom" physics. As far as Calculus 3, are you speaking of multi-variable Calculus? Well, unless you need to find the volume within a curve in three dimensions, or want to understand triple integration, i see absolutely no need for it as it would apply to gaming. These advanced math courses are part of the CS curriculum because the universities have no idea what kind of software you will be programming once you leave their school. They want you to be prepared for the more advanced projects, such as programming math software that would solve differential equations or allow triple integration. CS students learn this stuff because they must be prepared to do a lot of the software engineering that most people take for granted. So, to be honest, you dont need a degree to program games. You may need it to be employed though. So, i''m not sure how old the people on these threads are, but some of them have no idea what they are talking about and it''s obvious that they have a lack of understanding of the subjects that they are talking about. So to top things off, the most helpful classes as far as math is concerned that I could think of would be the one year standard Calculus course, and Linear algebra.
I''ve never seen a poster get so riled up over a typing error before. Yeesh. And if you were literate to any degree, you would have noticed that I said you *didn''t* need quantum.

Yes, by Calc 3 I meant multivariate calculus. I already posted justifications for the advanced mathematics for game programming in the other thread. However, in brief, because obviously we have people who''d rather flame than read, are some uses for higher mathematics:
* Inverse Kinematics, diff eq written all over it
* Fourier transforms need for encoding/decoding file formats such as jpeg and mpeg
* Interpolation and extrapolation methods usually use techniques introduced in multivariate calculus and differential equations, especially when extrapolating positions of moving objects. i.e. Client prediction.
Anonymous Poster (The One Before the Crazy One)- I''d read the Maths (yes, that''s right anon. 2, MATHS) and physics and that sort of thing if you put it up on a site. I''d be more interested in physics, though.
3D Math- The type of mathematics that'll put hair on your chest!
One of my better math courses was Discrete Structures. This course taught the theory behind, rings, graphs, trees, binary math, parity, and check summing. If it wasn''t for this course I wouldn''t have the understanding of sorting, searching, and storing data that I do. I am not sure but in some CS courses this stuff might be listed under Linear Algebra.

Oh another class that came in extremely handy was an EE logic class. Having to build the circuits gave me an understanding of what goes on inside the computer as well as a great understanding of boolean algebra. This really helped with Assembler programming and some aspects of C++. Though this course doesn''t claim much credit for my skillset directly, indirectly it can not be measured. I intrinsicly understand why DDR memory is such an amazing new technology for video cards, hence I can better guess where we will be going in the future and build a game for it.

Enough rambling. Education helps, but like all other things it only helps you as much as you want it to. If you learn nothing while you''re in there, it will show once you get hired and the paper degree won''t matter much to your pink slip.
Derek Licciardi (Kressilac)Elysian Productions Inc.

This topic is closed to new replies.

Advertisement