How to use Illuminate to Balance your Games

5 min read Mathew Jenkinson on Jul 1, 2024

PubNub’s latest product release, Illuminate, is a scalable decision-making tool that we have built to help game developers, product managers, and project managers build, iterate, and experiment within the PubNub platform. 

Designed with a great UI from the ground up, you can use Illuminate to help make decisions to drive a better gamer experience and accelerate monetization in real-time.

So what's game balancing, and how can you use it in real-time?

Game balance is a branch of game design that improves gameplay and user experience by balancing difficulty and fairness. Game balance consists of adjusting rewards, challenges, and/or elements of a game to create the intended player experience.

Game balance is generally understood as introducing fairness for the players. This includes;

  • Adjusting difficulty, 

  • Modifying win-loss conditions

  • Game states

  • Economy balancing

You can find more information on game balancing on Wikipedia.

Using game balancing in real-time can help keep players engaged, make new players feel welcome, and potentially monetize the gameplay. 

How can Illuminate help you keep your players engaged?

As mentioned, Illuminate is an in-the-moment decision-making tool.  To help keep our players engaged we will focus on new players, those who are new to the game and potentially need some help getting used to how the game is played. 

In this example, I have built an old-fashioned copy of asteroids written in JavaScript and hosted entirely on PubNub functions. You can find out more about PubNub functions at

First off, to set the scene. 

Imagine a new player joins your game and starts to play, they lose and are starting to get bored of the lack of progression. 

Via a publish, we can send a message from the game into PubNub that notifies Illuminate of the player’s progression and score, Illuminate makes some decisions based on predefined metrics and then issues a message back to that player offering them the option to buy three lives or watch a paid for promotion in exchange for getting two lives. 

Let's walk through the screens.

Use Illuminate to Balance your Games

The game starts as normal, but as you can see I’m really not a great player and died with just 70 points.

Use Illuminate to Balance your Games

To help me continue to keep playing, Illuminate received this score and calculated that I should be offered the opportunity to buy some lives or watch an advertisement to get some lives.

Use Illuminate to Balance your Games

Choosing to spend some money, I was able to buy some lives and quickly got back into the game.

Use Illuminate to Balance your Games

Going behind the scenes on Illuminate.

You can find Illuminate in your PubNub account portal -, under the “Optimize” heading.

Use Illuminate to Balance your Games

Our first stop here is to examine our Business Objects. Business Objects are the way to get data into Illuminate, they help us define what kind of data we need to capture and from where. 

You can define what data you want to track by adding data fields which can either be numerical or strings. 

If you need some help getting set up or understanding any of Illuminate’s setup, you can find the docs here:

How to balance a game requires knowledge of what you want to track and what you want to offer new players to keep them engaged. 

Such is the skill of Illuminate; without any coding, we can add, remove, or modify variables to hone and even tailor what we offer to different players. 

In this simple example, I chose to measure the score of the game, but you could easily add other data fields; examples here include; 

  • Is the player a guest, or do they have an account on your game platform

  • Total length of play 

  • Device type - web, mobile TV. 

  • Have they previously purchased something from you in past events or games?

Returning to my business objectives, let me show you the data fields I’m working with.

Use Illuminate to Balance your Games

Breaking this down:

Data fields: Values you can measure, add up, or use to segment data.

Metrics: The aggregation of your data fields, including any specified aggregation.

Decisions: A collection of conditions and actions. When conditions are satisfied, the corresponding action is triggered. 

Dashboards: A collection of real-time charts that visualize your metrics and decisions.

In my example, one measure I’m using is the client asking Illuminate for help when the score is below 500 points. 

I then mapped this to a decision: "If a player has a score below 500 points, offer them the opportunity to purchase lives or watch an ad.”

Once the player selects if they want to watch an advert or purchase any lives, this is fed back as a metric which is then displayed on my dashboard.

Use Illuminate to Balance your Games

Here's a simplified view of my game-balancing dashboard. You can see that we are tracking which players got less than 500 points and which players chose to pay for their lives instead of watching an advert. 

Again, the scope for expanding the complexity here is very wide;

  • Would more players pay for extra lives if the lives were cheap(er)?

  • Would they watch a 30-second advert or a 3-minute one?

Vs. the Traditional Approach?

Strategy games? Online games? Balancing the game experience and game mechanics for all players can be a lengthy process. Before launch, you would playtest the various game elements, craft the introductory tutorial and, based on player behavior, ensure a progressive level design to both maximize playtime and prevent the game from being too easy. After launch, you can monitor player forums, check analytics for player retention figures and player actions, and then release patches to address any balance issues... and hopefully not nerf your game in the process!

This can be a very long analysis and release cycle, and this is where Illuminate can help. You can make real-time decisions regardless of your game type: You might have a multiplayer game like an FPS or an RPG, a single-player fighting game on Steam, or a battle arena like League of Legends. As long as the video game is online, where player balance can be affected by taking action in the moment, Illuminate can enhance the player experience - I asked the PM, and they say that tabletop board games and card games are not yet on the roadmap :(

Wrap up 

Using PubNub’s Illuminate to help balance your game is a fast, code-free way to introduce instant decision-making reactions and tools into your app, making your player experience excel. 

To learn more about creating your first game with real-time actions, check out our Illuminate for gaming page and our documentation. Our Support team can also help you with guidelines and recommendations.  Hopefully, we will see you at the next GDC conference, where we would love to hear what you have built with PubNub!