Game Development Reference
In-Depth Information
time without error. Wrong! The builds took days to perform because there was little, if any, integration
testing on the part of programmers
mostly because doing so really took a very long time, and not every
programmer had an Xbox development kit to test with. They simply tested their own stuff in quick,
isolated tests on whichever platform they had handy. This rarely caught the odd problems due to
integration flaws, and these problems accumulated between builds. The solution? Give the developers a
little notice
and get them to run some more serious integration tests of their own
before the build. That, and for goodness sake, create some automated testing and run it nightly.
at least a few hours
Multiple Projects and Shared Code
It
'
s difficult to share code between multiple projects if the shared code is still under
rapid development. Two different teams will eventually be in different stages of
development because it is unlikely they both will have the same project schedule.
Eventually, one team will need to make a change to the shared code that no one else
wants.
There are a couple of different cases you should consider:
n One team needs to put a
in the shared code to make a milestone quickly,
and the other team wants to code the
hack
solution.
n One team is close to shipping and has started a total code lockdown. No one can
change anything. The other team needs to make modifications to the shared
code to continue development.
real
How do you deal with this sticky problem? Branching, of course.
In the case of the scenario where two project teams need to share a common game
engine, the game engine has three branches:
n Trunk: The normal development branch
n Gold_Project_A: The Gold branch for the first project
n Gold_Project_B: The Gold branch for the second project
While both projects are in normal development, they both make changes to the
shared engine code in the Trunk branch. If either project goes into a milestone
approval phase, they fix milestone blockers in the Gold branch for their project.
Since they each get their own Gold branch, both projects can be in approval simulta-
neously without worrying about each other. If they happen to be broken in exactly
the same way, you can always make the change in the Trunk branch and integrate
that single change forward to both Gold branches
s totally up to you. After their
milestone has been approved, the changes get merged back into the Trunk. When
it
'
 
 
Search WWH ::




Custom Search