Game Programming

 What is programming, as it relates to video games?

Programming refers to the code that lies at the core of any video or computer game. Programming is the math and logic that makes the game happen.

Within most game studios, programming accounts for more people than any other discipline. The game industry sometimes parses out the more specific areas beneath the umbrella term "programming," to include game programming, AI programming, engine programming, tools programming or engineering, and network programming or engineering. 

What do programmers do?

At the most basic level, programmers write the code that makes things happen in a video game. This includes connecting or "mapping" the player input from the control pad to the action that's happening on the screen. It also includes all the action or movement of non-player characters; for instance, when you see NPCs wandering the terrain of a video game, it's the programmers who gave the characters the artificial intelligence to roam where they do. 

In related industries, the equivalent position to game programmer is usually a software developer or software programmer. Some programmers, depending on their title, might code something other than the game, such as the proprietary (or homemade) tools used to build the game or the networking architecture behind the game. 

Programmers work closely with artists, designers, producers, testers, sound designers, and everyone else who has a hands-on role making the game, supporting them when they need more technical know-how to complete their tasks. 

What does a programmer need to know?

Programmers are math and science people, and more specifically, algebra, calculus, and computer science people. Typically, programmers hold a degree in (or have advanced knowledge of) computer science. 

Before programmers find work in the game industry, they need to have a firm and working grasp of a programming language, usually C++, though many also need to know Assembly, C, or Java.

C++ is the most common language used in the game industry today. More and more programmers are also becoming versed in scripting languages (sometimes used to script gameplay, but not usually the backbone code of the game at large), such as Perl, Lua, Ruby, or Python. A person who is interested in becoming a programmer should be able to define the terms SDK, API, object-oriented language (and if you don't know them, be ready to look them up now). 

How much money do programmers make?

The average salary for a programmer, across all levels of experience, is $80,886. The average salary for a programmer with three or fewer years experience is $65,833. Both of these statistics are taken from the Game Developer Salary Survey, reflecting salaries reported at year-end 2006. 

What job titles can a game programmer have? 

  • Junior programmer
  • Game programmer
  • Lead programmer
  • Technical director
  • AI programmer
  • Engine programmer
  • Tools engineer or programmer
  • Network engineer or programmer
  • Graphics programmer

 

What types of people or personality traits make good programmers? 

Programmers must be able to seek out the answers to questions they have and the solutions to problems they face. In this sense, programmers must be strong independent learners.

However, it's crucial that game programmers also know how to communicate effectively with others, as their jobs require that they share their knowledge on an everyday basis. This sentiment, unfortunately, is contrary to the stereotypical reclusive programmer of yore. Game programmers absolutely cannot keep to themselves, especially when working on large console games, as they must interact constantly with other team members. Having a lot of patience and a friendly disposition goes a long way. 

What other resources GameCareerGuide.com have if I want to learn more about programming? 

"Ask the Experts: Programmer Applicant's Checklist," by Jill Duffy 

"How to Break in as a Game Programmer," by Steven Messinger

"So You Want To Be A Game Programmer?" by Marc Mencher 

"Game Programming Tests," by Jake Simpson

"Ask the Experts: She Blinded Me With (Computer) Science," by Jill Duffy

Programming forum in our Community section

Comments