Games FAQ

Here are my answers to a few questions about the games industry. You may have different answers, or even different questions.

Q1: What are the different roles in the industry?

These are the roles within a developer. There are different roles within a publisher, a magazine/TV series, a distributor and a retailer which may also be appropriate companies for some people interested in games.

Tester - kid hired off the street or on a youth employment scheme who likes playing games and will do it for next to no money. English skills optional (but preferable from the programmers' point of view!)

Can also be used as gophers (to buy games and hardware). Tend to crash cars too much for finance department's liking.

Ranking - beneath the receptionists; about equal to the cleaners.

Chief Tester - guy in charge of the other testers, who spends some time testing and other times scheduling the testers and being their line manager.

Person passed over for being a producer.

Assistant junior trainee Producer - tester who wants to be a producer. The producer for the game gives this guy all the work, but the pay is still the same (i.e. next to nothing). Must try to persuade programmers and artists to get along with each other and to do some work.
May sometimes help out with mapping and testing. Will get grief by trying to mix social life with working with lead programmer until 3am (at milestones).

Producer - former testers who get promoted after being assistant etc. producer on a successful game.
May express their ego by recording their voice for commentary (e.g. Warcraft and many other games) instead of paying for
voice actors.
May sometimes help out with mapping and testing, but also must fight with management at the company to get people on his team and to stop the company from canning the project.
Note that some companies call this position "Director", and for them "Producer" is a more senior position.
May write the specification for the game, some time after the lead programmer has started writing the thing (i.e. too late!)

Senior Producer - as producer, but more money.
Can be poached from another company or hired using magazines or at trade shows.

Chief Producer - middle management.
Line manager for producers. Wants to be a "suit".
Can try to help out producers but this may prove counter productive since they don't have the depth of knowledge of the particular game.

Mapper - can be an ex-tester, or hired from the street.
Lays out levels of games and may write simple scripts. Should have some brains - i.e. be between a tester and a programmer in thinking skills, and between a programmer and an artist in artistic skills. Must love games.
Bad maps can ruin a product, but they get paid little more than testers.

Chief Mapper/Game Designer - promoted mapper, in charge of the overall design of a game, with the producer and the
lead programmer.
In particular, in charge of the overall layout of levels. This can be a very prestigious position, since people like
Shigeru Miyamoto have occupied it.
Can also be filled by burned out programmers who want to create games but don't want to mess with the details any more.

Artists - went to art college and can draw nicely.
Can specialise, i.e. backgrounds/textures, animators, 3d modellers.
Can be ranked, i.e. artist, lead artist (for a game), head of art department (manager of artists, who may occasionally dabble with drawing).

Musicians - put music and sound effects into a game, usually after the project has taken shape and is "playable".

Programmers - often went to university and got a degree in computer science. More interesting ones got a degree in something else (e.g. music).

Some self-taught people are still around (but remember, university is a lot of fun involving much sex and drinking!).

Writes the game itself. Some companies split off writing the engine, the game code, and the utilities (used by mappers and sometimes musicians or artists) into different people, but I feel a rounded programmer should have done all three tasks.

Can be hired from magazines or at trade shows.

Lead Programmer - programmer who is in charge of the programming for a game.
This person may be the only person who is on a project from the beginning to the end.
Can be hired from magazines or at trade shows, or poached from other companies.

Often paid the most out of the development team, including possibly a royalty (especially for freelance programmers).
Freelance programmers face the downside of having fixed-fee contracts (plus royalties) but little control over the other people
on the team, which causes delays and financial problems.
They can solve this by setting up their own development company, with them as boss, and hiring artists, mappers etc.
This is how many development houses have started.

Head of Development - in some companies, this person is in charge of programmers, in others in charge of the heads of departments, in others, this role is filled by the Boss.

Boss
In charge of getting work for the company may be either an ex lead programmer or ex senior producer, or an entrepeneur, or occasionally an outsider (in the case of in house development from a big publisher).
In small companies he may be the producer for all their games.
In medium to large companies he usually relies on the heads of departments to do the day to day business while he (or she in the case of Angela) concentrates on signing up future licences and other contracts (which can take longer than developing a simple game), and sSchmoozing with other millionaires and sweet-talking bankers.

Others - receptionist, accountants/finance, bosses PA, human resources, office manager (promoted receptionist).

Q2: What is it like programming for the different machines?

An OK introduction to this is The Ultimate Game Developer's Sourcebook by Ben Sawyer (Coriolis Books 1996) ISBN 1-883577-59-4 $44.99 Phone +1 (602) 483-0192 http://www.coriolis.com

It has a brief description of the different machines. The web pages for the various manufacturers (eg http://www.nintendo.com) have more accurate technical specifications for the machines.

Basically you use C on N64/Saturn/PSX, but you should use some assembler on the Saturn to make it as fast as a Playstation.
People are moving to C++ now as machines get faster and projects get more complex. Optimised compilers for Playstation 2 and Dolphin require a little work, but are coming.

To develop for these machines you either need to work for someone who has a license, or find a large quantity of money to get one for yourself.
The playstation also has a kiddies version development system available in Japanese called Yaruze I think.

Q3: What's the easiest way to get into game programming?

Depends on which machine you are writing for, how advanced you are at programming and what your priorities are for getting things done (i.e. how much time you want to spend on it).
Let's say you are using a PC. You can get a copy of DJGPP (the 32 bit command line C++ compiler based on GNU C++) for FREE.
The GNU assembler is a bit strange, but it will let you write small bits of assembly language.
Or you could buy Microsoft Visual C++. I saw a games package being sold that included Visual C++ 6.0, DirectX and a how-to book at the ECTS (Annual European video games show) recently, but did not see the price since no-one was at the stand.
The big site for all things game/demo related is ftp://x2ftp.oulu.fi (if it is still at that location).

For writing 3d stuff, Direct3d (from Microsoft, based on a RenderMorphics core) is well-supported but used to be a bit slow. Glide (from 3dfx) is a bit proprietary, but some people like it better. There are various little 2d libraries around (e.g. fastdraw), but I don't rate them very highly.

If you want to program the graphics routines yourself (which is a lot of fun - but only a small part of writing a good game) there are various books available, especially from Coriolis.

And if you already are a programmer, getting a job in the games industry will depend on your age, location, skill and experience.

Here are a few game resources on the internet:

FTP: x2ftp.oulu.fi has a lot of games programming information.

IRC has way too much lag. Try #gamedev or #gamecode though, not many pros there though (if any).

Newsgroups: rec.games.programmer and comp.ai.games but rgp is too full of newbies and pc hackers to be any good any more - there used to be a few pro coders on that.

Web pages: there's a few sites about various topics like graphics and even ai (path finding through obstacles for example) but there was not much at all about consoles last time I looked.


Go HomeGo Home

Copyright © 1997, 1999 Carl Muller (carlmuller@hotmail.com). All Rights Reserved.