What
Went
Wrong
Cutscenes
- The
pre- and post-race cutscenes were something our studio hadn't tackled
before. A decision we made early on was that we wanted hundreds of
people on the grid -- so we were going to concentrate on quantity
rather than high polygon count. At the time we didn't have the
technology to render perfectly featured faces and hair, so we wanted
to keep the camera cuts quick and the character count high.
We
had 18 races each with pre- and post-practice, pre- and post-qualify
and pre- and post-race cutscenes. That's 108 different scenes. We
needed to use the in-game engine for the scenes rather than recording
them, so that we'd be able to correctly represent the player's place
and team on the grid. We also didn't want a load screen between
cutscene and race, so all the assets had to be loaded up front.
The
cutscenes were a departure for our studio, and we underestimated the
workload. We had a single programmer whose job it was to write all
the cutscene art tools and the in-game support and a single animator
working with a character artist. The workload for this small team was
just way too high and unfortunately we were never able to free up
additional resources to help them out.
This meant the team ran late
and were subject to unfair amounts of stress. That the cut-scenes
turned out so well is testament to their skill and perseverance --
the number of characters on the grid is staggering and it really adds
to the sense of immersion.
Builds
- The
build was in the 'What Went Wrong' section of the MotoGP'06
post-mortem
so its indefensible that it appears again. One thing that the game
development community is learning is that that building the volume of
assets required for 360 and PS3 games is a tough problem.
We
made a serious effort to engineer a good build system for
MotoGP'07.
A system that could check out the code and assets, build the code and
assets across multiple build machines for multiple SKUs, run unit
tests on the code, run a series of tests on the game to make sure it
was operating correctly, email us a status log, build DVD discs,
archive a build environment (an archive of all the data, code and
tools which was everything you need to build assets and run the game)
and if the data was good (i.e. the automated tests had passed) it
pushed the new version of the game out to all available devkits. It
did this in less than five hours at the push of a single button.
Sounds quite good, doesn't it?
Unfortunately
it wasn't
quite what we had hoped. Fundamentally our build system is built on
top of Scons (a replacement for make) and Cygwin (a Linux-like
environment for Windows) and it stressed them beyond their limits. In
order to get the build time to less than five hours we issue tens of
thousands of build commands over a large number of CPUs, and we
exposed two rare bugs in the third party software.
Every few thousand
times the fork command in Cygwin would fail and similarly Scons would
hang. We spent weeks debugging the problem but never managed to solve
it, and instead ended up with an unsatisfactory tangle of
error-catching and retrying in the hope of getting some good data.
Our
Core Technology Department is solving the problem by rewriting the
build system using Python rather than Scons and eliminating the need
for Cygwin.
Fortunately
for us we had an enthusiastic build engineer who was happy to
baby-sit the build, often after-hours, tinkering with it until it
gave good results. As you can imagine this was far from satisfactory
(especially for him!) A poorly-operating build system compromises the
quality of the game and costs the team late nights and weekends and
it is, therefore, inexcusable.
Conclusion
We've
made five versions of MotoGP
in the past seven years and although we love the franchise I think we
are all ready to move on. For the final game in the series we wanted
to tie up all the loose ends, implement all the suggestions from the
fans and really step up the graphics and handling to produce a
fitting finale. With MotoGP'07
I think we achieved that. We'll miss the races, the riders and the
brolly girls but we'll leave the series knowing a lot more about
motorbikes than when we started!
|