Writing computer games may seem like a dream job, but how do you actually become a games programmer? On this page:
Still with us? Then..
Your hobbies and interests section is a great opportunity to show how keen you are. What type of games do you like? Any specific examples? Why? Here is the place to say! When you are playing think about what you like and don't like - in an interview you'll need to be prepared to talk about anything in your CV.
At Datascope we now send our candidates a username and password for logging in to our website so they can see how their applications are progressing. Once you have registered you will be able to see the names of the companies we have sent your details to, and any interviews in the pipeline. (We will of course phone and/or email you if a company would like to see you - the web login feature is in addition to this!) We believe we are the only agency to offer this service.
This advice is subject to changes and improvements; reader comments are welcome. Please email simon@datascope.co.uk.
Regardless of the platform(s) you wish to write games for, your demo should run on a typical Windows PC with the minimum of hassle. It's usually safe to assume Windows 98, a 3D card, a sound card and DirectX 9.
C/C++ - Undoubtedly the first choice because these are the predominant languages used on the main console platforms and PC. If you haven't already done so, get hold of a copy of MS Visual C++ and download or order the DirectX SDK (or another compiler and/or OpenGL) and experiment. If your C/C++ skills need brushing up have a look at one of the many books on the subject; ask other programmers for recommendations. Also use the web - there are lots of tutorials online, and a good starting point is the Developer Resources section of our Gateway to Games page.
Java - applets are preferable because they're easier to run than applications. Include an html page in a zip file with your class/jar etc files, or send a link to a web page which contains the applet. If your applet only works with Sun's or Microsoft's VM, and/or needs Java 3D make sure you say so, and specify which versions are needed.
GBA and mobile games - please supply the necessary emulator and instructions as necessary.
This is your opportunity to shine! What are you interested in, and what can you show off? 3D graphics, physics, AI, networking? It sounds obvious, but the more impressive your demo is the more it will stand out. Having said that, it probably shouldn't be at the expense of your formal studies or your entire social life! Even games companies like to employ people rather than coding machines ;-)
A playable game is not necessarily the most desirable kind of demo, particularly if it's 2D. Games companies see plenty of Pong and Tetris clones and tend to be underwhelmed, although by all means try writing a version of your favourite classic game as a learning exercise before trying something more ambitious. 3D graphics will impress most companies much more than 2D, and a demo showing a set of clear, well-implemented algorithms which you have had time to polish is generally better received than a complete 2D game.
Teamwork is crucial! Completing a demo game shows you have the enthusiasm and tenacity to finish what you start, but you won't be able to do everything when you're working on a commercial game. As a professional games programmer you're likely to be working in a team of 5-20 programmers, so think about how your code could work together with theirs. Can you demonstrate how other people could drive your code? You'll also be working with artists and games designers (and tools for them) - you don't necessarily need to show the tools needed to author the data for your demo, but you definitely need to know what tools would need to be written.
Use your imagination, but bear in mind that you're applying as a programmer, not a games designer or artist, so while wonderful new game concepts and beautiful artwork are great, they are certainly not necessary or expected. (Arguably your coding skills stand out more if the artwork you use is deliberately plain!) If you need textures, explosion noises and the like it's fine to use other people's stuff provided it is in the public domain or you have their permission; search the web and see our Gateway to Games. Make sure you say what's not your work, and it's good manners to credit the original artist/author(s).
Some further suggestions relating to specific types of demo (Graphics, Physics, AI):
A good idea is to consider the demo as presentation (particularly if it's not a complete game- see below) and lead the user through the various visualisations. This avoids the user having to use lots of different controls in order to see everything. Remember your demo needs to make the best possible initial impression on its own because you won't be there to explain!
Include sound effects if you wish but remember that annoying sound or music is worse than none. Arguably time spent learning the intricacies of e.g. DirectSound could be better spent unless you want to specialise in audio programming. If you do include sound, mention that you have it (perhaps by having an obviously visible option to switch them off) because in a work environment the person running your demo might have the volume turned down.
Offer a choice of screen resolutions, colour depths and windowed / full screen mode when the demo first runs or as an option accessible from within the demo itself. Do not make a user change their desktop display settings if at all possible.
Instructions / explanation of techniques - include a readme but display brief instructions (the controls at least) - in the demo itself, either during or before it starts. Most people will try and run the demo first then look at the readme file later. (Do you read the manual before trying a new game you've just bought?) A readme is good idea as well because you can use to explain the techniques you are trying to show, in addition to reiterating the controls and requirements.
Source code - we prefer you to include the source code because then it's available for clients should they wish to look at it. They are very unlikely to wade through it all so consider also providing extracts of the best and most interesting bits!
To submit your demo - please email a zip file (less than 4Mb preferred) or send a URL from which we can download it. Our mailserver won't reject larger attachments but our clients' might. If your demo is bigger than about 4Mb zipped, do you have big .wav files you could compress with e.g. ogg vorbis or mp3? Any image files you could convert to jpeg? Please post CDs only as a last resort.
Demo Checklist:
You can find lots more info on the web, and a good starting point is the Developer Resources section of our Gateway to Games page. There are also some relevant newsgroups including alt.games.programming and comp.games.development.programming.misc. (These links go to Google Groups).
Programmers - Sample demosTo run a demo here download the zip file, extract its contents into a folder and run the A reasonably up-to-date graphics card is a good idea. |
| ||||||||||
Andy sent us three competent 3D game demos in one, so we'll let him off for being slighly over 4 Mb :) The addiction/frustration balance in Spinball seems to be juuust right and it may bring on a bad case of one-more-go-itis. You have been warned! He had several years of Visual C++ and hobby games programming experience but hadn't worked in the industry when he sent us this.
| Download: | Zip file (4.17 Mb) | |
| Specific requirements: | DirectX 9 for Spinball and Crash, DirectX 8.1 for Pacman |
Michael wrote this impressive GTA-like demo using Visual C++ and OpenGL and sent it to us when he had just finished his postgraduate research degree. It features "A highly robust collision detection algorithm, a Newtonian physics engine and an innovative dynamic lighting algorithm". He is now working as a games programmer :)
| Download: | Zip file (715 Kb) |
| Specific requirements: | Fairly up-to-date graphics card. (Tested with Geforce 256; this may not be the minimum spec. Crashes reported with some ATI cards). |
| Homepage: | http://members.lycos.co.uk/mplatings/ |
A lava lamp simulation Kim developed for his fourth year university project, using OpenGL. This is one of two versions you can find along with the full report on his website.
| Download: | Zip file (126 Kb including glut32.dll) |
| Homepage: | http://members.lycos.co.uk/kim0randell/llama/ |
Copyright notice: The original authors retain copyright © of all demo and sample work here (except where otherwise stated) and it is published here with their kind permission. You may download material from this page for your own personal, non-commercial use only.
These vacancies are suitable for graduates or other good programmers who do not have games industry experience. They are also posted on our main games programming jobs page.
If you are interested in any of them please quote the ref no(s) and send your CV and demo work.
This company have established themselves as an award winning developer with their first and second game and now highly successful franchise. They are currently working on 2 exciting projects.
They are looking for a Junior R&D Programmer. Candidates must have:
- Strong programming, maths and problem solving skills.
- Strong C++ programming skills.
- Ability to understand, debug, and optimise other programmers code.
- Familiarity with multi-threaded programming.
- Can work independently without supervision and as part of a team.
- Knowledge of common software algorithms and data structures and those applicable to 3D engines.
Preferable:
- OpenGL or Direct 3D programming experience.
- Degree in science or relevant subject.
- Cg and/or hlsl shader programming.
- Playstation 3 and SPU programming experience.
- Xbox 360 programming experience.
- GPU architecture and graphics pipeline knowledge.
- Multi-threaded or parallel programming experience. EG: CUDA, OpenMP, OpenCL, MPI, etc.
- Assembly programming/debugging experience, preferably PowerPC or x86.
- SIMD (Altivec, VMX, SSE) programming experience.
This North West Studio have been making brilliant games for more than 20 years. It consistently produces AAA titles across all formats. The long company history and excellent reputation, coupled with its consistent financial success make this company a safe and stable prospect.
They are looking for an experienced console/PC gameplay programmer. The successful applicant will be working with the company's cross-platform codebase on PS3, 360, Wii and PC.
The ideal candidate will have:
- Experience with gameplay and mechanics programming on a range of PC/console titles.
- Experience of creating clean configurable APIs to be used by other programmers.
- Interest and demonstrable ability to implement a range of gameplay features i.e. not just audio, not just AI.
- A good degree or post-graduate qualification in Computer Science or related subject (ideally 2.1 or above).
- Fluent in C and object-oriented C++; preferably experience in other programming
languages.
- Strong 3D maths and physics skills.
- Strong debugging skills.
- A 'self-starter' attitude with the ability to dive in, understand code, and learn quickly.
- An understanding of the nuances of what makes a game 'feel' good.
They company offers a competitive salary with paid overtime and bonus scheme.
This North West Studio have been making brilliant games for more than 20 years. It consistently produces AAA titles across all formats. The long company history and excellent reputation, coupled with its consistent financial success make this company a safe and stable prospect.
They are seeking talented graduates with a passion for games to join them. The
successful applicants will be working with the company's cross-platform codebase on PS3, 360, Wii and PC.
The ideal candidate will have:
- A good degree or post-graduate qualification in Computer Science or related subject (ideally 2.1 or above).
- Interest and demonstrable ability to implement a range of gameplay features i.e. not just audio, not just AI.
- Fluent in C and object-oriented C++; preferably experience in or exposure to other
programming languages.
- Strong 3D maths and physics skills.
- One or more gameplay demos.
- A 'self-starter' attitude with the ability to dive in, understand code, and learn quickly.
- An understanding of the nuances of what makes a game 'feel' good.
The company offers a competitive salary with paid overtime and bonus scheme.
This company have established themselves as an award winning developer with their first and second game and now highly successful franchise. They are currently working on 2 exciting projects.
They are looking for a Game Programmer to work with existing engine code base to develop and enhance game play. This includes player / world interaction, AI strategies and rules, game play, etc.
Requirements:
- 2-3 years of experience as programmer in games industry
- Worked on shipped product on either console or PC.
- Demonstrated ability to integrate the creative and technical design processes while ensuring that high production values are never compromised.
- Adopt existing development processes and look for improvements.
- Previous experience in a combat, melee or shooter based game a definite plus.
- Passion for making games.
- Excellent understanding of:
- Solid understanding of C++ in a games development environment.
- Experience with current Console and PC development processes.
- Experience with state-of-the-art game development tools and methods.
- Excellent problem-solving skills.
This award winning company is one of the world's leading developers of mobile phone gaming technology and content. Based in London and founded in 1998, the company has an unparalleled track record of innovation and market leadership in this field. They offer the opportunity to work in a highly varied and rewarding environment, on a range of short to medium term projects - using and developing a market-leading shared technology base to target iOS, Windows Phone 7, Android, Nintendo DS, Sony PSP, Xbox Live Arcade and WiiWare.
They are seeking talented graduates and juniors to join their team. Candidates will have:
- A 2:1 or better class degree in Computer Science or similar, from a respected institution
- Proficient C/C++ and preferably Python or Lua
- A strong portfolio of demo material with code samples
- An open mind and a keen desire to learn
- Preferably some published games.
Every single one of the 150 developers at this studio shares a passion for games - it shines through their impressive track record. Their advanced, integrated platform of technology & tools, which they've been evolving for 14 years, helps them maximise the care and attention to detail they put into all aspects of their work as they continue to drive towards their vision: of videogames being the world's premier form of entertainment. Headed by a legend in the industry this leading independent developer has a track record of games that have defined genres, been critically acclaimed and sold many millions of copies. They continue to innovate and are well known for incorporating many technological and game-play firsts. They are currently recruiting to deliver on an exceptionally strong, varied portfolio of 'next gen' projects. They offer a friendly, professional atmosphere and great working environment, are passionate about games and actively encourage individuals to develop both their skills and careers, and influence the company as a whole.
They are recruiting a mix of experienced and graduate programmers for various technology and tools team areas such as: 3D graphics, audio, animation, physics, networking, AI, platform specific low level code and optimization.They currently have several exciting ‘next-gen’ projects encompassing a range of genres. They have a reputation for technological innovation and their programmers get involved in all aspects of system architecture, design and implementation, bringing an extremely high standard of professionalism to the development of all their games, and fully contribute to a dynamic, creative and fun environment, working with advanced technology on the leading games consoles.
You will have either a good degree, or solid track record, in Computer Science, Maths or Physics and possible specialisation in one of the following fields: 3D graphics and shaders, animation, physics, AI, audio, networking, low-level code and optimization Industry experience is not essential, but passion and enthusiasm are.
This company, located in hi-tech heart of the UK, was created in March 2000 by some of the brightest minds of a major games company who broke away to realise their vision of the gaming future. Dedicated to their vision of cool, fun state-of-the-art games that everyone can get into and play together, they are instrumental in all aspects of game development covering technology, design, art, production and management.
They are currently embarking on an exciting, soon to be announced, AAA title for XBOX 360 & PS3 and are looking for a Junior Programmer. Working as part of the gameplay team you’ll help ensure the overall gameplay programming requirements are met - to quality, schedule and within technical specifications.
With support from more senior members of the team, you’ll aim to develop new code, provide maintenance and implementation for game features and provide maintenance, optimisation, support and bug-fixing of the code-base.
To join us you’ll need to demonstrate:
- Good level of education equivalent to at least degree level in a relevant subject such as maths or Computer Science
- Demonstrable practical C++ knowledge
- Good debugging, system design and 3D math skills
- Demonstrable understanding of the development of general games
- Problem solving and analysis skills
- Demonstrable highly creative programming talent and love of games
And whilst not essential it would be advantageous to see:
- Experience in a similar role within the games industry
- Experience of Java/C#
- Knowledge of PhysX
- Knowledge of DirectX 9/DirectX 10
- UDK experience.
This North West Studio have been making brilliant games for more than 20 years. It consistently produces AAA titles across all formats. The long company history and excellent reputation, coupled with its consistent financial success make this company a safe and stable prospect.
They are looking for talented degree and MSc graduates with a passion for games and real-time graphics to join their core rendering team and push forward the development of a cross-platform engine used throughout the company. The successful applicant will join the Render Tech Team and have the opportunity to develop their console / PC programming skills across a range of platforms from PSP to PS3, while learning from a group of extremely talented and experienced individuals.
The ideal candidate will have:
- A good degree in Computer Science, Maths or Physics or related subject (2.i or above).
- Fluency in C++ and object oriented programming.
- Strong 3D maths skills.
- Experience of Direct X, OpenGL or similar graphics APIs.
- A demo of graphical work.
- Be a methodical programmer with the ability to focus on tasks to completion and get things done.
My client is a global brand and pioneer of web/mobile unlimited media services. They have developed an industry leading cloud computing platform providing music discovery, recommendations and community features across a diverse range of devices.
An exciting opportunity has arisen for an exceptional Test Engineer. You will join an award-winning team of highly motivated and skilled software team. You will be mentored in the challenges of cloud computing and build revolutionary music products across a range of platforms and devices. You will work in a friendly and relaxed environment where the emphasis is on the quality of your work.
Responsibilities:
- Understanding Java and C/C++ product API specifications and create small applications/acceptance tests from those
- Run the acceptance tests in NetBeans and other tools with the required set of parameters and then analyse the results
- Produce test exit reports for the Release Manager after each test cycle
- Investigate/debug any issues raised
- Create ad-hoc tests based on all issues reported by third parties
- Raise and track defects using JIRA and manage the defects from initial creation to verification of fix to closure
Mandatory Technical Skills
- Java development
- Building applications against APIs
- Test methods
- Internet technologies including HTTP
- Source control-SVN, CVS
SQL
Preferable
- C/C++ development
- JUnit and TestNG framework
- Test automation
- NetBeans
- JIRA.
Every single one of the 150 developers at this studio shares a passion for games - it shines through their impressive track record. Their advanced, integrated platform of technology & tools, which they've been evolving for 14 years, helps them maximise the care and attention to detail they put into all aspects of their work as they continue to drive towards their vision: of videogames being the world's premier form of entertainment. Headed by a legend in the industry this leading independent developer has a track record of games that have defined genres, been critically acclaimed and sold many millions of copies. They continue to innovate and are well known for incorporating many technological and game-play firsts. They are currently recruiting to deliver on an exceptionally strong, varied portfolio of 'next gen' projects. They offer a friendly, professional atmosphere and great working environment, are passionate about games and actively encourage individuals to develop both their skills and careers, and influence the company as a whole.
They are recruiting a mix of experienced and graduate programmers for various technology and tools team areas such as: 3D graphics, audio, animation, physics, networking, AI, platform specific low level code and optimization.They currently have several exciting ‘next-gen’ projects encompassing a range of genres. They have a reputation for technological innovation and their programmers get involved in all aspects of system architecture, design and implementation, bringing an extremely high standard of professionalism to the development of all their games, and fully contribute to a dynamic, creative and fun environment, working with advanced technology on the leading games consoles.
You will have either a good degree, or solid track record, in Computer Science, Maths or Physics and possible specialisation in one of the following fields: 3D graphics and shaders, animation, physics, AI, audio, networking, low-level code and optimization Industry experience is not essential, but passion and enthusiasm are.
This award winning company is one of the world's leading developers of mobile phone gaming technology and content. Based in London and founded in 1998, the company has an unparalleled track record of innovation and market leadership in this field.
They need a experienced engineer with proven ability to deliver projects and provide technical leadership. Candidates will have:
- Excellent C++, and experience with Python or similar
- At least 6 years of professional experience in the games industry
- At least 1 shipped title, preferably more, full production lifecycle
- Experience of developing project-independent games technology
- Experience of cross-platform development
- Experience of current generation console platforms
- Ability to lead and mentor less experienced engineers.
This central UK games company develops and publishes games for Sony, Nintendo, Microsoft and PCs, as well as multiplayer and world games for internet play. They have been in existence for years and have had many No 1 hits across Europe. They have been voted Publisher of the Year by gaming magazines.
They re looking for a Technology Programmer for their Online division. They need someone with PHP / C# (potentially slightly more PHP focused than C# focused). The role may suit a recent graduate or someone with some web development experience. Experience with billing providers is a plus (Paypal etc). They are looking for somebody who has more experience of building websites than doing only back-end coding.
Requirements:
- PHP
- C#
- HTML & CSS
- MySQL / MSSQL experience
- Exposure to billing providers preferable
- Eager to learn new things and work in a technical team.