Specialties of gamedev programmers
Gamedev is a versatile specialist who should be able to create animation, visual effects, game concepts, design, know the basics of modeling and jurisprudence. Yes, a game developer, if he works for himself, should be able not only to protect but also to patent the game or software developed for it.
In gamedev companies game developers usually have different professional roles:
- Gameplay Developer – Develops the mechanics. Gameplay Developers work in tandem with Game Designers who supply the mechanics.
- Engine Developer – programs the engine: writes utilities, tools for other developers, is responsible for SDK integration.
- Graphics Programmer – provides game graphics quality, works with low-level OpenGL, DirectX. 3D Game Graphics Programmer – writes shaders, optimizes graphics for different devices such as tablets, smartphones, PCs.
- Animation Developer – develops animation systems, does Skeletal animation, writes utilities for animators and developers. Usually needed in gamedev-studios, working with custom engines (Deep Silver, Ubisoft, Gameloft, etc.).
- Tools Developer – develops tools (small auxiliary programs and utilities) for game designers either using the Qt framework or inside the engine.
- UI Developer – improves the interface, for example, creates menus, think through the transitions between them. A more complicated task – development of a customization (individual customization according to the user’s taste) of the game character’s appearance.
- Audio Developer – deals with sound, creates all sorts of sound effects (water noise, thunder, echo, etc.) This specialization is gaining popularity with the development of VR (virtual reality), which requires three-dimensional sound.
- Client Developer – programs the upper interface, writes client code that handles events in the game. The Game Client is used mainly in multiplayer games, it connects each user to the main game server. This network client collects data on account, player status, etc. and sends it to the main game server to show each gamer in the game. The Client Developer’s job is to make it all work properly on different platforms.
- Back-end Developer – develops the server part of the game, creates and maintains scalable server architectures: player profiles, leaderboards, clans, etc. Engaged in parsers, data collection, but not directly related to the game.
- DevOps Developer – one of the new gamedev specializations. DevOps task is microservices. He works with online gaming services (for example, Battle.net from Blizzard Entertainment or Ubisoft Connect (former Uplay), through which users can update and buy games, play together over the Internet).