Physics Programmer

  • Physics Programmer

In the real world, matter is ruled by laws of physics as explained by guys like Newton and Einstein; but in the virtual landscape of video games, the physics programmer makes the rules.


Duties

Based on system designs, computing power, and the restrictions of the game engine, physics programmers write the code that governs the natural laws of a video game. The physics engine is intended to simulate effects like gravity in the virtual environment, but this is only an approximation of what we experience in the real world. A number of physics elements must be worked into the virtual world, depending on the style and demands of the game. The programmer is tasked with implementing code for collision detection, the effect produced in games when two objects interact—for instance, two cars locking bumpers, or a character’s ability to pick up a weapon. In addition, the physics programmer writes code for particle systems that control explosions, moving water, smoke, and snow. Our brains have an expectation of what an oil drum should look like when it bursts into flame, and it is the job of the programmer to mimic the real-life result as closely as possible—or at least what Hollywood has conditioned us to think of as real life.

Another important concern of the physics programmer in games featuring human characters or living creatures is “ragdoll physics,” the treatment of a body when struck or killed. As the name suggests, this animation and simulation technique is programmed to treat a body like a rag doll as it hits the ground, giving the subject a set of bones and joints that react to multiple impacts. Games with higher processing power and fewer restrictions on the engine allow the programmer to include more advanced models of movement, collision detection, and particle systems, thus creating more visually sophisticated and realistic simulations of liquids, solids, and kinematic elements. Whatever the technological capacity of the engine, it is the core responsibility of the physics programmer to produce code that enhances the player’s experience and strengthens the authenticity of the game’s action.

Skills & Education

A college degree in computer programming, game development, or advanced mathematics is a requirement for a job as a physics programmer. A firm knowledge of linear algebra, trigonometry, and quaternion math is necessary. Courses in physics and anatomy are also valuable and expected in this career field. You should be proficient in C/C++, Assembly, and SIMD programming, and be comfortable quickly adapting your skills to a new scripting language and proprietary systems. Studios are typically less concerned with which engines or languages you know, but prefer a candidate that demonstrates a high level of skill and flexibility. Experience programming on current-generation consoles is a necessity.

What to Expect

Work as a physics programmer is highly technical, but still creative. In addition to writing code, you are expected to continually look for ways to improve upon existing systems and develop innovative methods to make the most use of limited space and power. No game developer ever wants to compromise quality for speed, so it is your challenge to find methods that meet the goals for both expectations. Major studios that turn out AAA titles require physics programmers to have at least three years of programming experience on multiple shipped titles. Work history in game quality assurance or as a junior software engineer performing low-level optimizations or stability fixes is excellent preparation for this role.

Industry:

Related Content

Have some feedback for our editors? Contact Us