Hello, my name is Jeppe Kristensen and I will
be talking about our paper,
Personalized Game Difficulty Prediction using
Factorization Machines.
This is a collaboration between both the IT
University of Copenhagen and Aalto University
as well as Tactile Games.
The goal of this paper is to do individual
difficulty prediction. So imagine we have a
group of users or players and they have to
complete certain tasks but not all the
users have encountered all the tasks yet so
what we want to do is to estimate: how will
they specifically find this task instead of
just using the historical average of the
other users.
For this purpose we use Factorization
Machines and we validate our approach using
a case study from mobile puzzle game.
Factorization Machines are a matrix
factorization method where the interaction
between users and items is enabled through
a latent feature description.
So specifically for factorization machines
for example, the target Y here
can be described by some global bias,
the bias for each of the features
that you would typically have so
this could both be whether it's for a
single user, for a single item or maybe some
more descriptive features,
and then lastly the latent interaction term
here where we have some
interaction features V
and the second order interactions between
X1 and X2.
In order to validate our approach we use
data from the commercial game Lily's Garden
by Tactile Games. It's a mobile
puzzle game where you have to complete a
number of goals within a certain number of moves.
The game is not deterministic so the colours
that drop down and so on
depend on the random seed and thus
you cannot always be sure that one tactic works
in all iterations.
In this paper we consider the first 500
levels of the game, and in order to
operationalize difficulty we use the
attempts that people spend to complete
the level.
On the right you can see how the average
number of attempts changes over the course
of the first 500 levels,
where easier levels
require an average close to one attempt per complete,
and harder levels require up to
seven attempts per complete.
One thing to note is that the distribution
of attempts is very long tailed so you can
have, in the harder levels, players that spend
upwards of 30 attempts per complete.
We use data that span around six months in
this period here.
In order to create a training set for our model
we first use all the data
up until a given point, which is the
observed levels for all the players, and
then we take the data from the remaining
99% and all the levels that we have available.
We test our methods
on the remaining 1% of the
users after level 150.
What we see is that in order to beat our
baseline that consists of the average of
the other players in the training set,
we need around 20 to 30 observations
in order to beat that.
We also see that random forest, which is the
purple here,
fares better with fewer observations, but as
we include more and more data, it performs
worse than our Factorization Machine model.
Lastly we can also see that the effect of
including additional data, such as some
player features or level attributes,
helps the prediction of the Factorization
Machine.
In addition to investigating how many
observations of the players we need, we also
provide an interpretation of the model parameters.
In this case we consider the two factor
model which provides us with three
parameters to explain:
the variable biases, Wi,
and the two latent factors, V1 and V2.
For the variable bias, Wi, we first note that
for the levels, the average number of
attempts is strongly correlated with the
level bias.
This suggests that the level bias here
captures the average difficulty of the level.
For players, we note that the biases are centered
around zero and therefore captures some kind
of variation or small variation between the
players.
For the first latent factor, V1, we note
that for most of the levels the latent
factor is above zero. This suggests that it
captures some kind of intrinsic variability
of the level, which is supported by the
graph on the right.
It shows that the variation in attempts
increases compared to the mean of the
attempts as the latent factor increases.
Furthermore tutorial levels are clustered
to the left
at low values of the latent factor.
Common to many tutorials in the game is
that they are deterministic and use
specific random seeds to ensure similar
experiences.
For the players, the latent
factor instead captures some kind of skill
or their ability to deal with stochastic
elements.
The larger the absolute value of the latent
factor is, the more susceptible they are to
random elements of the game.
The sign then indicates whether
it increases or decreases the number
of expected attempts they will use.
For the second latent factor, V2, the
results are less clear. For both the levels
and the players the values are all centered
around zero, and on the graph to the right
we can see a clear dependence on both the
level number and the average number of
attempts on the level.
We therefore interpret the parameter as
some kind of time dependence
descriptor which for the
players captures their ability to learn
over time relative to the rest of the player base
on these levels.
Overall we find that Factorization Machines
provide an accurate and scalable method for
personalized predictions of the perceived difficulty.
The method performs better than the
baselines using either historical averages
or Random Forest especially once more
observations are included.
The method is also game-, task-, and domain
agnostic. In any problem where user-item
interactions can be described in
any multiplicative or divisive way,
Factorization Machines can be used to
capture these latent interactions for any
kind of regression target, such as time taken
or similar.
Lastly it's also possible to include
additional data which could be tags, labels
time, user features, task attributes, and so on.
However one thing that has not been
considered is how to deal with the
cold start problem, which is when there are no
observations of either the player or the levels
While additional data can help this issue,
future work can look into how to best
deal with this problem.
Thank you for your attention, and
unfortunately I couldn't be there in person
but I should be in the chat now to take
questions.