Programmer - Computer Games
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 needed. They test the code and fix bugs, and they 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.
The work is office based and the atmosphere is usually informal. It can also be a highly pressurised job and Programmers often work very long hours, particularly as launch dates approach. The financial rewards for good Programmers are potentially high and their skills are in demand not just in the UK, but also in Europe and the US.
What is the job?
The Lead Programmer translates the design into a technical specification for the game and then delegates tasks to the programming team. Some work as general Programmers on a whole range of tasks, often working with code that other Programmers have written. Others might have a more specific task, such as physics (eg 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 artists or level designers, then build them to an agreed specification. The Programmers create different 'builds' of a game, liaising with the testers to fix any bugs that the QA team has identified at each stage. They might also work with a Localisation Manager to create versions of the game for different platforms and territories. There are many different programming roles. Job titles include:
- Games programmer
- Tools programmer
- AI programmer
- Middleware programmer.
Typical career routes
Programmers in the games industry are usually games enthusiasts and many start off by programming as a hobby. Most new entrants to the industry are graduates. Some university courses have links with game development studios and organise work placements, which can operate like an extended interview. Job applicants should be able to demonstrate knowledge of games and an understanding of what makes a game work, often by submitting samples of game programming they have developed themselves. Programmers usually start off in junior positions performing general programming tasks, before specialising or moving into leadership roles.
Essential knowledge and skills
Programmers must be systematic and highly organised, able to work on their own initiative and also with the rest of the team. Responsibilities are varied but interconnected and good communication skills are a must. All Programmers start off being able to programme in C++. They then go on to develop other skills, depending on their chosen specialism. Key Skills include:
- ability to write in C, C++ and other languages;
- specific platform experience – e.g. PS2, DirectX;
- good understanding of game play;
- ability to work independently and as part of a team;
- ability to take instruction and work to deadlines, tenacity and patience;
- creativity and problem solving skills
- knowledge of the requirements of the relevant Health and Safety legislation and procedures.
Training and qualifications
A degree in Physics, Maths, or Computer Science is usually a prerequisite for this role, although any degree course with a substantial programming element will suffice. Many new entrants also have a postgraduate qualification as well. All Programmers start in the industry with proven ability to programme in C++ (companies will usually ask for some kind of demo and/or ask candidates to work through a test). Sound knowledge of contemporary game hardware platforms, as well as the latest software development techniques, is also highly desirable. A growing number of higher education institutions now include an element of games programming in various degree courses. Some of these have established relationships with the games industry, including arrangements for work placements, particularly in areas where there are local games industry 'clusters', eg Dundee, Yorkshire, Liverpool, the Midlands and the South East. Creative Skillset's regional training partners can advise about local opportunities. The games industry is constantly evolving, both creatively and technically, and it is important that programmers keep up to date with the latest developments. Most training is self-driven and much happens on the job.
Where to go for more information
Creative Skillset Careers is the UK's only specialist media careers advice service; visit the website Creative Skillset's careers services
- Trade Associations and Regional Support Networks
- Recruitment Agencies and Job Information
- Magazines, Trade Publications and Websites
If your computer has the relevant software, click the document icons or document titles to view the relevant document. Right-click (PC) or hold your mouse-button down (Mac) on the document icon/title, you'll be given the option to save the file to disk. If you don't have the necessary software to view the documents, take the above links to download free reader programs.