Game Development Reference
In-Depth Information
with error that I was the only person who ever successfully built a testable version of
the game. That wasn ' t an accomplishment, it was a failure.
On one of my trips to Microsoft, I learned something about how they build Office.
The build process is completely automatic. The build lab for Office has a fleet of ser-
vers that build every version of Office in every language, and they never stop. The
moment a build is complete, they start again, constantly looking for compile errors
introduced by someone in the last few minutes. If they find an error, the programmer
is contacted via email by the build machine. Once the build is complete, automated
testing begins, and if any of the automated tests fail, the build system emails the pro-
grammer responsible for the errant check-in. Office is a huge piece of software. If
Microsoft can automate a build as big and complex as this, surely you can automate
yours.
Automate Your Builds
My experience has taught me that every project can and should have an automatic
build. No exceptions. It
s far easier (and safer) to maintain build scripts that auto-
mate the process instead of relying on a build master, whose knowledge is so arcane
he might better be called a witch doctor. My suggestion is that you should try to cre-
ate Microsoft
'
'
s build lab in miniature on your own project. Here is what
'
s needed:
n A build machine, or even multiple machines, if your project is big enough
n Good tools for automatic building, both from third-party sources or made on
your own
n Time invested creating and maintaining automation scripts
The Build Machine
Don
s development box as your build
machine. Programmers are always downloading funky software, making operating
system patches, and installing third-party development tools that suit their needs
and style. A build machine should be a pristine environment that has known versions
and updates for each piece of software: the operating system, compiler, internal tools,
SDKs, install program, and anything else used to build the game.
'
t try to save a buck and use a programmer
'
After You Go Gold, Back Up Your Build Machine
A complete backup of the build machine is good insurance. The physical machine itself, preserved for
eternity, is even better. If you need to build an old project, the backup of the build machine will have
the right versions of the compiler, operating system, and other tools. New versions and patches come
out often, and even a project just 12 months old can be impossible to build, even if the source code is
 
 
 
Search WWH ::




Custom Search