Game Development Reference
In-Depth Information
Normal Build
The normal build script builds a clean version of the game and copies the results
somewhere useful. It is run as a part of the milestone build process, but it can also
run automatically at regular intervals. I suggest you run a normal build at least once
per day, preferably in the wee hours of the morning, to check the code on the net-
work for any errors. The normal build script is also useful for building ad-hoc ver-
sions of the game for the test team.
The normal build script performs the following steps:
n Clean the build machine. If you use the directory structure I suggested at the
beginning of this chapter, you can just delete the Temp directory.
n Get the latest source code and game media. I used to recommend cleaning
everything and starting from nothing, but on most games this simply takes too
long. Just grab the recent files.
n Grab the latest version number and label the build. You can decide when to
change the version number
each build or even each night. You can use the
version number to specify the ultimate destination on your build server, so every
build you ' ve ever made can be available. Visual Build Pro has a utility to grab or
even change the version number of Visual Studio resource files, but it
s pretty
easy to write one yourself. At Red Fly, the build number was increased every day
and even included the changelist number of the last check-in. Bugs that are
found in a particular build can be entered into the bug database, and even if a
programmer sees it days later, he can know fairly reliably if the bug is a new one
or the fix just didn
'
t make it into the latest build.
n Compile and link every build target: debug, profile, and release. The project
settings will make sure that everything goes into the right place.
n Run automatic test scripts. If you have automated testing, have the build
machine run the test scripts to see if the build is a good one. This is more reli-
able than a bleary-eyed programmer attempting to test the game at 4 a.m.
n Process and copy the build results. The destination directory should use the
code name of the project and the version number to distinguish it from other
projects or other versions of the same project. For example, version 2.0.8.25 of
the Rainman project might go into E:\Builds\Rainman\2.0.8.25. The nightly
build of the same project might go into E:\Builds\Rainman\Nightly. If you have
multiple platforms to worry about, stick them in directories that are easy to find
\E:\Builds\Rainman\Nightly\3DS.
'
 
 
Search WWH ::




Custom Search