So You Want to Make a Game
"Once you can remove no more, you are done."
-
Japanese saying
Getting Started
My first piece of advice to anyone contemplating a game development
project - don't. (Well, at least not until you know what you're getting into.) But if you go ahead, anyway, here are some tips beginning with staffing:
Dispassionate Gamers
Game job postings typically list "a passion for gaming" as a
prerequisite (along with its partner, "willing to put in extra
hours"). Other industries don't do this - you don't see ads requiring
"a passion for factory automation software" or "a passion for working
on banking systems". Anyway, a devotion to games doesn't necessarily
translate to productivity and work ethic.
-
Most of the game developers I've worked with were avid gamers but
many, including one of the best gamers I've ever met, didn't apply the
same concentration and motivation to their work. I've seen plenty of
work with obvious defects, even an FMV with a two-second blank gap,
either due to inattention or laziness (one artist even told me his
video package could reexport his FMV in AVI format, until I stated
that was the only format I could process for our target console - then
he promptly reexported it).
I'll take
professionalism over passion any day. If you need to hire janitorial staff, you're not going to look for some crazy nut who has a passion for toilets - you want responsible people who take pride in doing their job.
-
Most of the best game artists I've worked with were only moderately
interested in gaming - they were artists first and their results far
surpassed those of mediocre artists with high gaming skills. They were
conscientious enough to play-test their work during development but
once the games were released, typically never touched them again.
Now, game design is one area where presumably an absorption in games
would be really useful. But even there, you'll find the best game
designers are who have the intellectual breadth and analytical ability
to figure out what makes a game fun and to move beyond knockoffs of
existing games.
A common entry route to game development is via QA groups, and I think that is a good one - testing is a good introduction to the game
development process without getting in the critical path, and anyone
who can't develop the patience and analytical abilities for that role
is probably going to do a worse job in a production position.
To put a final point on this, if a passion for gaming is so important
for game development, why are so many non-gamers in high-level
decision-making positions on game projects? Many, if not most, of the
high-level producers I've met are mediocre gamers at best, and it gets
worse as you go up the corporate ladder.
-
I know of one game prototype
that had all kinds of pizzazz thrown in at the producer's request, and
then the whole thing had to be scaled down at the last minute so the demo wouldn't confuse the executives who had final approval. (Of course, the producers
should have known this)
Programmers are from Mars, Artists are from Venus
The production pipeline is always the bottleneck, so you need people
who not only work well, but work well in the context of a production.
Even some experienced and talented game artists do not work well
in game development teams. Just throwing assets over the wall and
assuming the programmers will fix it wastes time and engenders
hostility from the programming team.
The more difficult artists I've met were
stubborn to the point of belligerence and considered the rest of the
game team as staff supporting (or limiting) their artistic
accomplishments.
And while
programmers often grouse with justification that artists aren't
feeding suitable data into the production pipeline, it is incumbent
upon them to provide the proper guidance, in the form of clear
documentation and explanation.
-
Programmers often don't like to commit to numbers early, but artists
and game designers need reliable asset budgets to do their job within
the proper constraints, just as programmers need to know the hardware
and delivery constraints. If artists and designers actually ask for
budgets and guidance on how to optimize assets, then by all means
accomodate them.
The Producers
Producers can be useful, if they're not puffed up by the term
"producer". They're the only the part of the production pipeline that
doesn't actually produce anything (except those producers who produce
funding - they get to be called "executive producers"). A better term
would be "facilitator".
In the worst case, a producer will just cause more work for everyone
else. The last thing a game project needs is a high-maintenance
producer.
-
I was once plagued by a throng of producers who would hold daily
status meetings, carry around lists of tasks and ask everyone to
update the number of hours remaining per task on the lists (none of
which matched), and stroll around asking, "So...what are you working
on?" After may of the producers were laid off due to tightened
funding, the project ran more smoothly.
But a knowledgable producer who is focused on keeping
things running smoothly is indispensable.
-
I was vastly relieved that a survivor of the aforementioned layoff was
an assistant producer who did a fantastic job of keeping on top of
things. Every time I needed clarification on a game feature, he had
the answer, knew where to get it, or could make a reasonable call on
the spot. In any case, I had an answer within minutes. And he was the
guy who ordered all the late-night meals.
At least producers in development shops have an idea what it actually
takes to make a game. Producers who've only worked for publishers are
less knowledgable and more self-important.
-
One stupid publisher trick: planting a producer at a developer's
office during crunch time to make sure they're all working late into
the night. When I showed one of these producers, who was camped out in
my office during one of these crunches, the set of game design,
production and business books on my shelf, he commented his boss had
recommended he read some of them. And then he kicked me out of my
office so he could have it to himself.
Think Inside the Box
"Think outside the box" is an oft-misused mantra. Questioning your underlying assumptions brings about innovation. Just making stuff up is a waste of time.
-
In high school, I joined other students who wanted to pad their
college applications by competing in a statewide brainstorming
competition, where we attempted to outdo each other in constructing
the most fantastic scenarios possible. Odds favored those who most
lost touch with reality.
What separates game artists and programmers from their brethren in
other fields is the ability to create for resource-constrained
platforms.
Screen Size
Take into account the screen size. For PC games, you have to decide
how many standard PC monitor resolutions, refresh rates, color depths,
and full-screen vs. windowed modes you're going to support, and be
sure to test the game with those settings.
Even with console games, you may have more than one setting to worry
about. If your game will be in both the US and Europe, then you need
to handle both NTSC and PAL, which have different screen resolutions,
with corresponding aspect ratios and memory requirements, and
different refresh rates, which may affect any game behavior dependent
on per-frame computation. And there are other modes like EURGB60,
M-PAL, 480p (progressive scan) and multiple levels of HDTV.
Preprocess Everything
Data created by game artists and designers eventually gets converted
into formats usable on the target platforms. PC game engines often
defer this conversion until runtime for convenience, but for consoles,
where memory is comparatively limited, loading from disc is slower,
and the main CPU may be relatively underpowered, it is important to
have as much data preparation and optimization done offline as
possible. Even for PC games, while developers may be lulled by the
latest and greatest in PC hardware, there is still a customer base
with configurations a few years old, and if they were budget PC's
then, imagine how limited they are now.
Get Lots of Hardware
Game development schedules are always tight, and even expensive
hardware is cheap compared to personnel cost and the cost of missing a
milestone and having your project cancelled, or missing the holiday
retail season and losing out on those sales. Cutting-edge hardware,
especially console development kits, is notoriously fragile, so you
want to have extra units on hand if and when the hardware fails.
-
Almost every time I've worked on a console game, the game development
hardware malfunctioned at some point and had to be sent back to the
console maker for repair. In each case, the turnaround time was no
more than two weeks, but two weeks on a crunch time project with
monthly milestone deliverables is crucial. Fortunately, the developers
always had on hand an extra kit that could be repurposed from less
critical tasks.
Another reason to have redundant development hardware is to identify
bugs that are due to glitchy hardware versus those present in your
game.
-
Near the end of one console project, I ran into crashes of our game
that occurred after several hours of the game running idle. Since we
had multiple test kits, I could run several soak tests in parallel and
isolate the crashes to one unit, and thereby conclude that it was a
test hardware problem (and it was verified later that some units were
known to have overheating issues)
Console games have the advantage that you only need to verify proper
operation on a very limited set of configurations. For PC games you
should have a variety of different hardware, operating systems, and
various configurations for testing your game. This is true for cell
phone games, too - phone models vary in screen size and color resolution,
refresh rate, memory, etc.
-
I nearly missed one Windows compatibility issue with a PC game after
Microsoft introduced a service pack that removed support for a video
codec that we used for an FMV (in fact, the codec was used by one of
our middleware vendors). None of the development or test machines
used by the developer had this service pack, but fortunately the
publisher's salespeople noticed the problem when they installed the
game on their demo laptops. (when you're relying on your
publisher's sales team for QA, you're just asking for it!)
Less is More
More than in most other software fields, game development is about
efficient deployment of assets.
Think Small
Game designers and artists often believe it's easier
to create more content than you need and pare it down as needed than
to start small and add. This may be true in the "micro" sense but
poses huge risks in the "macro" sense, particularly for console game
development. One of the common "crunch time" factors in console games
is the late attempt to get the game running in console memory. Usually
this problem is hidden until an incovenient time by the fact that
content developers usually develop on PC's (and sometimes XBox's) with
high-performance graphics hardware and several times more memory than
a console. And programmers, too, will develop on console devkits that
feature more memory than the retail consoles.
-
Many designers and artists complain about the constraints of video
game development, but I was gratified to encounter one exception. A
junior game designer who was ordered to pare down his level commented
to me that his level was actually improved by the streamlining - it
forced him to make sure everything that he did retain was effectively
used.
Constraints are a good thing - they keep us from wandering all over
the place trying out everything possible and instead focus on
validating the cliche - quality over quantity.
Every Polygon Has a Price
Each polygon, texture, and frame of animation should be
justifiable. Serving as "eye candy" isn't enough reason to put
something in.
-
On one front end I spent quite a bit of time debugging some animated
hieroglyphic textures, only to find out later that those icons had no
connection to the game at all - they were just there for artistic, but
meaningless, effect!
HUD's in particular tend to echo the worst of web design,
ranging from the early blinking text to
the modern Flash-filled pages. Games should be no exception to the
principle that the interface should not get in
the way - the best interfaces are interfaces that you don't even
notice.
Sound Advice
What goes for graphics, goes for sound.
-
Laboring under the misconception that more options are better, one game developer president stated that our extreme sports game should allow
ambient sounds and the soundtrack to be played concurrently. It turned out
that loud rock songs easily obscured twittering birds in the
background and hardly warranted the extra development complexity (the console had hardware support for just one
stream). Another game had a list of sound effects for every element on
the HUD, potentially resulting in a Las Vegas slot machine effect -
the sound designer threw out most of them.
More is not necessarily better, and often it's worse. Imagine all the
sounds that could go off at once doing so, and scale it back if the result is cacaphony.
Dialogue
Same goes for dialog - every line should have a purpose.
We don't want voice-over (or text-over) dialog
distracting from the interactive flow of the game, and each piece of
dialog requires space, scripting, services of a voice actor (if
voice-overs are used), rework if the dialog has to be rewritten or
different voice actor is selected, and translations and re-recordings
if the game is localized for different regions.
-
On one game project where I script-doctored the dialog, the publisher
looked over the results briefly and asked for some crowd NPC dialog in
one of the "cinematic" fight scenes. I added it just to keep them
happy, but sure enough, once the level designers worked in the
voice-overs, it was just a big muddle.
One practice I have used in writing game dialog is to
include notes at the beginning of each section explaining what the
dialogue is supposed to accomplish. Some of these objectives are the
same as in any story, e.g. increasing empathy for the player
character, establishing the badness of the bad guy. But dialogue can
also highlight aspects of your game - if you hear the NPC's talk about
what they see or hear and how they coordinate amongs themselves, then
you know the capabilities of the game AI.
Another thing to keep in mind is that scriptwriting for games is
really more like scriptwriting for animated features rather than
film. As with the former, you can't rely on the range and subtlety of
visual expression conveyed by human actors, so you must make sure it's
clear in the words.
First Things First
As a general rule, anything that can be completed early in the project
should be completed early. Get it out of the way, let it get tested
thoroughly, and leave crunch time for the hard stuff, of which there
will be plenty.
Front End
The front end is typically an afterthought, fleshed out in the final
months of a the game development, but it really should be one of the
first things implemented. Even if the front-end requires some assets
that will not be finalized for a while, placeholders can be
substituted.
-
Completing a front end early provides a real functioning component of
the game that can be demoed immediately and shows you've got more than
just some storyboards and mockups with Flash.
-
Designing the front end early forces the game designers to complete
the game design to that extent, so critical decisions like game modes
(single-player, multiplayer, story, arcade, etc.), scores, game-save
interface, are resolved early.
-
Implementing the front end early gives the developers (and anyone else
who sees the game, including the publisher) a specific idea of what
the game is about. A common complaint among developers on game
projects is that they don't understand what the game is supposed to be
about - starting up the game in the same way as the eventual customers
can alleviate that problem.
-
Implementing the front end early will expose design flaws, logical
inconsistencies, and potential incompatibilies with the console makers'
requirements, e.g. memory card usage. Developers usually implement
shortcuts that start up whatever level or feature they're working on
or testing, but then they get in the habit of relying on these
shortcuts and the front end is not well-tested.
Media
The final distribution on media may seem like the last thing to take
care of, but again, it's something that can and should be done
early. Preparing the game assets for the target media is typically an
elaborate process, and it's best to get a handle on that before crunch
time. And ideally, you want to test the game running on the media as
soon as possible, so you'll know if load times are acceptable, sound
and FMV streaming works, and even if the game fits on disc. Many games
now depend on "world" streaming, so it is crucial to verify that disc
performance can keep up. Console development systems often provide
disc emulators, but the performance characeristics often do not
properly match those of the real hardware. I've seen games work
perfectly on the emulator and then, a rude disappointment, fail when
run from disc, sometimes just before a required milestone delivery.
First Playable, Last Shippable
Programmers complain the design is late and the designers complain
they can't finish the design until the programmers have the game up
and running so they can tweak it. They're both right. So while it's
probably not a bad idea to do as much in preproduction as you can, you
can hedge your bets by working toward a "first playable", consisting
of at least one, but no more than three levels of the game.
-
This allows you to start off your project with a smaller team while
you implement your core technologies and work out the basics of your
game, and then you can staff up later to crank out the remaining
levels.
-
The smaller target allows you to get to the playable point faster than
if you tried to develop the full game at once. This allows you to
reach a point much earlier at which you can evaluate the gameplay,
asset budgets, target performance, and if the result is satisfactory,
then you have a demo for the trade shows and game magazines.
-
If it turns out that the game is fundamentally flawed (or just not
what the publisher wants), which is not uncommon, then you can change
direction or even start over much more easily than if you had invested
a full team and spent much longer in getting the game to a playable
point.
Note the first playable is not the same as a prototype, which is
basically a minimal demo that you shop around to get the deal. The
first playable is really playable, which means it has all the user
interface elements, game saves, functionality and polish that you
would see in the final game.
Going International
Localization is another typical afterthought. But as with everything
else, get things ready early, so you won't have to deal with it in the
crunch.
Who's Your PAL?
PAL
resolution is slightly different from NTSC - in particular, the aspect
ratio is slightly different, so you'll want to verify that 2D elements
in particular, such as the front end, text, HUD and movies, still look
OK. The higher vertical resolution of PAL also can mean greater main
or video memory usage.
The PAL frame rate is also different, so anything in your game
dependent that assumes a certain frame period, e.g. movies or code
executed per frame that doesn't take in account real time elapsed,
will behave differently.
Watch Your Language
I've seen more than one project where it was assumed that the
publisher would deliver localized assets (text, audio) just once, and
that the assets would be correct and final. That's a pretty
unrealistic assumption - publishers will express the importance of getting a game finished on time in no uncertain terms, but when it comes to deliverables from their in-hous departments, don't expect them to respond with the same urgency.
-
At one developer working on a console title for the US and Europe, the
president of the company assured me that the localized text from the
publisher would be correct and final, so not to worry that the
deliverable would happen just before the ship date. As it turned out,
the holiday retail season came and went as we went through several
iterations of the localized text, with 3-4 weeks between the
updates. One of the near-final deliveries was incomplete because our
producer contact took off for Christmas vacation without bothering to
give us a complete set of corrected translations (and he didn't mark
which ones were changed - that was considerate!)
When you do actually receive translations, chances are they're not
going to be suitable.
-
The translation may be inappropriate for the desired context. For
example, "button" could be translated differently depending on whether
it belongs to a controller or piece of clothing. Or the translation
may be just plain wrong. I've received translations that left me
wondering if the publisher had just hired some beginning language
students from the local college. In many cases, I've had to rely on
European coworkers and the internet to find the right translations.
Console makers typically require certain phrasing as part of their
submission requirements. This can cause your
submission to be returned several times until you get it right.
-
On one localization project, we went through several iterations of
translations for the various mandatory disc and memory card error
messages, until the console maker published a set of recommended
translations for all of them. Upon which I gladly tossed out all of
our publisher-provided translations.
Finally, translations may not fit in your existing on-screen buttons
and other user interface elements, so you'll either have to find
shorter translations or rearrange your screen. You'll probably need to
load multiple new fonts, increasing your asset budget, and if you have
a type-in screen, arrange to display all of those characters. All the
more reason to set up your game for localization early and avoid
rearranging a bunch of your screens later.
It's Software Development
Although game projects bear an increasing resemblance to Hollywood
projects, game development is still fundamentally software
development, yet despite being possibly the most challenging form of
software development, the game industry lags behind other industries
in software engineering and management practices.
Office Space
It is conventional wisdom by now, supported by studies, that
programmers are more productive (and less irritable, I might add) in
their own offices. The elite technology companies like DEC used to
make a point of getting programmers their own offices (if you were
senior enough, you got a window).
-
One of my favorite employers, BBN, was one of these companies steeped
in technology culture and provided individual offices for each of
their engineers, until the fiscal pressues of the early eighties
prompted them to move to cubicles and euphemisms ("come see our new
open office environment!").
The game industry, on the other hand, is the only software business I
know of where people, including engineers, talk about cubicles and
open "bullpens" as productivity-enhancing. This is a case where the
appearance of activity and interaction doesn't mean more productivity
- more likely there's an inverse relationship.
-
In one particularly abysmal game company, I was crammed into an office
with two other programmers, with the finicky one sitting three feet
from me complaining that my typing and mouse-clicking was too
loud. (Apparently, he'd never heard of headphones) As a bonus, the
men's toilet on that floor was not designed to handle twenty male game
developers and clogged up constantly (now I know why the British call
it a "bog") - combined with the lack of air conditioning, it made for
swampy weekends.
Not the best environment for the regular workday, much less long work
hours, which brings us to....
Avoid the Crunch
Crunch time happens everywhere, but
outside the game industry it's recognized as a failure of
management. In the game industry, however, even while paying lip
service to the notion that crunch time is a bad thing, publishers and
developers trot out the same trite spiel - it's an unavoidable
consequence of industry pressures, management has to tell developers
to stop working and go home because they are motivated to work so
much!
That's quite a conceit. It's one thing for someone to get on a roll
and work through the night to get something cool done, it's quite
another for management to mandate 12-hour work days and weekend shifts
for months at a time. It's ultimately a self-defeating proposition.
-
Everyone has a natural pace and level of productivity. The reliable
key people on your team will put in the extra hours, anyway. Everyone
else will just hang around the office longer, web surf more, and just
get on the nerves of those who are really working. In either case,
they will resent the disruption of their personal lives due
to mismanagement of the project schedule. And they won't be completely
wrong.
-
Contrary to popular belief, crunch time does not engender an increased
level of production - you get more code and assets, but you get more
mistakes due to rush jobs, weariness, and decreasing motivation. The
risk-reward balance of crunch time is becoming more dangerous as game
projects get bigger and more money is at stake, especially for console
games that are unpatchable and the only recourse for flaws introduced
at the last minute is to recall the product from the retail shelves.
The Peanut Gallery
The cool thing about games is that everyone's got an opinion. The bad
thing about games is that everyone's got an opinion. Playtesting
provides critical validation of you game, but sorting the wheat from
the chaff is required.
Focus Groups
The problem with focus groups is a lack of. General comments often
support the industry's reputation for catering to adolescents - "Bigger boobs! More visual effects!" As with formulaic big-budget
Hollywood movies, these elements may be reliable ingredients for
drawing mainstream interest, but do you really need a survey to give
you this information?
Used in this manner, focus groups are just a
pseudo-scientific way of reinforcing current preconceptions.
-
A game company president was peeved that most of the team showed
little enthusiasm for making our game more risque, so the only
comments she emphasized from a focus group test were the juvenile ones
asking for more skin (the sole female tester demurred, but her
opinions were not considered useful). However, the game was based on a
family-friendly license and was supposed to achieve an "E" rating, so
we spent a lot of time at the end of the project toning things back
down.
But focus group results can be useful, if you really focus on "finding
the fun".
-
I was particularly impressed with one console maker's rigorous in-house
play-testing. Their testers would report initial impressions of
the game, their impressions after one hour, then three hours, then
eight hours. At each step, they gauged their level of empathy with the
player character, their satisfaction with the visuals and audio, their
frustration level if any with the difficulty level, and their
motivation to continue.
Publishers, Who Needs Them
Unfortunately, you do. At least
if you're working on a console game.
As in Hollywood, publishers think that because they make their money
off games, they know how to make games. And since they make money off
one in ten games, they know what consumers want. And then there's reality.
Do not let a publisher design your game. If they were qualified to do
that, they could develop the game themselves. Publishers should stick
to their knitting - providing licensing, tools, testing, marketing,
submission requirements, translations for localization, and most
importantly, payment. Remarkably, I've seen publishers fail miserably
in all these areas.
-
On one project I worked on, the publisher was late with the console
development kits, borrowed more equipment from us for their other
projects, paid late on almost every milestone, lost the license and
then complained the game was too boring to sell (and it was fun with
the license?), got briefly excited enough about the marketing campaign
to order a case of custom-labelled Jones soda, and then lost interest
and drank all the bottles.
A commonly-stated excuse is that publishers are "just trying to make
money". That in itself is enough reason for developers to make sure
they protect their own interests, whether it's making a great game or
just surviving. But as with any other business, such a statement is
overly simplistic - any publisher you deal with is a mix of people who
are out for personal glory, personal wealth, job security, and some
may be actually trying to make money for the company and some may
actually be trying to make a great game.
-
I heard one publisher complain that they helped unknown developers get
their start only to be left behind when those developers ended up on
well-known franchines. Yet this publisher had a history of imposing
tight schedules and low budgets on these hungry developers, and
they would sell the resulting titles to other publishers at the first
opportunity to make a quick profit.
The most successful game companies control their own fate as much as possible.
-
The most successful game I've worked on relied almost entirely on
in-house resources. An impressive marketing effort, including a fan
site, magazine interviews, developer blogs, and even a comic book. The
in-house QA group was knowledgable about console submission
requirements.
Don't Be Evil
Publishers aren't just often bad at their business - they are
notoriously bad about business.
-
In just the past few years I've heard of publishers going on group
outings to strip clubs, granting projects to developers in return for
trips to strip clubs (sense a theme here?), producers propositioning
female developers, and even rumor of a publisher bribed with a new
Porsche to get a project. Aside from the sleazy, there's the
adversarial. I've heard that a publisher lawyer at a game development
conference stated the best negotiated deal for a publisher is one that
bankrupts the developer. With this attitude, it's no wonder taht a
favorite publisher trick to enforce crunch time is to send a producer
to camp out at a developer's office and make sure they're working into
the evenings), And not only have I seen publishers make lame excuses
(or no excuse) for late payment and non-payment to developers, I've
encountered those tactics in my own contracts with them - contracts
rewritten without informing me, micromanagement in order to
penny-pinch ("spend ten minutes on this, fifteen minutes on that..."),
and weasely attempts to get free work ("Oh, we thought you could just
take a look at it...")
But as easy as it is to blame industry woes on publishers, developers
who engage in the same practices have my utter lack of sympathy.
-
The one time I heard management say they were opposed to
mandatory crunch time work schedules, they shortly announced six
months of required weekend work for the entire staff. And I've seen
the same gamut of bad-client practices from developers, ranging from
renegotiation of ongoing contracts (one client had a practice of this
with her contractors, even telling me at the end of a contract "when I
have time, I'll let you know what I think is reasonable"), to blatant
non-payment (on a project that was dragging on, the client said they
had no expectation of paying me for the extra time, yet sued their
publisher for the same thing), to sneaking in as much as possible into
a contract (I started out at one developer with four weekly paid
milestones which turned into two payments for four milestones which
turned into one payment for four completely unspecified milestones and
an unpaid "transitional period" of work.)
At times it seems developers and publishers are engaged in an unholy alliance.
-
I've heard of developers expressing their "appreciation" to
publishers with tokens ranging from gift certificates, birthday
gifts, hotel accomodations, strip club outings, and even rumors of a
car given to a producer in order to seal a development deal. I saw
one breach-of-contract lawsuit filed by a developer against a
publisher settled by not only payment of cash to the developer, but
also a hefty pile of stock and a "consulting" agreement granted to
the developer's president. It's not uncommon to see the owners of a
game developer shutter the company, leaving the employees unpaid,
only to start up a new venture. Who suffers? The rank and file.
I'm the last one to defend publishers, but sometimes you guys deserve
each other. Don't be part of the problem.
|