Gameplay programmers write game code, but so do game designers and developers. Where is the line drawn? What skills do gameplay programmers use that game designers or developers do not?
3 Answers
"Developer" is sometimes used as another term for "programmer," where it helps emphasize that creating software involves more than writing code. This association of developer = programmer is particularly common in non-game programming.
In games though, we use the word more generally. "Game developer" can also refer to any person working on creating a game, not only those who write code.
For example, if I (a game designer) went out for lunch with a programmer, 3D artist, QA tester, and sound designer from my team, and the server asked what we did, we might reply "we're game developers."
A "gameplay" programmer specifically would usually refer to someone who specializes in coding the action of the game's rules — like the movement of your character and camera, the handling of vehicles, the behaviour of your spells or abilities, and the obstacles you use them to overcome. This is in contrast to say an "engine programmer" who works on the underlying systems that support that gameplay, like being able to stream level data off the disc or juggle drawing millions of polygons. Or a "UI programmer" who works on the game's menus and HUD, or an "AI programmer" who handles NPC behaviours, etc.
"Game designer" is another specialty yet, and the definition can be a little fuzzy even to some experienced gamedevs! The most accessible introduction to the role of a game designer I've seen is Liz England's "The Door Problem." Definitely read the whole thing, but here's a quick excerpt to get the flavour:
Premise: You are making a game.
Are there doors in your game?
Can the player open them?
Can the player open every door in the game? Or are some doors for decoration?
How does the player know the difference?
...
Can doors be locked and unlocked?
What tells a player a door is locked and will open, as opposed to a door that they will never open?
Does a player know how to unlock a door?
Do they need a key? To hack a console? To solve a puzzle? To wait until a story moment passes?
...
What happens if there are two players? Does it only lock after both players pass through the door?
What if the level is REALLY BIG and can’t all exist at the same time? If one player stays behind, the floor might disappear from under them. What do you do?
...
It’s a pretty classic design problem. SOMEONE has to solve The Door Problem, and that someone is a designer.
Fundamentally, game designers are problem solvers - figuring out how each mechanic or beat in the game should work to deliver the game's target player experience, according to the team's creative direction.
Common problems a designer may be responsible for solving include:
- How does the player move / navigate / use abilities? (3Cs design)
- How does the player level up, upgrade, or grow? (progression or economy design)
- How do the NPCs and enemies behave? (AI design)
- How do we tune the abilities/items/drops to keep the game fair, interesting, and well-paced? (Balancing)
- What can players buy in the game? (monetization design)
All of these questions have many valid answers that can work. The designer needs to pick the answers that best suit the particular game the team is building. As Katie Salen and Eric Zimmermann put it:
The game designer only indirectly designs the player's experience, by directly designing the rules
This is sometimes misconstrued to mean the game designer is the "idea person" who comes up with or dictates everything that will be in the game. In my experience, I've never seen such a role and I don't believe it exists (outside of 1-person studios). Rather, designers work in collaboration with all parts of the team to gather ideas, needs, constraints, and options, and refine them into proposals and documented plans that are clear to the whole team. That means they often need to be translators, acting as a bridge between programming and art departments, or between creative direction and the realities of production, synthesizing solutions that wouldn't be visible from within any one silo.
Some designers are also programmers who write native code, some write scripts and flowchart graphs, and some do no programming at all — working in concert with specialized programmers to realize designs. Likewise, some programmers also excel at design, collaborating in the planning of rules and mechanics or filling in the gaps in a high level direction, while others prefer to implement a fully detailed spec.
I'd recommend checking out the Extra Credits video "So You Want to be a Game Designer", along with the rest of their careers playlist, for an entertaining introduction to many of the common roles in game development teams.
There are also other design-related specialties like level designers, narrative designers, mission or quest designers, who I haven't really covered here. In big teams, the delineations between specialties can be very granular. In smaller teams, these roles often overlap, and you may find a single developer who works as a programmer and game designer and level designer and level artist all at once. So don't take these categories as prescriptive limits, just signposts to the variety of fascinating problems there are to solve in games! :)
Usually Gameplay programmers are specialized on getting gameplay mechanics alive and can do some other low level stuff too, game designers can use scripting languages(C# on unity, LUA on Love2D, blueprint on Unreal and etc) and do almost all the game design from the game, developer is just a generalist term(in this case you need to specify a bit more).
Besides those there are a lot of others roles like: Game engine programmer, AI programmer, Physics programmer, UI programmer.
A Game developer can be working on any part of a game's development: HR(hiring/managing), designing, 2d/3d modeling, animation, programing, etc.
A game designer could be working on designing the game concepts, architecture, and/or flow.
A game programmer would be writing code using a game engine, or coding/extending the game engine itself.
-
1\$\begingroup\$ It would be somewhat unusual to refer to folks in HR or accounting as game developers. \$\endgroup\$– DMGregory ♦Commented Aug 19, 2023 at 10:39
-
\$\begingroup\$ Any person who actively & knowingly contributes towards a game's development, can be referred to as that game's developer. \$\endgroup\$– NeelCommented Aug 20, 2023 at 1:54