There was a special track of talks and presentations dedicated to Data Science and Machine Learning for the first time ever at this year’s annual Ubisoft Developer Conference – a program that enables our teams share their knowledge and learnings with each other. These specific talks explored the recent advancements in these areas, and showcased ways that Data Science and Machine learning can enrich Ubisoft games for players and unlock new opportunities for the people who make them.
But what is machine learning? In part one of a two part series, we spoke with Olivier Pomarez, development director at La Forge, and Siva Veloumourougane, lead data scientist from the Player Analytics team, to get a primer on this ever-evolving facet of game development and how work from both the La Forge and Players Analytics teams empowers our development studios.
Before we get into machine learning and data science and how they were represented at the Ubisoft Developers conference, can you start by defining these phrases in layman’s terms?
Olivier Pomarez: It's a bit like speaking about family. Data science is the name, and machine learning is one offspring of that family. Both are using data, and data science is a set of techniques that can read and leverage data. It goes from a very simple algorithm – like linear regression – which is the basic 101 technique that you're using when you want to analyze the relationship between an X and a Y. It’s the simplest form of statistics you can do regarding data science.
Then, on the other end of the spectrum, you have machine learning, and what it does is that it looks at this data and says, “You know what, I'm going to learn this data, and then I'm going to be able to predict.” In other words, I have pairs of Xs and Ys, and I will learn from those pairs of Xs and Ys how to predict, for any kind of X you throw at me, a Y.
So, if I take pictures of cats, and pictures of dogs, these are my Xs, and my Y would be “Is this a cat or a dog?” And if you think about it, it's very hard to describe what a picture of a cat looks like. There are so many different cats, it's impossible. Same for dogs. Machine learning learns to recognize dogs and cats, so then if you show it a new picture of a cat or a dog, it will be able to predict and say, “OK, this is a cat,” or “this is a dog.” Predicting dogs and cats is not very relevant to the videogame industry, I would say, but if you extrapolate this kind of approach to, for instance, the personalization of the player, then you know something about how our players are playing and what they would be interested in playing next.
For instance, in Just Dance, you can actually gather a lot of player data about how they're enjoying the game, and then you can actually look at the data and see that this is not just describing what content is being consumed, it's something that I can actually use to predict the next song you are going to like.
Something special is happening in your field at UDC this year: there’s a dedicated track for Data Science and Machine Learning. What is the significance of having these topics elevated to the track level?
Siva Veloumourougane: It shows that they have matured and now been adopted by Ubisoft as a true component of the development and creation process. We are putting a lot of effort into accelerating this adoption because we are in a specific situation where everything has evolved to be bigger. Our games are bigger in terms of everything — world, content, depth — but that doesn't imply that we're going to linearly add more people on the production team, of course. It implies that, in addition to the work of our teams, those techniques could help us to automate and ease some production processes, such as automatic testing, by using a player-like bot to anticipate technical performance issues or balancing issues. Then, on the other hand, it brings us new techniques to continuously improve the way we tailor the gaming experience according to each player’s tastes. It has been proved already that machine learning and data science can automatically highlight or even build the content that the player may like according to their unique motivation and context.
Can you give us a sense of the evolution of machine learning in the gaming industry? When did Ubisoft start down the path that led us here with regards to these techniques?
OP: If you look at the past, those initiatives of data gathering started up approximately 15 years ago, when we started paying a lot more attention to the possibilities it offered. But the thing is that the progress in machine learning, in terms of the tools, of the knowledge, of the know-how, is recent. Everything started around 2011-2012. Even if academically you had some publications in 2004-2005, it really picked up for industry application around [2011-2012].
It took us a lot of time to establish the “gathering” aspect of data, being able to collect all that data and analyze it, do some statistical analysis and fully understand how it could help us improve things. That was the goal at the beginning, [questions like] how many players are playing with the subtitles on?
There’s a lot of different learnings you can take away from that data, but as machine learning picked up with academic contributions in terms of how to actually do it, and what it can do, and so on, it became something that we could actually apply and develop. So [like I said before], one could say that machine learning is the offspring of data science.
SP: We can say it is the latest evolution of data science. We started from statistics, which are great methods, and we are still using them for a lot of things. And then you add what we call data mining, which were slightly more-evolved methods, and are very close to what we call machine learning today.
For me, machine learning is the evolution of data mining, and the particular idea of machine learning today evolved as a result of improvements that stem from two things: on one hand, universities and laboratories have improved the mathematical aspect, and on the other hand, the increased GPU power available for complex computation. Highly powerful hardware made more affordable and widespread for more companies to use also helped to switch from data mining to machine learning. As a snowball effect, we saw more and more people who starting in the field, getting specialized. Someone at some point threw the snowball, and little by little everybody gathered around it and contributed with their input, [both] hardware and mathematical.
It's very exciting, because it's still evolving so fast. For each topic around machine learning – let's say image classification or reinforcement learning for instance–, there are new breakthroughs every month.
OP: I would say every Monday morning.
SP: Yeah, on some topics it’s almost every Monday. What you can't do with it today may not be true next Monday.
Can you give us an example of a way Ubisoft is using machine learning now?
OP: One thing that we have applied machine learning to is to compute how risky your change list is. In other words, to predict the risk of damaging your code when you add changes to it: it’s a solution called Commit Assistant. Concretely, when a programmer is going to contribute lines of code, Commit Assistant is reviewing what you’re doing by, for instance, making sure you're not breaking a build, or by running some tests to make sure that your changes have not introduced a bug, a regression, and so on.
This is all good, and this can be automated, but there was something missing: How do you judge if these changes are particularly risky? It depends on many different parameters, like, for instance, the time of the day; believe it or not, if you’re making changes to your code just before lunch, you have a higher chance of introducing a bug. [laughs] This is something that you're learning through data science analysis!
It also depends on the number of dependencies the area of the source code you are affecting with your change, the number of lines, the number of systems that are being touched; the reviewer who has reviewed your code also has an impact. It was based on machine learning and the 10 years of data that we had on programmers submitting code and bugs and fixes, and now it's been deployed to maybe 30-40 different productions
It's diminishing the number of bugs we are introducing, and that's the beauty of this: less time focusing on debugging, and more time on feature development, which is a welcomed outcome for programmers that consequently helps us bring more qualitative content to our players.
Is there anything else you think is important for others to understand about the way Ubisoft uses machine learning?
OP: Sometimes people will perceive artificial intelligence and machine learning as a silver bullet to solve all production problems. [The reality is that] as you are progressing and helping the production, you come to understand what [machine learning] can do for them and how to integrate that into in their pipeline. Then, the production team takes that and tames it and then they do wonderful things afterward that we could not think about before. Our goal, as machine learning and data science experts, is to help our development teams make the most of the cutting-edge technology and techniques available today and, ultimately, they are the ones who decide how to apply it in the proper way.
What were you hoping people would get out of the Data Science & Machine Learning track at UDC?
OP: First, we wanted our colleagues from all around the world to have a good overview about what's happening inside [Ubisoft] and outside. It's important to share that knowledge internally so that everyone in production knows what’s feasible, and where we stand compared to the rest of the industry.
Even though we have been talking about machine learning techniques in general, what’s more important was to help production teams better picture what machine learning can do for them, and the various cases in which it can be applied. With Siva, we’ve paid a lot of attention to making sure that all the talks in this dedicated track, all the presentations, were really focusing on what it brings to developers and Ubisoft as a whole — how machine learning can help content creators, ease the production, help tailor the player experience, and much more in the coming future.
Check back soon for the second part of our Machine Learning series.