>> Hi and welcome to GDC.
We're live here at the developers conference
and we're covering a number of game developer topics.
My name is David Holiday and I work with Azure gaming.
Today I have with me Oliver.
And Oliver, you have to forgive me,
I can't pronounce your last name.
>> It's Oliver Loffler.
>> Loffler, okay. Great.
>> Yeah, a Germany name.
>> Yeah, okay. And Oliver
works for the company Fluffy Fairy Games.
So, hey, can you tell me a bit about your journey with
Fluffy Fairy Games and a
little bit about the company background?
>> Yeah. So basically we started the company
two years ago in a small dorm room apartment.
So we were still in college back then,
and we were playing a lot of
games and we were really into it and
experienced lot of things and we really
wanted try to do something similar, right?
So we just met in the dorm room apartment of two
of our other founders
and basically just started to build games.
>> Nice.
>> So at some point we decided to start Idle Miner Tycoon
and we wanted to get out a version
of the game out on market very fast.
So that's why we decided to
only do like two months of development,
get it onto market and see if it's working.
>> Right. So you're actually a true garage story, right?
Now you guys are pretty large.
I mean, Idle Miner Tycoon has like
how many players in that game right now?
>> So, we have like over 30 million downloads.
>> Thirty million?
>> Yeah.
>> Wow, that's a significant amount.
>> Yeah.
>> Now, I must say,
I have to say, I'm a very big fan of the game.
I just have to show you this for a second.
I don't know if you can see this.
For those who play Idle Miner Tycoon,
I have unlocked all of
my mines and all the islands,
just thought you should know.
I must say though, what's really interesting is
I got addicted to your game and
I gave it to my family and some friends at work
and everybody is playing
the game and they're all addicted to it.
It fascinates me.
There's a number of things about this game
that are just fascinating, keep me coming back.
And I love to kind of like dig through those
and how you guys created that and
the process for doing that because I just find it
amazing the formula that you derived on.
But just want to say first of all,
love your game, love your name.
And look at that, look at that. So anyway.
So let's start with that because
you said something before that
when you start the game you start
with just a minimal product.
So, could you explain the philosophy,
why would you do that?
>> Yeah. So basically we did that
because we wanted to know
if the game is actually working out there,
if everyone is looking for it,
if the players like it.
So we don't notice beforehand.
So before we don't get our game out in the market,
we can't really know if it will be successful.
So that's why we thought
of getting a minimum viable product first,
get it on the market and see if
anyone actually wants to play it.
>> Got you. How do you figure out
what that first set of things is?
You just pick and then just
keep testing it? Is that how it works.
>> Yes, so we wanted to
reflect the core gameplay mechanics first.
So we wanted to see if those are working because if
we had like a lot of content and
the cognitive mechanic is already flawed,
it wouldn't make any sense.
So, really just wanted to know if those are
working and so we decided to only focus on that.
So we had like a lot of things in
mind which we could add but we really
wanted to focus on
this core game mechanic first and
everything else could be added later.
>> Very interesting.
So, when you realize you get that right,
then, how do you kind of
pick the next set of features to add?
Like how do you figure that part out too?
>> Yeah. So once we
release our minimum viable product to the market,
so release it on Android and iOS,
we wanted to get like
user feedback very fast because we didn't want to
make a game for us as developers but we
wanted to make it for
the users or for the players out there.
So we were encouraging the players for sending us emails,
we were looking at the store reviews,
we also had social media channels set up.
So we wanted to try to get like lot of feedback
and then get the feedback
back into the game as fast as possible.
So that's why we decided to do
weekly updates and rolling
out the feedback as fast as possible.
>> Got you. So you're collecting
feedback from a lot of different channels.
Now, what technology do
you use first of all on
the client developer side of the world?
Like what do you use for that for the game?
>> So we are using Unity.
It's a game engine.
So we decided for this because it's like very accessible,
it's easy to learn and
we could make our fast prototype really quick,
that was quite easy and yeah,
that's why we decided for Unity.
We're using C-sharp as a coding language and
Visual Studio mostly for code editor and yeah,
that's basically what we used in to make our game.
>>Got you, okay. Yeah we love
Unity man. We also love C-sharp.
>> That's good.
>> So that's on the client side.
Now, you mentioned you also have
other server side technologies now.
What are you using on the server side for it?.
>> So, we're mostly using PlayFab.
So it's a back end, it's a service provider.
And what do you see there?
There are like predefined packages
which we can use which a lot of other games use as well.
So you can think of cloud,
say for example where players can sort of safe came
into cloud and load it to other devices.
Their leaderboards for example,
tournaments and the whole economy can be
built up in PlayFab as well.
That's the thing we decided to integrate to
get like cool new features out very fast.
>> Got. So you're using PlayFab and so PlayFab,
we just bought PlayFab, so.
>> Yeah, right.
>> Yeah I think you know this but hey, funny thing.
But PlayFab offers what
they call LiveOps services and so,
did you implement LiveOps from
the beginning or is that something that you added later?
>> So at the beginning we were
mostly focusing on the clients features.
So we added more content,
the players started requesting a lot of more content,
they want to drive more mines,
but at some point we
wanted to have something which is like,
we are calling like monthly something special,
very special, and that's why we decided
then to integrate like event mines.
So these are mines which are
scheduled like on a monthly basis
currently and have a very special theme.
For example we had with the St. Patrick's Day
event mine and, yeah,
so the players really love it because it's something
very special and they get like special rewards out of it,
so the engagement is really high.
>> Got you. And I noticed that too because I was
playing and all of a sudden the St.
Patrick's Day mine appeared.
How do you do that? Like it's,
like how do you make that happen?
>> Yeah. So basically we do
some preparations before the actual event mine starts.
So we are doing a new update,
reflect the graphics and the grid and stuff like
that but because we have to time
it directly we schedule the time on PlayFab basically.
So we can type in the dates
we want to have the event mine live,
and then it basically starts the countdown.
So we have like seven days
before it's counting down
and down and then the event mine starts.
So this is like completely on the server side.
>> Okay. So a lot of people
talk about LiveOps and you've talked about it.
How would you describe it
to somebody what LiveOps really is like?
>> Yeah. So we see live...
So we have like two things on how we see LiveOps.
So, we are doing weekly updates.
We basically see these all sorts of LiveOps operations.
So we are getting a new content.
We are adjusting features.
So we really see our game as a service basically.
And then now to things which will occur like on,
which we can configure on the server side.
So example, the event mines we have
several features like our expeditial feature where
we can adjust balancing on
the back end sides so we can react to,
layer feedback or to certain mind amount of players
through the back end side before doing the live updates.
>> So you can adjust parts of
the game by changing the server side but not,
and that just kind of goes down to the client side?
>> Yeah. So basically
if we do change this on the server side,
the players are affected immediately.
>> Interesting.
Okay. So you don't have to
always push out a new version of the game,
you can just feed it in from the server side.
>> Yeah, that's so.
>> So I can see some advantage.
What are some of the things that enables you to do?
I mean I know you've got
your event mines and things but has
that changed the model for your development basically?
>> Yes. So basically with that we...
So, releasing new update it's always a little wait.
Of course we optimized the step so that was less a wait.
But for example if we want to say,
okay, we want to start an event mine now,
we could do this by just tapping into
dates and to PlayFab and we would start now,
we preferred like doing like a whole new binary update,
releasing it on the app stores which takes time.
So with those LiveOps features
we can just get it out we try it now.
>> Got you. So that's very interesting.
So you can react very quickly to a lot of
users without having to like
do a major update, you're doing on the server side too?
>> Yeah.
>> That's super interesting.
Can you also tailor it to certain players?
Like some that are better than
others or you know preclude,
do you do that type of stuff too or?
>> So currently we are not doing this but
it's something we want to explore in the future.
So this could be very interesting
because there are different players out there,
there are like
the very hard core players which play like...
>> You mean like the good moons?
>> Yeah, like you, and
there are like more casual players.
So you can adjust the game like
to each segmentation of the player.
>> Got you.
>> Yeah.
>> So a different type of player maybe who spends
more or is faster or better you
could target towards those player?
>> Yes.
>> Oh that's great.
>> Yes. So for example one thing about event mines,
so when a new player starts
an event mine it takes him really long time,
he has to really has to play a lot,
but it already, player
will already play it like for
a very long time and progress in the game.
For him like event mine is much easier.
So what we could do there is basically target
different difficulties to the users on.
What's the progress in the game?
>> Oh, interesting, okay. So I
would obviously get the hardest one, right?
>> Yes.
>> That's super interesting.
Here's a game that is one of
the only ones that I
actually am willing to watch advertisements.
The way you've implement, that is genius.
If I come back and I'm going to collect some money,
I can get double the money if I watch
an ad and I'm watching ads like crazy.
Is that something you guys did deliberately?
>> Yes.
We're focusing on that a lot.
What we didn't want to do is
show ads in your face
even if you don't want it or have some banner ads.
Basically it's you who decides on watching an ad.
We want to offer some rewards for the ads.
Players really love to watch
those ads because they get more out of
the game and can progress
faster and don't have to pay any money.
>> Yes.
>> That's why we decided to do that on the video ads.
At the beginning we had only one ad network integrated
into the game and if players watch a lot of videos there,
they don't get anymore.
The players were really writing us hey,
I want to watch more videos.
>> I'm like, if
a video doesn't come up I go, oh-oh I'm quitting.
I'm going to come back and get a video.
>> So we decided to add more ad networks to actually
deliver a lot of videos to
the players and so players really love it.
>> Yes. I'll tell you its one of
the first games I'm willing to watch because
the reward for watching just to
quick 30 second is massive
in the game and it's totally worth it.
That's great. So let's
shift gears a little bit about
the kind of ongoing approach.
You started with a minimum product,
you put some LiveOps stuff in.
What's the kind of cadence of how
fast you release new features? Like how do you do that?
>> Yes. We're doing weekly updates.
>> Weekly?
>> Yeah, right. The reason
because we are doing this is because if
players write us and they want something
new or anything else,
they wand to fix it immediately,
or watch the feature immediately.
So we really try to get out a minimum feature
first by doing this weekly update and see
basically how the users react to it because
maybe we have like something different in
mind what the users actually want.
So by getting new updates very fast
we get to know if it's
the right thing what we're developing for the users
>> Got you. So it'll be a really small feature,
a part of a feature every week?
>> Yes, right.
>> Then you figure out if it's working?
>> Yes, right. And if it's working out,
we can expand this feature in the future as well.
>> Okay. When you release,
you're going for iOS and Android.
Do you target any one of
those first versus the other one?
>> So what we're doing is a staged roll-out.
We're doing this on Android
first because it's better supported.
What we're doing there is that we only
roll out a new version to a certain amount of
players to test actually if there are any technical bugs
or anything which doesn't work out well.
Then we already get some feedback from the users.
It would only affect a small user base first,
if we made some mistakes and we could roll it back again.
So that's why we are targeting
Android first to do this stage
roll-out and then we release
it fully on both platforms at the same time.
>> Got you. So a small user base,
you got to be able to react quickly.
You have something built into that to
analyze all that or you have
analytics built into the platform for that?
>> Yes. We have different things to measure those things.
We have like a crash reporting tool where we actually can
see technical issues very
fast even with a small player base.
Of course we have done
analytics where we can see if players are
engaging to certain features
or if overall the high level retention metrics,
for example are dropping or increasing.
We can already tell by
rolling out if a new feature could work out.
>> Great. You also
have Azure is part of that back end,
right? Is that right?
>> Yes.
>> What's kind of
general architecture of what that's used for?
So it's PlayFab part
of it but then you have Azure as well?
>> Yes. We're using PlayFab more for new features and
LiveOps and scheduling new event lines for example,
but we're using Azure for analytics.
What we do there is we send
certain events from the game to our platform,
for example, when a player does
a purchase or progresses in the game.
Then we store it in the database and visualize it from
the iTool and therefore we can look
at that data very quickly like almost [inaudible].
>> Got you. Okay. So that's how you can react so quickly.
You can see exactly what's going on.
>> Yeah.
>> Got you. Using Azure analytics there and
some visualization tools to analyze this.
For like 30 million users,
what's the scale of the amount
of events and things that are happening?
>> We are getting about 1 billion events per month.
>> One billion?
>> It's like really huge
and Azure helps us with that because we can scale
our database and texture
based on the demand we are having.
>> Yes, wow, that's massive. That's great.
So, you have Idle Miner Tycoon,
and what's the next game you're working on?
What's next for you guys?
>> We started on our second game on Factory Tycoon.
We had the same approach.
What we did there is only developing
it for two months to get a minimum viable product.
We released it into soft launch in end of last year.
Right now it looks really promising.
We had to get like good KPI,
good retention metrics and
we're going to release it end of April.
>> Got you. Okay. Are you doing anything
differently this time with that game?
This is the first one.
>> It's also an idle game,
so it's in the same-.
>> Just for a second, simply,
what is an idle game?
What's the style of that game?
>> Yes. Basically in
an idle game you are like more of a manager.
I can explain a little bit
about what Idle Miner Tycoon is.
So for Idle Miner Tycoon you have
your mining empire and
basically the game is working for you.
So you don't have to click on anything and
stuff like that but you're earning
more money and can re-spend it into the game.
You can level up your mine shafts,
you can buy new mines and progress into the game.
And also what's the crux behind this is that,
the game plays itself even
though you're not inside the game.
>> Yes.
>> So if you step out of
the game and coming back in an hour
later you will still get
the money which the game generated.
>> Yeah, I love that part because I'll
set my little miners in motion in my empire
and then I'll go away and I can just hear them
working inside my phone and then I
come back and I've got all this money.
It's pretty quick in and out.
I like the style of it.
So, with the new game it's kind of generally same style.
Are you starting with the LiveOps
this time or are you going to go start with
a minimal viable product?
Are you doing it differently this time at all?
>> Yeah. We integrated
PlayFab and all analytics tools from
the beginning because we already build up
the tech and we already have the knowledge with PlayFab,
so it was quite easy to get it in our second game.
That's why we decided already
integrate to measure retention
and have the ability to do LiveOps soon as well.
>> Got you. So the back end that you
created already can be reused for the next game?
>> Yes.
>> That's great.
That's another advantage I have. Got you.
Okay. One last question for you.
How are you enjoying GDC?
What do you think of this?
>> It's awesome man. So many people here,
it's really crowded and
having a lot of meetings, so it's really fun.
It is a great conference.
>> Yes. It's good to hear from you man.
Hey Oliver, thank you so much for coming on,
I like super enjoyed this.
I don't know if I've pointed out but
I've unlocked all my mines.
Hey man thanks for coming on.
I appreciate it. Okay, good. All right.
Thank you all for tuning in today.
This will be the last one of today,
so join us back again
tomorrow morning for some more. Thanks.