AI Powered BI for Games
“So often I’m asked to produce a dashboard but the request isn’t always clear, even after having a conversation with the person. This means that I may build something for them, it may miss the mark and we have to start over, or iterate upon it. What I find interesting here is 1) they may be able to find the answers on their own and 2) perhaps more importantly, they can get close to what they were looking for and we can use that as part of their request for something from my team.” - Data Leader at a AAA studio
Introduction
When we announced the next evolution to Databricks, The Data Intelligence Platform in November 2023, we shared plans to integrate machine learning, GenAI and other capabilities into our platform. With this we would further your productivity and the value you could generate from your data. Through this blog we’ll explore one of these features whose goal is to democratize the generation of data insight, AI/BI Genie.
A Genie space provides your users the ability to engage with, and explore, the data itself by creating a chat interface to your data. Instead of being limited to what a dashboard might show them, they can ask their own questions and dive deeper into details. You point it at a series of tables, the user asks questions of the data, the space interprets the question and presents results. With the space, users are able to explore their ideas as though they were working side-by-side with a data analyst. It can even turn the results into visualizations for the user. For a detailed view of Genie spaces, check out their documentation here.
In continuation we use a public World of Warcraft (WoW) dataset to create a Genie space, recreate a user journey and explore the value it can bring to a games company. When you see how easy it is to set up a Genie space, we encourage you to try it with one of your own datasets. It will be more meaningful and, as long as you are Unity Catalog enabled, it’ll be easier to set up than the sample space.
Creating a Genie Space
As a reminder, you need to be on Unity Catalog, or have the data sets you’re going to use in UC, for this to work. As of the time of this writing, Genie spaces is still in public preview so your first step will be to enable it from the workspace level Previews Page. Once enabled you will see “Genie” on the left side of your Databricks workspace. Click there and then “New” in the top right corner, give it a title, assign it a warehouse and add tables.
When creating a Genie space, and selecting the tables to include, think about the end user. Who is going to be asking questions? What types of questions are they going to ask? What tables might support those questions? You may include Silver and/or Gold tables for the domain in question. Obviously, try to avoid datasets completely disconnected from each other as it will negatively impact your results.
For this blog we are using a kaggle dataset that includes information about characters in WoW over a period of three years. The datasets include high level session information, character level progression, character class, zones they entered during a session and other related details like guild membership. As we explore this Genie space we thought through the lens of a game designer who is new to this capability and is interested in understanding character engagement across the open world.
Getting Started with the Genie Space
When you enter the space there’s a button that will analyze the datasets and provide you with some example questions you could answer with data included in this space. By default these are auto-generated by the Genie space based on the data sets included but you could add your own examples when creating the space. These prompts help a new user understand the types of things this space may be able to answer to help them get started. Your user can also ask the space, as we do in the next diagram, to describe the data it has access to. It will generate details about the tables, their columns and what it might all mean.
Interrogating and Iterating on Your Data
For this Genie space we are using a Kaggle dataset of WoW horde character data across a period of three years. This dataset’s tables are well connected and we imported all tables. We then experimented with the Genie space as if we were brand new to the capability, and were a game designer looking to learn more about the character experience across our game world.
Mentioned above, to start our effort we asked the space to tell us a bit about the tables themselves. We see that the space has information about character levels, different map zones, session information and details about the characters in the game including level, race, class and which zone they were in at a point in time. It also tells us that the char column, which represents characters in the game, and sessionIDs are the two core primary keys across these tables. To get used to the interface, we start with a simple question: “What’s the most commonly race first played by a player?” It returns an answer, but not quite the answer we were asking. Why is that? Because these tables don’t have playerIDs, just CharacterIDs. The space returns the closest thing that makes sense to it: the most commonly played race based on the number of characters.
This example shows us a few important things
- The model can handle questions even when not written well: “most commonly race” vs “what is the most commonly picked race…”
- The model will attempt to answer the question and find something that seems right: Character vs Player. This is a good, and bad, thing. The model won’t know that something wasn’t answered exactly right, so you’ve got to be paying attention.
- In addition to providing an answer, the model provides an explanation of what it returned to help with #2. “This query retrieves the race with the highest number of characters…” you’ll notice that it doesn’t actually say player in the explanation.
Now, just because Blood Elves are the most created character, it doesn’t mean that players are actually engaging with them. You might ask for a ranked list of all races by character count, or by time played. We didn’t dig deeper there instead choosing to dive deeper into engagement with Blood Elves by asking: What is the level distribution for blood elves?
This table is useful, and if you’re a numbers person you’ll immediately see that the numbers are dropping quickly as you go from level 1 to level 10. For this type of analysis a visualization might be easier to consume. After asking the space a question there’ll be a button that says “visualize.” When we do that here, we are provided this chart.
This is super helpful. We immediately see that there’s a lot of people creating a Blood Elf, but not leveling them up. If we had player data, we might take this as a signal to change the way we’re thinking about this. We might ask the space to show the top character class, based on play time, for each player to see if there’s preference toward a specific class. As we don’t have player data, we’ll dig deeper into this visualization instead.
There are bumps at 55, 58, 70 and 80. As a game designer for this title we’ll recognize: These were level cap changes due to new releases. This insight could become the basis for a re-engagement email campaign. “CHAR_NAME the CHAR_CLASS has more adventures ahead of it. Experience NEW_CONTENT on your way to the new level cap of 80, you’re only (LEVEL_CAP - CURR_LEVEL) away. Here is FREE_NEW_CONTENT to help you on your journey. You can earn a HIGH_TIER_CONTENT if you reach LEVEL_CAP by EVENT_TARGET_DATE.”
In Conclusion
This was just a short example of how a Genie space could help a game designer explore their data, find insight and then take action on it. We hope it has inspired you to try it on one of your datasets. This example focused on player engagement data but the same process and capabilities could be applied to all game domains including: marketing, campaign optimization, server operations, match outcomes and LiveOperations.
At the start we shared a quote from one studio and have included one from a AA console game maker, and a mobile studio:
- “A lot of the requests I receive are Adhoc, can you find this number for me. These requests end up iterative in nature because I’ll give them the answer and then they want to know the why behind the number. Looking at this tool I could put together a Genie space with data related to their question and give them the power to find the answer and then see the details behind it. Not only will this save my team’s time but it should also delight my end users.” - AA console game maker’s Data Analytics Director
- “I have end users who understand the data we are collecting really well, some of them know a bit of SQL, though they aren’t experts, but most of them don’t. These users, typically product managers, game designers or LiveOps teams want more access to data and the ability to find answers on their own. With this capability I could create a space focused on their domain and provide them a self service tool that will speed their ability to react to change and free my team up for bigger projects.” - Mobile game Director of Data Operations
With AI/BI Genie spaces you empower your teams to have a conversation with their data resulting in emergent insight, higher satisfaction from your internal customers and free your data teams to work on high value projects. This post shows how easy it is to create a Genie space. Create one with your own dataset, and learn something new about your players in the process.
If you’d like to learn more about Genie spaces, how to activate them and how to use them, check out the official documentation or reach out to your Databricks account team. For insight into additional games data and AI use cases, see our other Solution Accelerators and our Guide to Games Data and AI.