Game development has lots of fronts... gameplay, physics, graphics, etc. and whenever I look up the answer for this question it's always something vague like: "extended knowledge of c++, c# or whatever".

But what exactly does that mean? Does the gameplay programmers know lots of openGL, directX? maybe lots of vectors, matrices? Do they need to know some network programming?

So what kind of coding and other tasks do gameplay programmers do?


Gameplay programmers are responsible of the "game" part of the software. What this means is that they're usually responsible, depending on the type of game, for the 3Cs:

  • Character - the playable character
  • Camera - how the player sees the world
  • Controls - how the player interacts with the world

These tasks include a lot of dependencies with the engine, such as playing animations, reacting to collision, making sure the actions are replicated properly over the network, etc...

The creation of mission items for level designers / mission scripters is also often done by the gameplay programmers.

Some teams will have AI programmers, but if it's not the case, gameplay programmers do the AI as well, which includes behaviors, navigation, player feedback, etc...

It's a pretty broad field and depends a lot on the game type you're working on.

Gameplay is often programmed in the "native language" of the engine, but can also be scripted using a higher level language, such as Lua, Python, Unreal Script, etc...

  • \$\begingroup\$ thank you! so they do need to have a good grasp on graphics APIs and networking libraries, right? \$\endgroup\$ – VinArrow Apr 11 '14 at 15:20
  • 2
    \$\begingroup\$ That depends. It certainly won't hurt you to know those things. But job roles vary wildly across studios in the industry. As a generalization, this answer is pretty accurate. \$\endgroup\$ – user1430 Apr 11 '14 at 15:34
  • 5
    \$\begingroup\$ @VinArrow Well, as emartel said, in general, they do not necessarily need to know that. They're more involved in interactions between objects, rather than rendering them on the screen or handling networking code. You could say that rather than writing the game engine, they're writing the game itself (with the help of level designers, scripters etc.) using the engine. \$\endgroup\$ – Luaan Apr 11 '14 at 15:48
  • \$\begingroup\$ thank you both! that was really helpful! i really had those concepts mixed in my mind. that object interaction remark killed it :) \$\endgroup\$ – VinArrow Apr 11 '14 at 16:49

As was noted in comments, what "Gameplay Programmer" means varies wildly from company to company. In my own experience, the most useful way I've found of thinking about gameplay programming is this aphorism:

Gameplay programming is a tools programming job supporting designers

In the same way that a 'traditional' tools programmer works on the tools and systems that allow content creators like 2d and 3d artists and audio people to get their work into the game, the gameplay programmer works with designers on the tools — and particularly, the systems — that help those designers showcase their own creative talents.

I've found that thinking about the job this way helps me with both understanding the work better (I tend to think best in terms of systems - e.g., Combat, Traversal, Camera, etc.), but also helps me understand who my 'customer' is and how I should be focusing my efforts.


Not the answer you're looking for? Browse other questions tagged or ask your own question.