Game math

Started by
4 comments, last by nilkn 15 years, 11 months ago
Hello, I'm currently a college student, in a software engineering program. My school doesn't have a particularly strong math program, and I'm wondering what kind kind of math I'll need to know for game programming. I want to get into AI and I think at this point I'm going to need to pick up a few books or something along those lines but I don't really know what I need to learn. Could anybody tell me what I should look for (and maybe recommend some books, I have some calculus already and will probably get some more through school, up to Calc III). Thanks
Advertisement
Any game programmer needs to know 3D math. This means you're going to want to take Linear Algebra. If you're eager to read a book, wikipedia has links to 3 complete, free online books.
Game AI isn't horribly math-driven, but solid knowledge of Calc III (partial derivatives, 3D space, etc) and Linear Algebra will always be helpful. Numerical Methods is also a handy topic, but moreso for physical simulations (which you could run into with physically based intelligent agents, but that's not really my specialty).
Linear Algebra is certainly helpful for a game developer, but for AI in particular I'd say you need a good knowledge of probability, ideally extending into fullblown Statistics.

Richard "Superpig" Fine - saving pigs from untimely fates - Microsoft DirectX MVP 2006/2007/2008/2009
"Shaders are not meant to do everything. Of course you can try to use it for everything, but it's like playing football using cabbage." - MickeyMouse

Quote:Original post by Shakedown
Any game programmer needs to know 3D math. This means you're going to want to take Linear Algebra. If you're eager to read a book, wikipedia has links to 3 complete, free online books.


Linear algebra is certainly useful, though there's quite a bit of bloat(vector spaces, inner product spaces, injective and surjective functions, etc). Perspective geometry is also useful. Maybe a course in graph/matroid theory? Oh, and statistics/neural network theory for AI.
You'll need an understanding of multivariable calculus for some topics in AI (back-propagation in training neural networks, for example).

Linear algebra at a minimum is a must for 3D graphics. Sometimes it's superficially and somewhat misleadingly presented as the study of solving systems of linear equations; in reality, this is but one of its applications. More precisely, it is the study of the basic algebraic structure of vector spaces and linear mappings between such spaces. Since 3D graphics consists largely of such mappings, it's very important to understand them.

These are the most important things to know. I'd probably feel a bit crippled if I were trying to study full-blown AI without a good knowledge of these topics.

Quaternions are useful occasionally in computer graphics as well for dealing with rotations. For a complete understanding of quaternions, you'll need a most basic appreciation of the notions of abstract algebra, but you wouldn't need to take a class or read a book on it or anything. A nice introductory paper would probably suffice.

Graphs are used a lot for path-finding, so if you want to do that sort of thing you'd need to look up the mathematical theory of graphs. I don't mean bar or line graphs, but a set of vertices connected with edges--this sort of graph.

This topic is closed to new replies.

Advertisement