5 Ways To Leverage Player Chat Data

5 min read Eric Grossman on Mar 27, 2020
5 Ways To Leverage Player Chat Data.jpg

Data is king

When it comes to staying competitive in the gaming marketplace, launching your game is just the beginning. Players expect games to improve over time, offer new content, and evolve.

Keeping track of player engagement, retention, and conversions means monitoring player activity over time. Putting those stats to work means understanding the context around them:

  • Where are players spending their time?

  • What gameplay activities drive conversions?

  • What rewards keep players coming back? 

Capturing these data points requires telemetry, code that reports on in-game events or player properties like the device and OS they use to play your game. Telemetry can get pretty granular, but it can be limiting.

Each data-capture point needs to be individually architected and implemented, meaning that the data you collect, and the picture you build of your players, needs to be precisely planned ahead of time. Adding new telemetry later requires digging into your game code.

In-game chat offers an avenue to gain deeper insights into player activity, without significant ops overhead. With filtering, augmentation, and aggregation techniques, you can consume and leverage large volumes of chat data across your game. And, because you’re acting on a single stream of data, you can more flexibly update how you consume and act on it. 

In concert with telemetry, In-game chat data will allow you to improve your community, solve player frustrations, grow your player-base, and level up your live Ops. It’s a brave new world, so let’s jump in: 

1. Find (and ban) bad actors

Trolls or bad actors can swiftly ruin any player community. Meanwhile, family-friendly titles need to guard against profanity as a matter of survival.

Thankfully, machine learning has led to the development of easy-to-use profanity filter APIs that integrate seamlessly into in-game chat to censor foul language and filter abusive messages.

Beyond simple censoring, the best profanity filters implement an understanding of a player’s reputation. Using this metric, you can go one step further than blocking abusive chatter.

Instead, you can aggregate records of a player’s interactions with others to determine whether that player is a true bad actor, and trigger an automated response based on your determination. Auto-ban trolls, relieve players grief, and save on moderation costs!

It may go without saying, but blocking trolls and removing bad-actors will allow your community to flourish as a positive place. This is great on its own. But, as a bonus, it’s just one more thing that will help players build a positive relationship with your game.

2. Understand player frustrations in context 

One way or another, your players will run into friction while playing your game.

When they encounter bugs, lose matches, or get stuck, players will post to your subreddit, fill out feedback forms, or leave angry reviews. With all these options, the conversation about your game will happen anywhere and everywhere.

But, as with any feedback, the words here only tell half the story. To truly diagnose, understand, and act on feedback, you need context, and that’s where in-game chat comes in. 

Using sentiment analysis on chat, in concert with player telemetry, you’ll be able to see precisely where and when players encounter pain points. If you’re looking to fine-tune your balance, look to where players are asking their peers for help, or, in competitive games, which match-ups prompt complaints about the meta.

Using data in this way lets you turn venting players into a resource to improve the game, and ultimately, each player’s experience. Then, as you implement fixes, map player satisfaction over time to see how players respond to your fixes. 

3. Deliver delight to community stars

Surprise and delight are two well-known ways to keep loyal players interested in your game, and mechanisms like daily log-in rewards have become commonplace. Chat data will let you discover more about your players’ preferences, so you can stay one step ahead, finding unexpected ways to gift them something they’ll love without extensive live-ops overhead. 

Specifically, you may want to reward players who strengthen your player community. The flip-side of detecting bad actors is finding (and rewarding) players who bring joy to others. Through chat data, you can see who plays well with others, how often players participate in team activities, and how they interact with peers.

Combine this with in-game performance stats to build player reputations, and allow all this good behavior to trigger in-game celebrations, special offers, and rewards. Community-minded gamers are a valuable resource. Rewarding community stars keeps them engaged, amplifies their positive influence on others, and promotes good vibes all around.  

4. Clear the air with language translation

Most of today’s chart-topping games have players spread across the globe, and offer ample opportunities for players to play with those from other countries.

Yet, even if you’ve localized UI text, it’s difficult, if not impossible, to make sure players from different countries can easily and freely communicate through text.

As with profanity filtering, the growth of ML-assisted technologies has made it easy to implement world-class, AI-powered translation into in-game chat. IBM Watson’s Translation API, Amazon Translate, and Microsoft Translator all easily hook in to any well-designed chat app.

Implementing these will let players interact seamlessly, worldwide, no matter what language they speak. On top of bringing your players together, this means less stress, minimal localization costs, and easier rollout to new markets around the globe. 

5. Understand your community and level-up live ops 

Players love when the game developer takes an active role in the community, especially when it comes to making in-app purchases. This is especially true when it comes to live events and offerings. As games evolve into services across mobile, console, and PC, developers have broadly embraced live-ops as a way to inject content into their titles, keep the game fresh, and respond to the needs of their players.

But, as always, players are voracious, excited, and opinionated. If you’re rolling out fresh characters, offering interesting rewards, or testing time-limited events, traditional engagement stats aren’t always enough to know how your experiments were received.

Using chat data, sentiment analysis, and telemetry, you can get a fine-grained understanding of players’ take on your live content. Build a detailed picture of what your players are reacting to, and how, and roll these insights into future plans. The freshest games survive, and your players will thank you.


