Want to be a Computer Game Programmer?

You need to understand math, physics and more to become a computer game programmer. Things You Need to Know before Interviewing for a Game Programming Position:

You do need to have very good linear algebra skills. If you don’t know what the formula for a dot product is (a dot b = a.x * b.x + a.y * b.y + a.z * b.z ) and what it means geometrically (|a| * |b| * cosine of the angle between a and b), then there’s no chance you can get a job. You need to know how to project a vector onto another vector (a projected onto b = ( a dot b ) / |b|^2 * b) and onto a plane. You need to know what the cross product is (a x b = [a.y * b.z – a.z * b.y, a.z * b.x – a.x * b.z, a.x * b.y – a.y * b.x]) and what it means geometrically (a vector perpendicular to the vectors with a length equal to the sine of the angle between them).

You should be very familiar with all the projectile equations. If you can’t either derive or remember d = v0 * t + 0.5 * a * t^2, you’ll be in trouble when you interview or take a programming test. Any problem that involves a projectile with gravity should be easy for you to solve. Whether the unknown is gravity, launch angle, y velocity, xz velocity, time, distance or any combinations that are solvable, you should have no problems determining the solution. You should also be familiar with momentum and kinetic energy for elastic and inelastic collisions. Drag and friction should be concepts you understand also.

If that all looks like great fun to you, perhaps game programming is the career for you.