I'm Torsten and I run a company called
Natural Motion, and I want to talk
about how we combine
creativity and optimisation
We are a games company, we make
games for iPhone and
Android, our biggest game
is called CSR Racing, it's got about
120 million users
so about 2% of the world's population
have played it, but we didn't start
that way, we actually started
as a technology company
and we had this idea that
we could do animation
in games and in movies
completely differently. We thought
'What if you don't have to hand
animate characters? What if
you actually let the character
animate itself?'
So we thought, 'How hard could that be?'
What you do is, you simulate a
character and you add
to that little muscles
and you add to that essentially
a brain that makes it animate
itself, and I want to
show you what that first
result looked like, it looked like
this.
Not very good basically
this was after eight hours
of simulation running and we had
been hoping that there'd be a character
walking on a screen that would
solve all of our problems, and the problem
was, we didn't iterate
and we didn't optimise, this
was the first iteration
of this kind of approach, and it
didn't really work. So what we
learned was, we needed to find
a way to essentially
let these creatures learn themselves
how to do this task, and the task
is walking because that's what
we wanted to animate, so
we developed an algorithm
it's called a genetic algorithm
that uses artificial evolution
to essentially iterate and optimise
itself to get to the point
where we wanted to get to, and that looked like
this, so this is generation zero
of this optimisation process
and as you can see, the
character is not that good at walking
yet,
but now after a few generations
of optimisation artificial
evolution, you can see that the
character takes their first steps
, and
after a few more generations takes
a few more steps still,
and eventually we managed to get this
to work, so eventually after twenty
generations, this character actually
walked without falling
over, and that was a big breakthrough
for us and was the first time we realised
that if we combine a
new idea with an
iterative optimisation
approach, we can have something
that is completely different to anything
else, and the reason we were so excited
by this is because we managed
to eventually scale this up to full
human bodies and have them interact
with each other, and things
happened that we didn't expect
and I want to show you a very simple
example of this, eventually we got
all of this to work in real time
and is now powering the characters
of games like Grand Theft Auto
for example, so if you've played GTA5
all the character interactions are driven
by this technology, but the cool
thing is, surprising things
happen, and here's a very simple
video of something that we've captured
a while back where we
put two of our characters
too closely to each other
on the screen,
and we found out that they started squabbling
Now this is not something that we actually
put into the characters, they have
a full balancing behaviour
as we call it, they have full interactive
ways of moving their arms and they're trying
to protect their personal space
but as a result, it ended
up with two characters squabbling
and this video actually went on for
another twenty minutes, they
just basically didn't stop so I'm
going to show you a short bit, but that
is the power of optimisation
with creativity and we were
really excited by this, and eventually
we thought, 'Well this is all working
can we use this ourselves?'
So we started making games ourselves
rather than just creating technology
we started to make games for iPhone
and our first game was a
game called Backbreaker, which used
our technology to create
an American football experience
where all the tackles, all the interactions
were realistic, so
we wrote the game, we tested
internally, and eventually
we showed it to an audience
and we actually tested it
with real users, and this is what
the first user experience looked like
So there was a problem basically
all the stuff that we just created
we realised when we actually put
it into the hands of the users
they didn't really get on with it, and
in particular there was a problem on
iPhone and Android because
a lot of people are not gamers, yet we wanted
them to enjoy the game, so
what we had to do was iterate
and change the difficulty level
at the beginning and we changed it to
this.
So as you can now see, miraculously
any time an opposing player
gets close to you, they
just dive past and they just
miss you, and you think
you've done something right because you can
see your character kind of stepping
sideways, but actually you haven't
done anything because what's happening
is that we make sure that the
character, the opponent, dives
past you, and as a
result of that we've created the most
incompetent football team
ever to grace a video game, but what it
allowed us to do after the
situation is, it allowed
the user to have this experience
is here which is, 'Touchdown
I've made it and maybe I am
a gamer and maybe this is a game
for me,' and that was really important
to us, and we started doing that with
user testing, so for our next
game we did the same thing and that was
CSR Racing, we user tested
the game. It's a very simple racing
game, it's just a drag race and all
you have to do is shift at
more or less the appropriate times
and the first game we make that really
easy for you, we give you a BMW
and we set you up against
a very slow hatchback, it
is essentially un-losable.
We tested it with users
in our offices and
eventually they were all quite happy with
it. When we then put the game
out into the wild and we got
real data at large scale
we found that the un-losable
first race was lost by
36% of the people,
so that was a problem and that showed
us the power of big data
and the power of iterating with
big data, and this is a really obvious
one, but there are a lot more subtle
things that you can find out
once your product is out in
the wild, and I want
to show you a quick example of this, this
is what's called the funnel of the
game, the first few steps
the first few minutes, and what we
saw was actually, we had a
drop off here, you can see it was
a race and a lot of people lost
that race, and that was because
again that race was too difficult
about 4% more than we expected
were dropping off, so we made it easier
and that's the dotted line here
and that meant as a result 4%
more players ended up
playing the game. So we add
up all of these small iterations
on top of each other you end up with
very big movements in terms
of player retention in the game. So
that's what we've been doing over the last
few games. But what's next
So our next game is called
Dawn of Titans, here's a screenshot
taken on an iPhone, and
with this game we have huge
battles, we have about seven
thousand people in real time battling
each other, but with this game we wanted
to take iteration one step further
We didn't just want to wait
for real data coming
in, we actually started to simulate
what players would be like
even before the game was
released. So what we're now doing
is, we run simulations of ten thousand
virtual players with different
play patterns, and we try to
predict how they're going to
spend money in the game or
the in-game currency, so here's
one of the graphs of such
a simulation run, and what you can
see here is the different lines
are the different player types, how
many times they play in a
day, how much money they' re spending
etc., and then the lines show
how much money they end
up with in the game, how much in-game
currency, and you can see that it
diverges quite a bit, and that
allowed us we were hoping, to
predict what real players would
be doing, so when we eventually
soft launched the game which has
just recently happened, and we're getting
the first test data in from real
people, this is what that looks
like, and it's actually
quite close. So that
for us is the next step and the
really exciting thing about this is
if you look at it there's a really good match
overall, but there are a couple
of kinks here that we didn't
expect, and those are actually
points where the economy
of the game is broken and we have
since fixed that. So we're
now able to take this one step further
and iterate on things that
we can even simulate before
the game is released, but
at the end of the day it all starts
with creativity, and that's really
important to us, and I just wanted
to show one of the characters that we're
most proud of in the company called
Clumsy Ninja, which is a game that
we released about a year and a half ago
This was all our creative
output and it started with that
it's something that we were really proud
of, and then when we had the game
out we were able to iterate, make
it better and better and better, and if
you can have that combination of creativity
and optimisation, we think it's possible
to create absolutely awesome products
so that's my short summary, thank
you very much.
