## Want to be a Computer Game Programmer?

Posted on January 11, 2007 Comments (4)

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.

…

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.

4 Responses to “Want to be a Computer Game Programmer?”

Leave a Reply

January 25th, 2007 @ 8:10 am

“Being a designer in this day and age requires a pretty wide variety of skills. Designers are the generalists of the development team, needing to bridge the gap between Art and Engineering, competently communicating with each other…”

July 2nd, 2007 @ 11:45 am

“The emphasis is firmly on realism, and the learning curve can be steep. Be prepared to invest some time and effort to brush up on your orbital mechanics background. Good starting points are JPL’s Basics of Space Flight, and R. Braeunig’s Rocket & Space Technology…”

January 1st, 2009 @ 9:19 pm

[…] Science Education – A Career in Computer Programming – Microsoft Wants More Engineering Students – So You want to be a Computer Game Programmer? – software development posts on our management […]

February 16th, 2012 @ 2:31 am

[…] A Career in Computer Programming – Computer Game Programmers – Wanna Play Work (comic) – What Makes Scientists Different (comic) Posted by […]