A video programmer, also known as a game software engineer or a video game programmer, develops video games intended for entertainment or educational purposes. While there are usually several layers to this position, a video programmer is primarily charged with the task of writing the code that runs the game and directs probable outcomes of play. They are also involved in scripting supplemental components, such as development tools and computer assisted software to establish the game’s platform and interface capability, as well as to develop its architecture. Typically, a team of programmers works together in the production of a single video game. However, many video programmers specialize in a specific area of development.
For example, a video programmer may be dedicated to working exclusively on the sound engine of a video game, including writing script to project 3D positional sound, what is more commonly known as surround sound. The challenge to this role is developing code to drive specific sounds and variations in sound to reflect the attributes of certain characters in the game and the actions they perform, as well as to indicate the level of play or goal accomplishment.
In contrast, a video programmer may be assigned to concentrate on developing the graphics for a game. Depending on the device the game is designed for, the programmer may be asked to develop two dimensional (2D) or three dimensional (3D) graphics, with the former usually being reserved for handheld games, PDAs, and cell phones. In the case of the latter, the video programmer may specialize in creating code to execute advanced 3D graphic effects known as pixel and vortex shading, which provides sharp contrast and color hues to produce a realistic 3D appearance.
Some video programmers specialize in animation, which involves developing a predictable set of physics laws that may or may not resemble those found in the natural world. Also known as dynamical simulation, this aspect of game development is attributed to the creation of a physics engine, which defines how certain characters and objects will move in a given environment and how they will behave when that environment is altered due to an event taking place in the game.
As might be expected, a video programmer must be highly creative as well as being able to draw from a variety of disciplines, namely mathematics and physics. In fact, most programmers are proficient in diverse areas of these disciplines, including linear algebra, software engineering, and artificial intelligence technology. For those seeking to become video game programmer, a bachelor's degree in computer science is usually required, in addition to a strong background in physics and math.