Skip to main content

The Gameplay Programmer

·496 words·3 mins
Engineering Roles in Game Dev - This article is part of a series.
Part 2: This Article

Overview
#

The Gameplay Programmer is the “Swiss Army Knife” of Game Dev Engineering Roles. While other roles keep to a specialization, the gameplay programmer is defined by its lack of specialization, opting to go wide over deep to bring the other pieces together.

As a Gameplay Programmer, you could find yourself working on,

  • Player Movement
  • Abilities
  • Tutorial Systems
  • Quest Systems
  • Combat Systems
  • Game Economy Systems
  • Inventory Systems, Weapons and Items

Just to name a few.

I asked Ciarán Tuohy, Senior Gameplay Programmer at Black Shamrock, for his insight into the role.

Pros
#

Why might a student want to pursue this role?

  • Its the best discipline 😂.
  • Work directly with designers, get to feedback and contribute to the design of the game in some cases.
  • It’s the role at the centre of the project, you connect all the disciplines together.
  • Rewards good communication skills.

Cons
#

Why might a student want to avoid this role?

  • Typically a generalist role, maybe not suitable for someone who wants to do a deep tech specialization in a specific area (although it can be a good starting point for later specialization).
  • Discussing, explaining and compromising with less technical disciplines can be a regular requirement. You need to be comfortable doing this to thrive in this role.

Example
#

Something you did in this role as an example of the kind of work you get to do?

The Maiden Voyage Tutorial in Sea of Thieves.

Student Projects
#

What kind of student projects would you recommend doing to prepare for this role?

Game projects are great. Ideal if they have a bit of polish, this doesn’t need to be visual (I have basically no gamedev skills outside of programming and design) but do your best to make it feel finished.

Try and get some good coverage of engine types. Don’t be afraid of Unreal just because it’s the most complicated, it’s also the most powerful and showing familiarity with it will open doors at bigger companies.

No need to over-complicate projects but playing around with and developing some knowledge of online features will go a long way. Replication, RPCs etc…

Some other adjacent projects not necessarily within a commercial game engine would also be good, playing around with graphics/shaders, physics etc… are always good.

Use source control, have sensible check-in descriptions. Companies love to see a github or similar on an application with lots of regular check-ins for projects.

Resources
#

First would be GDC Talks on Youtube or GDC Vault.

Here’s one of my favourite talks going over Overwatch Gameplay Architecture (that’s unlisted for some reason now).

Next would be UnrealFest talk recordings on Youtube. Here’s a good example from someone I know (if a little advanced).

For a book recommendation: Effective C++ 3rd Edition. Great book of tips for taking the step from college level programming to profession at least when it comes to C++.

And finally for performance: Scott Meyers CPU Caches and Why You Should Care.

Dave Ryley
Author
Dave Ryley
Game Developer
 Author
Author
Ciarán Tuohy
Senior Gameplay Programmer at Black Shamrock
Engineering Roles in Game Dev - This article is part of a series.
Part 2: This Article

Related

Engineering Roles in Game Dev

·719 words·4 mins
Getting into Game Development # I was approached to do a student talk at the University of Limerick for students of the Games Development course. For context, it’s a computer science/engineering course with a focus on games development. I’m an alumni myself, graduating in 2019, and have been working in games since then. I asked myself what kind of advice I would give my past self when starting on this road. There’s a mountain of skills to learn, technical skills, time management, collaboration, and more. As a student you’re relying on the course structure and modules to provide you with the direction you need, but as great as the course was, for me it was missing one thing.