MAKING BUILDS 325
progress of future builds. It provides proof of concept and technology to the
development team and studio management. By the time the game is at a first
playable stage, builds should be made two to three times a week. By alpha, it is
ideal to be in the habit of making daily builds.
At the point when daily builds are being made, the QA department will work
with the team to decide how often builds will be submitted for testing. It is
counter-productive to give QA a new build to test every day. They need to spend
several days with a single build to make sure they have tested all aspects of the
game thoroughly. QA will probably only want to look at a new build every three
to four days during alpha. The frequency of builds submitted to the QA depart-
ment will increase as the game gets closer to code release. The build schedule
will keep production progressing on the game. People can check in their assets
and know when the build will be ready and submitted to QA.
Automated Builds
An automated build process is usually simple to set up and saves a lot of develop-
ment time. If the process is automated, the person responsible for making the
build does not have to take time to manually complete all the steps necessary to
compile the build. All of the build tasks can be automated by setting up a separate
“build” machine, which has a programming script that will instruct the machine
to pull out all the updated code and assets from the version control system and
compile them. When compiled, it will generate the latest build and copy it to an
appropriate place on the computer network. This programming script can be set
to run on a regular basis. For example, the build script can be set to run at mid-
night each night, so there is a new build waiting for the team in the morning.
The automation process can be taken a step further in reducing time in other
areas of development. For example, on certain days the build script could be in-
structed to copy the latest build to all the QA machines, so that when the QA tes-
ters reported to work in the morning, the latest build was ready for testing. The
process can also include scripts that check the build for errors, such as misnamed
files, missing assets, or incorrect file formatting. The error log can be automati-
cally emailed to the team so that people can begin fixing the errors before the
next build is created. The lead engineer can work with the development team to
set up the best way to automate the build process.
A publicly visible indicator can be added to show when the build is not work-
ing. Clinton Keith of High Moon Studios has integrated lava lamps into the build
process, “when an asset is checked into the game, there is an automated test suite
that tests everything that is committed art and code wise to the pipeline. If the
tests determine that an asset has produced a fault, a red lava lamp is triggered
to indicate that the build is broken. If the tests determine the asset is working
correctly, a green lava lamp is triggered. The lamp is visible to the whole team