To receive updates and new releases subscribe today.

Video Game Programmer and Developer

Search for IT and Computer Training Programs

Zip Code:

Subject:

Degree:

Online Campus Both

Game programmers specialize in software programming and engineering. They are mostly responsible for creating codebase to be used in video games and similar software, including game development technology. There are numerous specialties within the game programming industry, and each specialist is considered a game programmer. However, game programmers are not the same as game designers since designers are responsible for developing new games.

Modern video games often include input devices to allow players to connect to the Internet for online game play, customized music, digital sound, 3D graphics, and
artificial intelligence technology. In many cases, individual programmers are assigned to supervise individual aspects of the software development process for a game. Many programmers specialize, but they often understand most aspects of the software development process. The quantity of programmers selected for a project is usually dependent on the skills and the genre of games programmers specialize in.

Game engine programmer

Game engine programmers develop the graphics and simulated physics that make up a video game's base engine.

Physics engine programmer

Physics programmers are responsible for determining the physics that will be utilized in a video game. Usually, only a few components of real-world applications of physics are simulated in a game. A game taking place in space, for example, usually simulates gravity but not water viscosity.

Because physics programmers are usually busy, they frequently utilize methods that save time and money without sacrificing quality. In some cases, specific situations are programmed and stored and never run when an operation is conducted.

Certain physics programmers are responsible for developing complex inverse kinematics technology, which is used to give characters lifelike attributes; however, this is often done by utilizing motion capture technology, so CPUs are not slowed by complicated calculations.

During development projects for role-playing video games, a single physics programmer is frequently assigned to a project. However, more complex game projects, such as war games where several characters can be on a screen simultaneously, often require groups of physics programmers.

Graphics engine programmer

In the past, graphics engine programmers specialized in clever optimizations and blitter algorithms. Currently, these specialists spend most of their time designing and troubleshooting complicated 3D graphic renderers. The popularity of smartphones, handheld game systems, and PDAs has created demand for programmers specializing in 2D graphics.

Programmers specializing in 3D graphics need to understand linear algebra, quaternions, and matrix mathematics.

These types of programmers are in high demand, and as a result of this fact, they are usually well paid for their skills and expertise. Graphics engine programmers develop video games for computers, game playing consoles, and hand held systems.

Artificial intelligence programmer

Artificial intelligence (AI) programmers design and develop the technology within game systems that simulates lifelike human behavior and characteristics. In fact, many programmers are now exclusively specializing in AI; whereas, in the past, programmers with generalized knowledge would perform programming for software that operates AI technology. Many AI programmers program enemy tactic, strategy, and pathfinding systems. Programming for these types of functions is one of the most difficult components of game programming, and the technology is constantly evolving. Most video game development companies assign between 10-20 percent of their programmers to work on AI related projects.

Certain games, including role-playing and strategy games, heavily rely upon AI technology, whereas, puzzle games do not. To make the programming process easier, numerous game programmers have developed programming languages that can be utilized to create AI computer programs for games using scripts. These programming languages are usually not as technical as the programming languages utilized to operate the game, and they are frequently used to design levels and backgrounds. Many game development companies permit their games' scripting to be available to their game users, and it is frequently utilized by third party software developers.

AI technology utilized in video game programming differs from other types of AI applications. Even though AI technology utilized in game programming shares similarities with other AI applications, it is considered different, but this is not always the case. However, more action is being taken integrate AI research with AI game programming.

Sound programmer

Sound programming has been an important part of the game development process from the beginning. The majority of games contain audio, while many come with original musical scores. Computer audio games often do not contain graphics and utilize sound as their main apparatus for feedback.

Numerous games utilize sophisticated techniques, including 3D positional sound, requiring that sound programmers have specialized skills and knowledge. In many cases, multiple sound programmers could be assigned to develop a game's sound engine, and many sound programmers have expertise working with digital signal processing technology.

Scripting tools are frequently maintained and designed by sound programmers that are eventually utilized by sound designers. This technology permits designers to test out sound for different characters, events, levels, settings, actions, etc.

Gameplay programmer

Although every programmer contributes to the game playing experience and content of a video game, gameplay programmers specialize in developing strategy and a game's overall feel. However, programmers usually do not specialize in strategy development, so the responsibilities of programmers usually differ for each project. Most gameplay programmers work on audio and graphics during a development project.

Gameplay programmers are frequently required to develop strategy tables, troubleshoot input code, or alter other game factors. These aspects may be changed by gameplay programmers with expertise in these fields, but strategy tables, for example, are usually designed and maintained by programmers.

