What I Want To Be When I Grow Up Part 2

Since my previous blog about what I want to be when I grow up, I’ve been looking at more of what a gameplay programmer does and how I can go about trying to get a job as one. 

In January 2014 Anna Ljungberg, who was a gameplay programmer for Codemasters at the time, did an interview with Develop about what developers look for in people applying for becoming a gameplay programmer, and what her job role is with Codemasters.
To begin with, Anna says she is currently working on the camera system for a title that’s in the works, but confirms what I have read a gameplay programming as she continues to say she works on “All game-related tasks as required.”

When it comes to getting a job, Anna recommends not only to know how to program and how games work, but to prove that you can do it for a living by doing stuff in your spare time to prove that you are committed and interested in making games.

When looking for someon for her team, Anna said she looked for people who are enthusiastic about about making games and the knowledge to make one. 

Finally Anna says that the thing she enjoys the most about being a gameplay programmer is the opportunity to further her knowledge in multiple fields and the opportunity to specialise in a particular area and become an expert in those fields.
That last part in particular basically sums up why I want to be a gameplay programmer. I’m excited by the idea that I can get better at multiple fields and if later in my career I decided that there is one thing that I really like doing, then I can advance my knowledge on that field and ideally work on just that component.

What I Want To Be When I Grow Up

Recently, I have been asked to think about what I want to be when I grow up (Read: What type of programming job do I want?) So I began to do a bit of research in regards to what programming jobs currently exist. In my research I came across the following positions:

Gameplay Programmer:

From what I have gathered these guys and girls care the most about the player feel. They generally work on “The code that directly touches on the gameplay experience”, are are considered to be the most versatile of the different occupations, as their job within the development of a game can differ from company to company, with some companies ranking it as a junior position and others as senior position.

Tools Programmer:

Tools programmers make “tools” to make the development system slightly less annoying. To use an example that was used in one of my classes, the process of adding clutter to a game piece by piece is often repetitive and annoying. It would be up to a tools programmer to create some kind of system that would make that job as easy as possible for the person adding clutter. Basically its their job to identify a problem, and fix it.

Sound Programmer:

Pretty much as it sounds. They would be the people who make sure that a sound plays properly, without any errors and sounds the way it should from a given position in world space (3D Audio specialization)

Collision Programmer:

The person who does the collision detection stuff. Apparently its very heavy in complex maths.

Network Programmer:

In charge of networking components (eg. Multiplayer) for a game.

Graphics Programmer:

Again as it sounds. These guys are concerned with he code behind making stuff look good and is very optimization and maths heavy

Engine Programmer:

Concerned with the engine the game runs on and the systems it uses.

Lead Programmer:

To be a lead programmer you need to be able to do any of the other jobs or at the very, very least know the best approach in fixing a problem. You need to be able to works very well with other peoples code in order to find bugs and merge code. You also need to make sure that the programmers themselves are working well together and are on track. It also involves a lot of the annoying jobs such as optimization.

 

Knowing all this, my ideal position would be gameplay. I really like the idea of being versatile with my area of knowledge and being able to work on a game directly. Specifically, I have been very interested in AI for awhile now so being able to do that and work on various systems within the game sounds amazing.

I also like the idea of being a tools programmer, as it’s still a way I can work on multiple aspects of a game, but I would rather be a gameplay programmer. My final choice would be an Engine programmer.

Ultimately, I think I would like to be a lead programmer, but not necessarily THE lead programmer (if that’s even a thing at lager companies).