Social Infrastructure At Scale

Introducing Satori - Heroic Labs LiveOps

Alim

Alim Jaffer

15 Jun 2022

Satori blog logo

Today is an exciting day at Heroic Labs as we announce our newest product Satori, a LiveOps solution - deeply integrated with Nakama - dedicated to helping game studios of all sizes gain valuable insights into their player base, individualizing the player experience, and identifying actionable opportunities for growing their audience and revenue.

With Nakama our aim has been giving developers the tools to easily add rich, engaging social features to their gameplay. Studios such as Paradox Interactive, Lightheart Entertainment, Gram Games, and many more trust Nakama to power their games at scale for millions of players which generate millions in annual revenue.

Now with Satori - a Japanese Buddhist term for awakening, comprehension, and understanding - we focused on what comes next after building your game: capturing data about how users interact with your game, analyzing that data for meaningful insights and opportunities, and finally testing these various opportunities to see the impact on audience engagement and revenue.

In the same way Nakama has democratized backend game development since its release, the release of Satori brings LiveOps tools once available only to AAA studios to the developer community at large.

Before diving into what Satori is and the features it provides, it is important to establish what Satori is not. Like Nakama, Satori was designed to be a product and not another Service (SaaS) offering. It is available as part of our Heroic Cloud, our Private Cloud offering, and licensable for use in your own infrastructure. It is even available if you’re not using Nakama at all. This means that in any case, Satori is running on your dedicated hardware and you always maintain ownership and control over all your data.

Let’s get to know the features that will make up your user experience in Satori.

Event Capture

Using our lightweight provided client libraries, you can send events and their associated properties for ingestion and analysis in Satori. In addition, you can propagate events from Nakama automatically to have a full view of user activity and even receive events from any third-party systems you have in place.

All events are associated with an identity in Satori, and properties are attached to said identity. These (custom) properties, alongside computed and default properties, form an important backbone that allows you to really get to know your player and subject them to various experiments and enable features to match their personality.

Each game project in your portfolio will have specific event names and predefined events. All of these events remain available in their raw format for your desired retention period and, beyond that, are combined into historical views you can use for comparisons.

Identity Events

Timeline of captured events for an identity

For in-depth business analysis, all server data can be easily exported into your existing Data Lake, with high-performance data offloading processed in real-time. A variety of exporters (e.g. AWS Redshift, GCP BigQuery, Snowflake) are available at launch.

User Identities

Turning events into actionable insights for your targeted audience first requires identifying and understanding that audience. In Satori all events carry the user’s identity information, with the ability to continually enrich that identity profile as more events are captured.

User identities are not limited to the details captured in events, they can track and store dedicated properties outside of events. These properties are important tools for creating an audience definition. Satori includes a comprehensive set of default properties you can track right out-of-the-box, and gives you the ability to add custom properties tailored to understanding a meaningful metric specific to your game.

The totality of these events and properties are available in every identity’s behavior stream, where you can view all captured events for that identity, view and edit all properties, and view the audiences this identity belongs to, the experiments it is involved in, and any feature flags and remote configs it can receive.

Identity

View all property types and their values for an identity

Audiences

Using audiences enables you to segment all of your identities into subsets based upon any desired filter, whether as simple as age group and geographical region or as detailed as the group of identities that performed in-app purchases previously but have not played in the past week. All filters are ran against the custom properties, computed properties and default properties that the SDK projects.

You can use override rules to include or exclude any desired identities, making sure you target exactly who you want and no one else. Audiences can be created based on the result of a previous experiment or you can select a desired percentage of your users to use as a random test audience.

In addition to the audiences created in Satori, you can import read-only audiences from your existing, external business intelligence systems.

Identity

View and edit audience details and included identities

Experiments

Satori enables you to run experiments on your defined audience segments, giving each segment a different data variant - a new game mode, new feature, etc. - and track your defined goal metrics over a desired time window.

You have complete control over every aspect of the experimentation procedure, ensuring you get the precise data you are looking for. You define the audiences, as many as desired to participate in this experiment. You define the variants to be tested, again as many as desired. And you define the specific metrics to be tracked for this experiment.

When the experiment ends you can review all results and metrics, and get actionable recommendations on which variant and audience resulted in an improved player experience.

Creating Experiments

Creating a new experiment targeting desired audiences and metrics

Feature Flags

Satori provides a feature flag / remote configuration feature, simple to integrate with game clients, that gives you fine-grained control over when, how, and to who new features and functionality in your game are released.

You can use feature flags across your entire user base or target them to specific audiences. Test a new feature in a limited market before releasing globally or give your VIP users a custom game mode, you decide the best strategy based on experiment results and insights from captured events.

Feature Flag Details

Edit feature flag values and create new variants

Live Events Scheduler

The Live Events Scheduler in Satori enables you to define any type of event - tournaments, battle passes, special offers, even messages and push notifications - and run it for any defined audiences or your entire user base. Events are similar to experiments but differ in that they are meant to be recurring, such as a monthly battle pass or holiday offer.

Also similar to experiments, you can track any desired goal metrics for your live events (i.e. Return on Ad Spend) to identify which events are performing as desired and which could be improved (via further experiments).

Creating Live Events

Create live events for all audiences and metrics

At launch, Satori is available to our existing customer base and to interested studios with early access. See the Satori site for more details and contact Heroic Labs to learn how you can get started.