I am trying to study XNA for game programming. XNA has many methods that can simplify developer's life, such as reflecting the vector when it hits a solid plane.

I know these are good and developers almost always work at an abstracted level, which is also the basic fundamental of OOP. I am not comfortable with physics, nor have I studied physics anytime during my schooling and so it gets difficult for me to understand how these abstracted methods work.

Do developers need to be physics gurus in order to make good, not necessarily excellent, games? Are all professional game developers good at physics? Put simply, are they all Einstein types? Or is it just fine even we are not aware of what goes under the hood in abstracted XNA methods?

  • 4
    \$\begingroup\$ -1 what's the problem you're trying to solve here? The answer to your question is simply "no". \$\endgroup\$
    – Tetrad
    Jun 2, 2011 at 21:01
  • 2
    \$\begingroup\$ What kind of game? Text adventures don't require you to know that there's such a thing as physics. Good pinball simulators require you to handle nasty collisions. \$\endgroup\$ Jun 3, 2011 at 12:24

5 Answers 5


Developers don't need to be physics experts to make good games. If you're developing a physics based game like Gish for example, at a minimum you need to understand how to properly use your physics library.

There are tons of great physics libraries out there and IMO it's more important that you understand how use a library and iterate on your implementation to make something fun than understand the math at a deep level. Of course understanding the math helps too :)

I made my own soft body physics game for XBLIG a couple years ago and my physics code was mostly based around implementing the math for springs and pressure bodies.


You can't get much better than the answers to this question :-)
What math should all game programmers know?

Also, just to be clear, XNA itself doesn't provide any physics functionality. For that, you will need to look to an engine like Velcro Physics (formerly Farseer Physics) which is based on Box2D.


Lets step back a bit - as much as it might seem challenging to implement physics in games (or not, depending on your experience), this is really basic physics we are talking about here - usually nothing much more complicated than equations of motions + gravity or thermodynamics equations.

Einstein developed general relativity (with a heavy dosage of tensor math) and quantum mechanics, which are orders of magnitude more difficult to understand and calculate compared to those classical and usually simplified topics covered in games. In fact, most of the physics covered in computer games can be learned at the high-school level (at least, where I went to it was being taught).

If you finished a degree in CS (or even if you didn't), getting those equations down and understanding how they work shouldn't be a problem for a decent programmer.


You only need as much physics as your game needs. Some games don't have "physics" at all. At most you'll find games use at most your standard F=ma type algorithms. The hard part is not the physics itself, but how to make it so your simulations are fast, stable, and predictable.

  • \$\begingroup\$ I'd add that game developers don't really need to know math either - beyond like addition, subtraction, multiplication and division. \$\endgroup\$
    – Tim Holt
    Jun 2, 2011 at 22:23
  • 1
    \$\begingroup\$ They need to know linear algebra, at the very least \$\endgroup\$ Jun 3, 2011 at 12:49

When hiring programmers, we ensure they understand and can solve problems with basic 3D vector math: dot products, cross products, simulating simple trajectories, etc. Reflecting a vector is a perfect example of a question we might ask. A working knowledge of basic 3D math is crucial for developing 3D games.

That said, very few professional game developers have the knowledge to write a good physics engine. This is still a very specialized skill.

If you want to go pro, I strongly recommend that you learn to be comfortable with basic vector algebra. If you don't, you will eventually struggle to keep up, even in 2D games.

  • \$\begingroup\$ Hi Gary, your suggestion is invaluable but how do I learn such stuff? I am basically from commerce stream (studied Accounts etc). I have never taken any physics course. Can you recommend any book which is very clear to read or any videos. I've seen few MIT videos but they are way too complex. I am not able to get them as they assume one already has some knowledge of physics. \$\endgroup\$
    – TCM
    Jun 4, 2011 at 3:21

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .