Today I learned that there's actualy research in playtesting video games using deep learning (paper).
What's interesting is that the paper is actually written by actual employees from actual video game companies. But also that it decided to explore these techniques for Candy Crush Saga.
The paper uses a deep learning system that combines convolutional layers with a dense output.
But there's something interesting about that output layer, which encodes possible moves. Candy crush is a swiping game where you can swipe candy in order to make point-worthy combos. So all the possible swiped directions are an action that needs to be encoded.
Once the network is trained, it is used to make predictions which are compared against human players.
Once everything is trained you're left with a system that can score new levels. The paper is a bit vague on the actual numbers, but they do show there's a positive correlation between human success rate and the success rate of the artificial players.
The paper concludes by mentioning that they actually use this approach in real life, which I found pretty interesting.
In CCS we can now estimate the difficulty of a new level in less than a minute and can easily scale the solution at a low cost. This compares to the previous 7 days needed with human playtesting on each new episode of 15 levels. This completely changes the level design process where level designers have now more freedom to iterate on the design and focus more on innovation and creativity than before. Internally, we have also tried this approach on a game in development using rather limited playtest data. Nevertheless, we were able to train a decent agent, albeit much noisier than in CCS and CCSS, which has helped a lot with the iterative process of game development. Since we ran the experiments presented in this paper we have used the CNN agent for more than a year, for more than 1,000 new levels in CCS. The prediction accuracy has been stable and when new game features have been presented it has been easy to retrain the agent to learn the new feature and continue predicting the difficulty.