Game Development Reference
In-Depth Information
veloper is also editing the file. If you commit your change to the central repository
first, when the other developer tries to commit he'll find out his GameState.cs is
out of date. The source control client will then require him to update the file. If
you were editing different parts of the file, the client will usually be able to auto-
matically merge the different versions.
But what happens if both you and the other developer edited the same exact line in
GameState.cs? In this case, the source control tool has no way of knowing which
lines it should use, and it will complain that there is a conflict. To resolve this con-
flict, you have to do a three-way merge . In a three-way merge, the typical setup
has things split up into sections for “their” changes, “your” changes, and the final
merged file. For each conflict area, you will have to select which lines of code to
use in the merged file. It might be theirs, yours, or some combination of the two.
Issue Tracking
Issue tracking involves documenting and then tracking the resolution of issues
that pop up during development. An issue tracker is also called a bug database,
though issues do not necessarily have to directly correspond to bugs. Although I
wouldn't recommend issue tracking early on in development, at a certain point the
majority of features of a particular game will be implemented. This causes the fo-
cus to shift from creating new code to fixing any bugs in the existing code. Once a
game reaches this phase of development, issue tracking becomes almost mandat-
ory.
The typical workflow with an issue tracker is that the QA team tests the game
and generates a bug report for each unique bug they encounter. These bug reports
are then forwarded to a producer or another lead developer, who then determines
who would be the best person to fix each bug. This could be due to a variety of
factors, including who wrote the code in the first place, as well as who has the
biggest workload at that point in time. Each issue is also assigned a priority, with
the highest priority being reserved for crashes and other showstoppers.
The convenient part of having an issue tracker is that each developer will have a
list of tasks to go through. This gives each team member a clear direction as to
what he or she should be working on, which is important. There's also some sat-
isfaction in closing out bugs efficiently, or eventually getting down to zero bugs.
Every time a bug is fixed, it's then forwarded to the QA team to verify the fix.
Once the fix is verified, the issue can then be closed, though there's always the
possibility of reopening a bug if it comes back.
Search WWH ::




Custom Search