Ceased Trading. 12th Sept 2013
-A+

Getting the Job: Programming

Getting into the game industry can be very difficult, even with good skills. The guidance and advice section will give you more direct advice on what you'll need to be good at and which areas to concentrate on in order to significantly improve your chances.

If you're interested in a work placement please click here to find out more.

Programming Overview

See the job role sections below for specific details about getting each job:

Programmer

  • Before starting to write a game, learn how to program. Programming a game as a first task is going to knock you back. If you have no prior knowledge of programming, you need to start reading a lot and putting together little code snippets to amuse yourself and your friends and family. Assuming you have got past the initial stages of learning how to program and you feel pretty confident you can put together some kind of game. A really good way to get started in programming is to check out "Visual Studio Express" - the free version of the popular Microsoft C++ development environment. This is essentially a slimmed down version of the same package used in virtually all game development studios, and learning how it works and getting used to using it is a big step towards making yourself a desirable employee. C++ may be a bit harder to get to grips with than other languages but it is what the vast majority of console games are written in at the moment. Learning it is not wasted time. All games have a layer between the game code and the game console called the SDK. It is more difficult to gain access to the specific SDK for a given console or company but learning a variety of SDKs will help (DirectX SDK, libSDL, ClanLib). There are plenty on the Internet and almost all of these interface to a library for 2D & 3D rendering, audio, mathematics, physics, memory management, and controllers. For more information on Visual Studio Express check out http://msdn.microsoft.com/vstudio/express/visualc
  • Looking back at video games of the past, there is very little in the way of realism: frogs crossing busy highways, aliens invading earth, American-Italian plumbers leaping over obstacles. But hang on a minute, today's most popular games are just the same, only more so! And it's the "more so" that's the key. Now all these games are in 3D and boast "proper" interaction, "proper" physics and so on. It's all nonsense of course; modelling all these things properly, the hard way, takes way too much time to do, and more importantly more processor power than today's games consoles have. This is where the cheating begins... So let's consider the notion of a character jumping. At this point we should start doing some really scary mathematical physics equations, probably using some of the laws of motion along the way, perhaps taking into account friction, aerodynamics, wind, gravity, and the weight of the frankly implausible cartoon character trying to jump. However, applied maths and physics is much too much like doing a simulation - this is games and we haven't got time for that! Simplify the process and fool the player into thinking that all the complex stuff is going on, even when it isn't. At the very simplest level, when you want to make your character jump to the right, you're expecting them to follow a predictable, repeatable arc. OK, perhaps if you get a power-up or something you can jump double the height or double the distance, but it's all pretty deterministic. In the world of computer games programming, there are a million and one cheats, tricks and clever ways to get around things, and you'll find that you learn something every day - this industry grows and changes so rapidly that you just don't get time to rest on your laurels. The machines you're working on and, more importantly, the machines you're programming FOR, are changing all the time and you can't afford to get left behind
  • You also need to be incredibly creative - the idea that Programmers are dull, unimaginative types couldn't be more wrong. If it needs doing, and nobody else has done it yet, you could end up pioneering new technology.

Submission Guidelines

The CV

The first thing to do is understand that no matter how special you think you are, unless you put in some effort to get yourself noticed your CV is going to look a lot like the other hundreds that pass through the recruitment departments of successful game studios.

With so many to process, the time available to read and digest any particular one and especially look at demos is small, so you have to make it as painless as possible. Most companies will favour direct applications over agency ones simply because it saves them money not having to pay an agency fee; so choose your companies and take the time to apply to each direct.

Take advice on the presentation of your CV, there is plenty out there on the internet, and make it neat, tidy, relevant to your application and especially concise. You do not want to make a prospective employer wade through six pages of swimming certificates to get to your degree course.

Make sure you clearly state what vacancy you are applying for, when you are available for interview, what salary region you will accept (don't be shy) and put all your key skills and experience front and centre. Most employers don't care if you enjoy reading and long walks in the country, but they certainly do care if you have already written four games all by yourself.

The Demo

A demo can be even more important to many employers than your hard-earned degree. We cannot stress strongly enough how important the subject matter is and the quality and quantity of your demo material. Many people graduate each year but it is impossible to get a feel from two sides of A4 as to how good some is as a Programmer and especially whether they have that spark, that 'X-Factor' that makes them the best candidate. If you spend time on nothing else, spend it on your demo.

The best demo, of course is one that is relevant to the vacancy to which you are applying. If you want to work on a game team then submit some playable games you have written. They don't need to be cutting edge in every aspect, but they do need to show that you have the ability and imagination to put together a functioning game with sufficient attention to detail to make it fun and as slick as possible.

Alternatively, if you want to be a Special Effects Programmer your demo should show a range of vertex and pixel shader based effects - if you can make it into a game of some sort then even better; there are only so many spinning cubes an employer wants to see.

We strongly suggest that once you think your demo is finished, take the time to step back and look at it as objectively as possible; then add any more features you can think of or iron out any clunky bits you find. Then do it again. Take it to a friend and show them.

Coursework

It can be tempting to use your final year coursework as your demo; after all, you have spent good time on it and it probably represents your skills reasonably well. Before you do this, however, bear in mind that many other people from your course are likely to be in a similar situation. Once your favourite employer has seen twenty copies of a near-identical demo, how favourably do you think they are going to look at yours?

It's much better to make the time to write something new and original that really shows off what you can do; we guarantee it will be looked at with far more interest.

What to supply

Game developers are busy people and the time they have to devote to your application is finite, so you have to make it as easy for them as possible. If you are able to supply a CD or DVD with your demo on it, make it auto-run a web page giving your personal details and a brief description of what you are presenting, along with screenshots.

Make the executables run-able directly from the disc - don't require them to be installed on a local hard drive - and put them in the root directory of the disc with clear and meaningful names so they are easy to find. Make instructions short and concise and put them on screen while the demo is running - don't require the employer to hunt for a read-me file. If a key switches a pixel shader on and off, or an XBox360 controller is best to play the game on a PC, say so.

Ensure the disc contains all the DLLs required for your demo to run (such as DirectX or OpenGL utility libraries), try running it on someone else's PC if possible as a sanity check. If your demo doesn't run first time, an employer is probably not going to spend the time trying to work out why.

Putting videos of your demos on the disc can be useful in case the demo doesn't run for some reason, then at least your work can be seen.

If possible also make your demos available on the internet in case your disc goes missing; keep them as small as possible and compress them into zip or rar files to make them quick and painless to download. Make sure you put the URL to the website on your CV!

In Summary

The most important things to remember are:

  • Your demo is at least as important as your CV
  • Put as much effort in to it as humanly possible
  • Make it relevant to the position you are applying for
  • Make it original, inventive and fun (this is the games industry after all)
  • Make it easy to run and test it on various PCs
  • Make instructions clear and on-screen

Resources

For more information on specific job roles, see our Job Roles: Programming section.