GameDev Job Role : Programmer
What does a Game Programmer do?
Game Programmers work at the heart of the game development process. They design and write the computer code that runs and controls the game, incorporating and adapting any ready-made code libraries and writing custom code as required. They test the code and fix bugs, and also develop customised tools for use by other members of the development team.
Different platforms (games consoles, PCs, handhelds, mobiles, etc.) have particular programming requirements and there are also various specialisms within programming, such as physics programming, AI (artificial intelligence), 3D engine development, interface and control systems.
Games development is an increasingly complex process and large teams of Programmers might be involved in creating a game, some in leadership roles, some working on just one aspect.
Programmers are employed by development studios – publisher-owned and independent. They also work for middleware producers, an increasingly important sector providing cross-platform graphics rendering, game physics, sound management, AI, and other specialist tools. Programmers might also work for localisation companies which translate and re-version games for different territories.
There are many different programming roles. Job titles include: Games programmer; Tools programmer; AI programmer; Middleware programmer.
The Lead Programmer translates the design into a technical specification for the game and then delegates tasks to the programming team:
- General programmers work on a whole range of tasks, often working with code that other Programmers have written.
- Programmers with specific tasks, might work on physics (e.g. programming movable objects so that they appear to obey the laws of gravity, etc.)
- Specialist tools programmers identify and design any custom tools which may be needed, perhaps by the Artistsor Level Editors, then build them to an agreed specification.
The Programmers create different ‘builds’ of a game, liaising with the QA Testers to fix any bugs identified at each stage. They might also work with a Localisation Manager to create versions of the game for different platforms and territories.
Is this role right for me?
To do this role, you will need to:
- be able to programme in C++, C and other programming languages
- be systematic and highly organised
- be able to work on your own initiative and as part of a team
- have good communication skills
- have specific platform experience, e.g. Wii, PlayStation, Xbox
- have a good understanding of game play
- be able to take instruction and work to deadlines
- be creative and possess problem-solving skills
- have knowledge of the requirements of the relevant health and safety legislation and procedures