Scripter

Gameplay programmers who developed older video games would usually be required to write code that served as the basis of game content. Whatever command would be sent to a game console from a player, the coding that permitted these actions was usually completed by gameplay programmers.

Game programmers are considered both software programmers and engineers. They're mainly responsible for creating codebase for game development technology and video games. Game programmers have the option of specializing. Game programmers and designers are not the same specialists since they have very different specialties and responsibilities.

Today, gamplay programming is usually not linked to the core game engine. This makes the developmental process more efficient. The game engine is responsible for operating a game's audio, graphics, and physics, while scripting language controls characters' behaviors, cinematic events, and objectives. During massive projects, groups of scripters are often assigned to a single project.

Scripters often also participate in game design. It's usually less difficult to hire a skilled game designer who can learn a script language than hire a designer skilled in C++.

UI programmer

User interface (UI) programmers are trained to develop and maintain user interfaces. Although certain games contain original user interfaces, UI programmers often develop multiple interfaces that can be selected from to best suit a certain type of game. The majority of UIs utilize 2D technology, but more UIs are now compatible to support 3D technology. Therefore, UI programmers should be well acquainted with 3D math and technology. Modern UI systems permit scripting and special effects, which includes animation and transparency.

Input programmer

Game systems with input devices developed during the 1980's were usually designed for joysticks. Today, game programmers must understand how to work with various types of input devices, which still includes devices for joysticks. These specialists develop the code that operates joysticks, keyboards, and other hardware devices affecting gameplay. Typically, groups of input programmers work on single projects, depending on the sophistication of an input system. For example, the input systems for strategy games are not as complex as the systems for shooting games where the characters appear in the first person.

Network programmer

Network programmers develop codes that permit players to interact and play with other players in different locations through the Internet or a LAN. Network programming can be very difficult. Network programmers are required to handle interrupted connections, packet compression, and network latency. Since network programming can be difficult and time consuming, it's usually the final type of programming completed during a developmental project.

Game tools programmer

The work of tools programmers is indispensible for the work of other game programmers. Programmers utilize tools to create game levels, alter game characters, and perform scripting. Certain tools, which include 3D graphics modeling software and other technology, can be used to complete various tasks, but numerous tools are custom built to perform specific tasks.

Tool programmers are responsible for performing the programming on the technology utilized by other video game programmers. Certain games contain these tools; however, most games are not sold with tools. Well designed and properly maintained tools usually make the game developmental process less difficult for most programmers. Tools with bugs or other problems can make the developmental process very difficult. Since tool programmers usually work under tight deadlines, tools are often developed improperly.

Porting programmer

Porting games among multiple platforms is a common duty for most game developers. Certain programmers specialize in porting, where they transfer code from one platform, so it will be functional with another one. Occasionally, programmers are assigned to convert code, so it will work on various devices, which also includes cell phones. Many porting programmers are responsible for re-writing a game's code, which makes technology for converting codes obsolete in many cases.

These specialists must be knowledgeable about programming languages, operating systems, converting languages, and code re-writing. Porting programmers could be required to convert languages with bugs, scant documentation, multiple types of codes, and refactor codes. They must also be able to convert code that will be used with computers that have varying screen sizes. Porting programmers are frequently required to perform troubleshooting.

Technology programmer

Technology programmers usually work for large game developing companies with research and development departments. Unlike other programmers, these specialists are usually not assigned to work on game development projects, and they often work under the direct supervision of a department supervisor; whereas, most game programmers work under the supervision of game producers. Technology programming is very difficult, so these types of programmers must have extensive technical knowledge. Technology programmers must understand how to develop algorithms, solve problems, and develop software that is compatible with the memory requirements of various systems. Technology and other programmers share many similar job responsibilities with graphics programmer.

Generalist

For smaller projects, certain programmers assigned to a project are known as generalists since they are usually assigned varying duties. These programmers usually locate bugs in software, determine ways to eliminate them, and then eradicate them.

Lead game programmer

Lead programmers are responsible for supervising all the programming performed while a new game is developed. It's their responsibility to ensure all the different submodules in a new game being developed are designed properly. People working as lead game programmers are usually promoted to these positions after acquiring work experience in other programming roles. Although these specialists are programmers, they do not spend a lot of time creating code since they are frequently required to attend meetings and speak with customers. However, these specialists still perform some programming, so they must stay up to date with programming technology and trends. Since technical directors and lead programmers share many of the same responsibilities, a single employee often works in both roles.