   What do you need to get better...
  Hi dear Developers!I've started to get really deep into the math of the game development world.I know that I need more than just basic Math...I wanted to ask what you think I should go and learn.Linear Algebra? Other areas that I should study?I'm planning to take some courses in the university, and I want to take the right courses... not to spend time on unnecessary math...I know that you all like math (well most of you) don't give me the full list... please... I just want to save time and take the really "Have To know" lessons.ThanksGil Amran   
  Geometry, Linear Algebra, Discrete Mathematics are usually typical of most programming situations.  If you get into physics you're going to start running into Calculus.  Also, depending on how deep you go into the previous three subjects, you may start hitting Calculus also.  Having a firm understanding of mathmatics is great, but also knowing how to apply what you know is the key.   ;Quote:Original post by Daishi... Having a firm understanding of mathmatics is great, but also knowing how to apply what you know is the key.Many schools treat computer science as an applied mathematics college within the schools of math or pure sciences.(For those who don't understand this, many large universities have "schools", or significant umbrella groups, followed by "colleges" of specific topics.)frob.   ;Quote:I just want to save time and take the really "Have To know" lessons.I don't believe there any "Have to know" lessons, in the way that all math you can fit in your brain is going to pay off some day or another. I guess it depends on what aspects of game programming you want focus.If you're thinking about 3d graphics, however, there are quite a few "musts".(I'm suggesting these from my experience with mathematics, not from my programming experience)(i)Analytic geometry, first of all: studies the properties of fundamental geometric entities in 2d/3d dimensional space. Covers Vectors, 2d lines, circle, their equations (in almost any possible form), their extensions in 3d: planes/lines/spheres, examining all possible ways to define these objects from different data. Also discusses different coordinates systems and ways to project space from one to another. Plus a whole bunch of useful formulas for linear independency, finding distances/angles between points/vectors/planes. I suggest this strongly. If you don't feel much like it, at least cover the vectors.(ii) Linear algebra definitely... Covers basic matrix/vector manipulation, valid transformations of coordinates through matrices/similarity transform... These are all the essence of 3d graphics in computers. Also covers general matrix analysis, eigenvalues problems (definitely!)(iii) Numerical analysis... This one is geared towards how you can apply the math you know in a computer as efficiently as possible. Note:this is not about computer science and algorithm optimization; it deals with solving numerical problems with the least possible cpu overhead (optimizations in the mathematical aspect), for use in computers. It covers mainly integrating/differentiating functions strictly from numerical sample values, finding maximums errors for your calculations etc. Don't get spooked by the big words, all these have huge applications in 3d games. Be careful if you want to buy a textbook on this subject though, as most of the bibliography out there is somewhat outdated.That's what I can think of... I think it's enough for "more than just basic Math"   ;  Welp, good answer man...One more thing.What do you think about this?http://www.gameinstitute.com/courses.php?coursedisplay=50It's an online video course, are they good? Or should I go to the university?I want to save time, and do it on my speed...What do you think about it, or the others that offer the same things...?Do you have books to recommend or you recommend not reading books, just go to lectures...Thanks;  I second linear algebra and discrete math.  Also, Calculus is really a great 'life skill' to know.  It's important for physics, sure, but it also helps you understand how the world *really* works.10 years ago you could be a maverick coder right out of highschool and get a job working at Amazon for 50k a year, but nowadays you usually need to have a degree (or work experience) to even be considered for an inteview.I can't tell you anything about the game institute, but I can tell you that you need a 4 year degree from a 'regular' university.  Maybe if you live/eat/drink game development (note, not game playing - game development) you have a chance of doing it for a living, but it's a much wiser plan to treat this as a hobby and a get a degree that will not only help you program games (which a degree in CS, Math, or even Electrical Engineering would do) but will also help you get a 'day job' to pay the bills.   ;  I'm sorry, I don't think I qualify to advise you on these questions...For the game institute issue, the lesson plan seems ok, but... I don't know, I don't have any personal experience with such teaching methods.I'd definitely opt, though, for the university for the exact same reasons Syph suggested... You can't do much nowadays without a degree.Start with the subjects suggested here. Read anything you find useful at the time being. You don't have to spend money on books. The university's library is always there if you feel like browsing, and you can find a lot of papers in internet too.   ;  maybe a course on numerical methods.  linear algebra and calculus is a must.  some graph theory can't hurt either. in fact, nothing can hurt lol.  some basic probability and such for some ai topics.  concentrate on pure math, I can't recommend learning off books that are specialized for game programming.  it's just to much material to cover and as a learning resource, they'll probably leave you with to much specific knowledge, and you may find it hard to grasp new concepts or how to apply the results in different settings.  not that I don't respect those books.  I just think it's better to learn the more traditional route, then use these specific books to fill in the gaps or for reference.  When you're learning, obviously keep your mind open for possible applications within game programming.  I'd recommend all this in this order1)calculus 1d to 3d vector calc2)linear algebra3)basic analysis course4)numerical methods5)graph theory or a class on computer algorithms6)more advanced calculus and linear algebradefinitly do the first 2.  then decide where you wanna go from there. also some probability course can't hurt.  take it after calculus so you can get some exposure to continuous probability without it being over your head.//edit.you'll probably want to fit in some sort of engineering physics course in there after the calculus.  then after that you'll probably want to study up on more advanced mechanics like rigid body.  either form a traditional book or from online tutorials but either way you'll need a first course in engineering (calculus based) physics.Tim;  Besides the obvious algrebra-I second the discreet mathematics. Include logic mathematics as well has sets theory.-A good mathematical foundation on Finite State Machines, inclusing stack machines, star lemma.-Many will include this in logic mathematics, but a good knowledge of mathematical proofs will always help your thinking.   