How to Make a Game Programming Demo Portfolio [12.02.08]
- Lee Winder
Whether you are a computer science graduate or a self-taught programmer, your demo portfolio is the key to getting your foot in the door of the game industry.
For junior programmers applying for their first position, it doesn't matter if they graduated with honors from the best universities -- without a stellar portfolio, they will not even be considered for an interview, let alone be offered a job.
I started my career in the games industry straight out of university back in 2001 so I know what it's like to worry about what games companies would expect of me and what I should do to show them I'm the right candidate for the job.
Over the past few years (on a daily basis, depending on the time of year) I have been responsible for reviewing portfolios and interviewing candidates for programming roles at Blitz Games Studios, and I have seen some pretty amazing piece of work ... and some that should have been but were just not there.
In this article I discuss what should be in a game programmer's demo portfolio and how to present it. At the end of the article, there is also a link to a series of critiques I did of five junior game programmers' portfolios.
Contents of a Game Programmer Portfolio
The purpose of a demo is to impress the person who will eventually offer the candidate a job, so it needs to contain only the candidate's best work. There's no point in including half-finished or broken pieces of work.
Candidates also need to think about how they want to be viewed. Are they interested in general gameplay programming, special effects, physics, or one of the other many things people can now specialize in?
However, even when programmers are interested in one specific area of programming, they needs to provide multiple demos to prove they're not just a one-trick pony. A physics demo, for example, could include technical demos that feature dynamic cloth, rigid body physics, and deformation.
It's even better if these technology demos are elements of a game included in the portfolio, but that's usually just a bonus more than a requirement.
Candidates who are interested in general gameplay programming (where most juniors start) should include a range of different but complete games, both 2D and 3D. Precisely what kind of games would be expected is usually the hardest question to answer. One thing aspiring game programmers need to understand is that, regardless of whether they have a degree, they are not expected to make something as playable as Halo or as good-looking as Crysis.
Complete and Finished Work
What kind of completed games would be expected from a standard entry-level junior programmer?
I recommend something along the lines of:
- an Asteroids clone, full of special effects, explosions, and particle effects
- a simple 3D death match, utilizing AI bots and 3D character models
- and a simple turn-based strategy game, for example, Advance Wars in 2D or even 3D with the effects and environment to go with it.
That is a very limited list, but it is a good example of what a hiring manager would want to see: well thought-out 2D and 3D titles showing a variety of features, like special effects, AI, terrain generation, and so forth.
Junior programmer applicants do not need -- and are not expected -- to have games that are huge and that take months to complete. Those who concentrate on creating smaller and more manageable demos are more likely to have impressive range work than those who over-stretch themselves and create a host of mediocre work.
Every game programmer applicant needs to have a set of complete games. And a complete game is just that -- something that has the flow of a full game, from the menus to the game and back out again. Other things that one might include in a complete game would be
- front-end elements, such as a way to start a new game, an options menu, and an "exit game" function
- loading screens
- high score tables (people love seeing these in junior programmer demos)
- pause menus.
Why is it better to have a set of complete games rather than a demo that just dives into the gameplay when the reviewer boots it up? Simply put, it shows an appreciation for what a game is and what else is needed in addition to "the fun part." It demonstrates that the applicant knows what to expect and knows what goes into making a game from start to finish.