As
well as the crowd we included cutscenes, rendered in real time using
the game engine, to add to the pre-race build-up and to capture the
post-race celebrations. These turned out a big success, but as we'll
see in the What Went Wrong section did not go as smoothly as hoped.
Frontend
- We
all know the frontend is a banana skin upon which even the best-run
development teams can slip. It's common to underestimate its scope,
and it seems to be a common testing ground for unwise software
methodologies or ill-considered experiments in data-driven software.
Some of these problems are caused by lack of experience in the
frontend team, because all too often it's staffed by graduates, while
the more experienced coders and artists work on the game.
Here
at Black Rock we've made all those mistakes in the past before
eventually settling on a formula for the MotoGP
frontend that worked. Data-driven software is usually a good thing,
indeed much of our game is data-driven, but with a front-end the
coupling between the data and the game code is particularly complex.
Instead of this we employed a more coder-driven system where the
screens were defined by a set of templates and as the templates were
updated all the screens using them were updated. This means the
programmers and artists had to work very closely together.
The
original MotoGP
had won an award for its implementation and we had ported it across
pretty much verbatim for the MotoGP'06.
It was clear and logically laid out, but in the intervening 6 years
things had moved forward and it was looking quite tired.
The
first thing we did was hiring a specialist graphics designer, which
was something we'd never done before. He had a lot of experience
working for large companies such as U.K. mobile provider Orange but
had never worked in the games industry. I think this worked to
everyone's advantage because he was able to take a totally fresh look
at how we visualize our frontend and came up with a very clean and
compelling style.
Secondly,
we decided not to change the functionality of the frontend. We liked
the way it worked, just not the way it looked. In those situations
it's tempting to start implementing from scratch, but instead we
opted for a re-skin. Every screen was completely redesigned from a
visual point of view, but still maintained the same functionality.
In
this way we were able to break one of our golden rules and staff the
frontend code team with a single graduate. A very good graduate, for
sure, but still a grad. Code and art made a great team and even
colleagues with years of experience playing MotoGP
were fooled into thinking we had created an entirely new frontend.