Visibility into player activity is invaluable as a resource to improve your game. Traditionally, a specific, highly-orchestrated approach to telemetry would be your only option for gathering deep player insights.

But, with in-game chat, you have access to a trove of dynamic, detailed player interactions. When it comes to improving your game, new technology makes it easy to filter, augment, aggregate, and ultimately analyze player chat data to gain creative insights into player behavior. 

Even though apps like Discord offer custom chatbot integrations that can do some of these things, you’re best off implementing chat directly inside your game. In-game chat is the only way to reliably access all this data in one place.

Without in-app chat, these conversations can happen on your official server, but they will also take place on far-flung message boards, in private chat rooms, and manifest in reviews or, simply, silent churn.

With in-game chat, you give yourself a treasure trove of data that lets you improve your player community, get a detailed picture of player pain points, and make your game stand out from the crowd by surprising and delighting players in dynamic ways.

More from PubNub

Build an IBM Watson Language Translator Chat App

IBM Watson has a variety of innovative APIs that allow you to build cognitive capabilities into your applications, powering language, speech, vision, and insights. Essentially, it upgrades your app in order to do some pretty amazing things with your structured and unstructured data. IBM Watson’s suite of APIs plays wonderfully with PubNub Data Streams in our BLOCKS Catalog, allowing you to build cognition into your real-time data streams, processing inputs on-the-fly, and returning an output based on the work of Watson’s APIs. In this tutorial we’ll build a multilingual chat app and utilize the IBM Watson Language Translator BLOCK, which translates messages in near real-time from one language to another. With 11 different languages available, you’ve got a powerful, robust language translator to translate messages as they’re sent and received. Our result will look something like this: Getting Started with IBM Watson on Bluemix You’ll first need a PubNub account if you don’t have one. From there, go to your PubNub Admin Dashboard for your unique publish and subscribe keys (you’ll need them in a bit!). The next thing you’ll need is a Bluemix account to take advantage of the Watson APIs. Step 1: Go to the Bluemix signup form. Step 2: Go to the IBM Watson Language Translator API page and add it to your service dashboard. Step 3: Go to the service credentials pane of the service instance you just created and make note of the username and password. Setting up the BLOCK Next, we’ll set up PubNub BLOCKS to get your code running in the network! This is where all the near real-time translation will happen. Step 1: Go to the application instance on the PubNub Admin Dashboard. Step 2: Create a new BLOCK. Step 3: Paste in the BLOCK code from the next section and update the credentials with the Watson credentials from the previous steps above. Step 4: Start the BLOCK, and test it using the “publish message” button and payload on the left-hand side of the screen. That’s all it takes to create your serverless code running in the cloud! Diving into the Code – the BLOCK You’ll want to grab the 40 lines of BLOCK JavaScript and save them to a file called pubnub_watson_translate.js. It’s available as a Gist on GitHub for your convenience. First up, we declare our dependencies: console (for debugging), xhr (for HTTP requests), store (for Key-Value storage), query (for query string encoding),

Content Moderation & Filtering for Real-time Messaging.jpg

Content Moderation and Filtering for Real-time Messaging

Good News! We’ve launched an all new Chat Resource Center. We recommend checking out our new Chat Resource Center, which includes overviews, tutorials, and design patterns for building and deploying mobile and web chat. Take me to the Chat Resource Center → The Internet is an amazing place full of incredible information and knowledge. Unfortunately, it’s also full of trolls who can make life hard for your users. That’s why Community Sift created Sift Ninja. It’s an API to scan chat threads and forum comments for toxic and abusive language. It can identify the topic, measure severity, and moderate based on your own criteria. And with PubNub BLOCKS, now you add Sift Ninja moderation to your own real-time applications. The Sift Ninja block lets you build this functionality into your PubNub Data Streams, allowing you to monitor and filter unmoderated content as the data is streamed. For example, if you have a chat app or a public forum, you can automatically moderate and filter published messages before it reaches end users. Getting Started with Sift Ninja Content Moderation You need to get your own free Sift Ninja account. After you create your account, log in and click on the menu bar icon in the upper right and choose ‘add channel’, then add a new ‘PubNub BLOCK’ channel. Give the new channel a name something like ‘pubnub_block’, then click ‘install now’ to install the block. The next screen will list your credentials. Also, I’m assuming you already have a PubNub account, but if you don’t you will need to sign up for your free PubNub account. It takes just a moment, and yes it really is completely free. In a different tab, go to the Sift Ninja block in the BLOCKS Catalog and click on the ‘try it now’ link then follow the prompts to create a fork of the block into your own account. Now edit the block code to put in your account name, channel name, and api key where indicated at the top. Save the code and start your block. Then press the ‘publish’ button in the lower left to publish a test message with the text “Hello, Ninja! This is a vulgar-severe phrase.” You will now see an analysis of the message in the BLOCKS console indicating it is a vulgar severe phrase. You can try typing in a different phrase that has actual vulgar messages. Now

5 Essential Features for In-Game Chat Players Will Love.jpg

5 Essential Features for In-Game Chat Players Will Love

When it comes to in-game chat, players have expectations based on their everyday experiences with chat apps. Here are five standard features to make in-game chat your players will love to use.