FEATURE DEEP DIVE: Using RallyHere to Create Battle Passes and Other In-Game Progression and Reward Systems

Maintaining player engagement and motivation is essential for a successful live service game. One of the most effective ways to achieve this is through well-structured progression and rewarded engagement systems, such as Battle Passes, Daily Login Rewards, Character/Player Mastery Paths, Limited Time Events, Quests/Contracts and other similar systems that reward players for their achievements or time in the game. Such systems can also be effective ways to monetize player engagement if “Premium” tracks are added to the progression system or if progression is gated or sped through in-game purchases. RallyHere offers robust tools to create and manage these systems seamlessly. In this blog post, we’ll explore how to use RallyHere to create Battle Passes and other progression systems to keep your players returning for more.

Key Terms

Item: Central to the inventory system are items, it represents a specific type of virtual good or asset that can be part of a player’s inventory or state. Items are the basic units in the inventory system, characterized by their unique identifiers and properties. Items serve as the foundation upon which games can build their unique mechanics, economies, and player interactions.

Inventory: List of records of items that the player owns, their quantity, and additional game specific metadata.

Loot: Configuration for how to add and/or modify a single Inventory record for a player.

Vendor: Is a bundle of loot to grant to a player. A vendor and its loot contains “recipe” logic, such as checking to see if the player owns the premium battle pass before granting them premium rewards.

XP Table: Defines the thresholds for different progression levels. Your game can have as many XP Tables as you need to manage all the various progression systems you design into your game.

Level Vendor: Each item can reference a vendor where the loot is treated as progression rewards at various levels. For example, “unlock a skin at level 5” and “unlock an avatar at level 10”.

Sort Order: The sequence in which Loot is fulfilled within each vendor, when the entire vendor is being granted to a player.

Flexibility of RallyHere’s Progression System

RallyHere’s progression system is highly flexible and can be used to drive innumerable progression and reward systems in your game, so you can keep your game constantly fresh and always ensure your players have new things to achieve in the game. This includes Battle Passes, can be extended to many other types of progression systems.

This versatility allows developers to create engaging and rewarding experiences tailored to their game’s unique needs.

Rogue Company Daily Login Rewards

Daily login rewards are a simple yet effective way to keep players returning to the game. By setting up a progression system that grants rewards based on consecutive daily logins, players are encouraged to log in regularly to claim their rewards.

SMITE 2’s Ascension Pass system to reward mastery for each god in the game

Games like Titan Forge Games’ SMITE use character mastery progression to reward players for mastering specific characters. Players earn XP for using a character in matches, and upon reaching certain XP thresholds, they achieve new mastery levels, unlocking exclusive rewards such as skins, emotes, and other cosmetics.

Seasonal events or limited-time events can be driven by RallyHere’s progression system. Players can earn points or XP by participating in event-specific activities, unlocking rewards as they hit predefined milestones throughout the event period. Consider, for example, a Halloween themed event that grants a Pumpkin currency for activities achieved in the game (such as completing special event-driven quests), then a special store where you can spend your Pumpkins for rewards.

Player Quests, Contracts and Other Similar Systems can be used to incent players to achieve certain goals inside the game by tracking their progress against those goals and rewarding them for completion.

There are countless other ways to create special reward paths and event structures using RallyHere!

Using RallyHere to create and manage progression and reward systems can significantly enhance player engagement and retention. By providing clear goals and rewarding players for their progress, you create a more immersive and satisfying gaming experience. Whether you’re offering free, premium, or a combination of both, RallyHere’s flexible tools make it easy to set up and manage these systems effectively. Start experimenting with different configurations and tailor the experience to your game’s unique design to keep your players motivated and coming back for more.

Understanding the Configuration Hierarchy and Flexibility of the RallyHere System

Before we dive into how progression systems are set up in RallyHere, we should first start with the structure. This starts by understanding the basics of a player’s inventory and state.

Player Inventory and Items

In RallyHere, a player’s inventory contains items, its respective quantity, and specific game metadata. An item in RallyHere is a virtual good or asset given to a player, serving as the base entity in the system.

Items are added to players’ inventories through the Loot System. Loot in RallyHere is a configuration that modifies a player’s inventory by adding items, changing quantities, or removing items. To add an item to a player’s inventory, the item must first be created and then included in a loot configuration, for a given vendor, which specifies how and how many of the item to give to the player.

Vendors and Level Vendors

Now that we understand the basics of a player’s inventory and how to give an item to a player via RallyHere’s loot system, let’s talk about RallyHere’s rich player reward system. This starts with understanding “vendors”. A vendor in RallyHere is a bundle of loot that can be granted to a player. The application of a vendor can be applied in many ways: for example, there may be a need to group similar loot together for easier lookup when granting specific types of loot to a player such as items being sold in the in-game store or giving XP or rewards when completing specific tasks. For loot to be given to a player, it needs to be included in an active vendor.

Vendors are very versatile. One of the usages of vendors is when it is used as a level vendor. This is a property that can be set on an item. Items do not necessarily have to be something that the player can see. An example of this is an item to track progression or XP. Items that track XP or Progression are also where level vendors are used. Level vendors allow the system to reward players when reaching certain milestones such as getting a cosmetic item for reaching 1000 XP in the game and then getting another reward when the player reaches 2000 XP and so on. There are a couple of components that are required to make this work, one is using the sort order of the loot on a vendor and the other is setting that vendor as the level vendor on the item that will be used to track progression. When the quantity for this item for a player is updated, the system sees that there is a level vendor associated with the item. The system will check each time the quantity is updated if the player needs to be rewarded. It does this by checking the quantity on the item is equal to or greater than the sort order of the loot. When that condition is true, the loot is processed. The system is smart enough to make sure not to give the loot again if it is given to the player. There is one exception to this rule. That is when the sort order of 0 is used. This is because when a sort order of 0 is specified, this loot will always be processed. This allows for the use case to always grant a player something such as additional XP along with the reward.

Sub-Vendors and Types

Vendors are powerful because they can be set as a sub-vendor on a loot record. When specifying a sub-vendor on a loot record, the system processes each loot record in the vendor when granted to the player. The processing method depends on the “type” property set on the sub-vendor. Vendors can be “Recipe” (selected by default) or “Randomly Sampled.”

Sub-vendors of type **“Recipe”**are straightforward. When a loot is granted that references a sub-vendor that is of type recipe, each loot in the vendor is processed in by the sort order on the loot, like following a recipe. A simple use case is giving a player XP and an item for completing a task. A more complex use case is checking if a player has something before granting a reward, like premium rewards.

Sub-vendors of type “Randomly Sampled” randomly give an item to the player based on the loot configured in the vendor and their drop weights. This is useful for implementing random drops or opening a chest that gives a random item.

XP Tables and Progression

Level vendors reward players based on reaching certain XP milestones. Many games reward players based on levels, such as level 1, 2, 3, etc. This is where XP tables come into play. XP tables tell the system how to translate XP/progression to levels. RallyHere doesn’t limit the number of XP tables a game can have, allowing for multiple progression lines and leveling systems. XP tables are used with level vendors and are set on the item tracking XP/progression. When an XP table and level vendor are both set on an item, the system changes how it rewards players. The sort order of the loot record on the level vendor is based on the levels defined in the XP table, not the quantity of the progression item. This allows games to reward players for reaching specific levels, like level 1, 2, 5, etc.

Understanding Progression Systems

What is a Progression System?

A progression system is a game design component that tracks players’ advancement through various activities, such as story progression, events, or achievements. These systems acknowledge players’ accomplishments and reward them for reaching specific milestones. In RallyHere, progression is managed using XP Tables, Level Vendors, and Items that track player progress.

Creating a Progression System in RallyHere

RallyHere’s progression consists of 3-4 pieces, an item for tracking progression, a level vendor to give rewards to a player which may contain loot that have sub-vendors configured, a vendor to give XP, and optionally, an XP Table.

Before configuring progressing in RallyHere, understanding how a player will be rewarded is key. This will determine if an XP Table is needed or not. In the event a player is rewarded when they reach a certain XP, then RallyHere does not require an XP table to be configured. However, if a player is rewarded for reaching a certain level, then an XP Table is required as this will tell the system how to translate a player’s XP to level.

Here is a simple walk through on setting up a basic progression system, assuming that players will be rewarded when they reach a certain level.

Define Your XP Table

As mentioned above, XP tables translate XP to levels. To define an XP table in RallyHere, all that is needed is the name and the thresholds for each level. The level is implicitly implied in ascending order. Meaning smallest XP threshold to highest. This is important because if at a later time, a new threshold is needed and it is in between levels, the system will automatically insert the threshold in the correct order.

Configuring a Level Vendor

A Level Vendor is pivotal in managing rewards at various stages of a progression system (such as a reward grant for each Battle Pass level, as an example).

Initially, a Level Vendor is configured as a standard vendor with a name, description, and the type of “recipe.” Loot records that specify the rewards players will receive are then added. A level vendor is unique from other vendors, however, in its use of the ‘sort order’ property on each loot record. The ‘sort order’ determines at which level the player receives each reward.

When a progression item is configured with both an XP table and a Level Vendor, the sort order must match the level at which the player should be rewarded. For instance, if a player is to receive a rare skin at level 5, the sort order on the loot record must be set to 5. RallyHere also allows for the consistent granting of additional loot alongside the primary reward. For example, if bonus XP is to be granted alongside the rare skin at level 5, the bonus XP loot should have a sort order of 0, while the rare skin loot should have a sort order of 5. The sort order of 0 is a special case where any loot with this sort order is granted every time a reward is given. As a side note, if the progression item does not have an XP table, the sort order must be set to the XP threshold at which the reward needs to be given.This setup ensures that players are appropriately rewarded at each level, enhancing the overall gaming experience.

Create an Item to Track Progression

Now that the XP table and level vendor are created, the next step is to create the item that will track player progression. This item’s definition is unique because it links the item to the XP table and level vendor. By associating the XP table with this item, the system will automatically determine a player’s level based on their accrued XP. Consequently, the system will know what rewards to grant the player at various levels based on the linked level vendor.

If an XP table is not set, the system will grant rewards based on the quantity of this item the player possesses and the sort order set on the level vendor, which should be organized by XP threshold. Creating the progression-tracking item in RallyHere is straightforward. You only need to provide a name, description, set the type to “unit,” and configure the level vendor and optionally the XP table.

Once the item is created, granting it follows the same flow as granting other items to players. A vendor must be created, or an existing one can be used, and the loot record to give the item must be added to that vendor. Depending on the game flow, the progression item can be given when the user logs in, something they claim within the game, or automatically given as part of an end of match/campaign mechanism when granting the player XP. RallyHere’s is smart to know that you’re granting a player XP and if the player doesn’t have the item, to automatically create the record and update the quantity accordingly.

Example: Implementing a Battle Pass

What is a Battle Pass?

A Battle Pass is a progression-based reward system designed to enhance player engagement. It offers a structured path where players earn rewards by completing specific tasks or gaining XP through gameplay. Battle Passes can be free, paid, or a combination of both, offering additional rewards for premium players.

Configuring a Free Battle Pass Track

Implementing a free battle pass in RallyHere follows the same process as setting up the progression system described above. The XP table will define the thresholds for rewarding a player as they progress through the battle pass, and the level vendor will be configured to grant rewards when each of these milestones is reached. Additionally, an item to track progression, linked to the associated XP table and level vendor, is still required. Lastly, granting the item follows the same flow as granting any other item in the system.

The flexibility of RallyHere really comes through when creating a premium battle pass. This is because the system has the ability to check if a player owns the premium battle pass before it grants the player XP or executes any rewards for a given player. With just a few more steps, RallyHere will handle the governance of the battle pass for you.

Configuring a Premium Battle Pass Track

Similar to the free battle pass, a premium battle pass requires the same progression structure. An item is needed to track the player’s progression, and an optional XP table tied to that item tells the system how to translate XP to levels. The level vendor will reward the player as they reach various levels defined in the level vendor.

The key difference is that the vendor used to grant XP to the player needs to check if the player owns the premium battle pass before granting premium XP. Additionally, how the battle pass item is granted to the player differs from the free battle pass. The player must purchase the premium battle pass before the item that tracks premium progression is given.

Creating the Premium Battle Pass Item

To create the premium battle pass item, which players will purchase, the same granting rules apply, but in two parts. First, the premium battle pass item must be associated with loot belonging to a vendor. This vendor acts as a grouping mechanism for loot that can be given to a player. In this case, create a vendor of type “recipe” (set by default). Add the premium battle pass item as the first loot record, followed by any additional loot such as skins or in-game currency that needs to be given to the player. Name this vendor a “bundle,” representing all the items granted to the player when the premium pass is purchased.

Next, ensure the player receives everything in the “bundle” by creating the actual vendor-loot that will be executed as part of the purchase. Create a new vendor called “Premium Battle Pass Purchase” of type “recipe” and add a loot record where the sub-vendor is set to the “bundle.” When this loot is executed for a player, each item in the sub-vendor is granted to the player.

Granting Premium XP

Setting up the premium battle pass item is just one part of the premium battle pass flow. The system needs to ensure that only players who purchase the premium battle pass receive the premium XP. To achieve this, use the vendor and sub-vendor logic along with properties on the loot record itself.

First, create a vendor of type “recipe” and name it “Premium Battle Pass XP Bundle.” Add a loot record to check if the player owns the premium battle pass item by associating the premium battle pass item with the loot, setting the quantity to 1, the Inventory Selector to “Own,” the Inventory Operation to “check_greater_than_or_equal,” ensuring it is set to active with a sort order of 1, and the Quantity Type as “Absolute.” Add the next loot record for granting the player premium XP with a sort order of 2.

Finally, create a vendor that contains a loot record with the “Premium Battle Pass XP Bundle” set as the sub-vendor. When this loot is executed, the system first checks if the player owns the premium battle pass. If the condition is true, it grants the player the premium XP.

This process ensures that the premium battle pass is correctly configured, granting premium XP only to those players who have purchased the premium battle pass

Configuring a Free Battle Pass with a Premium Option

RallyHere supports the use case of having both a free battle pass and a premium battle pass, combining the configurations of both into a unified system. Each track has its own reward structures, and a few configuration tweaks are needed to manage the conversion of free XP to premium XP and to ensure players receive both free and premium XP when applicable.

Converting Free XP to Premium XP

Start by creating the “bundle” for the premium battle pass item. While the “bundle” above included loot that granted the premium battle pass item and any additional items, we need to add a step to handle players who have already made progress on the free track. RallyHere supports converting free progression to premium progression by adding a new loot to the “bundle” vendor that grants the player the premium battle pass progression item. This loot record must have specific settings: the Inventory Selector should be set to “Own,” the Inventory Operation should be set to “Add,” the Quantity Multi-Inventory Item should be set to the item tracking the free progression, the Quantity Type should be set to “Relative,” and the Stack Limit should be set to 1. When this “bundle” is referenced as a sub-vendor of the loot in the “Premium Battle Pass Purchase” vendor and the loot is executed, RallyHere will convert any free XP the player has earned to premium XP. As part of this process, any rewards the player is entitled to will also be processed.

Giving Free XP and Premium XP

RallyHere ensures players can earn free XP and, if they have purchased the premium battle pass, premium XP as well. When setting up the “Premium Battle Pass XP Bundle” earlier, the first loot in the vendor checks if the player owns the premium battle pass, with a sort order of 1. The next loot grants the player premium XP. For a combined free and premium track, an additional loot record needs to be added to grant the player free track XP. This loot record, which grants free XP, must have a sort order of 0, ensuring it is executed first. Thus, when the loot referencing the “Premium Battle Pass XP Bundle” as a sub-vendor is executed, the player will always receive free track XP first. Then, the system checks if the player owns the premium battle pass and, if so, grants premium XP. When the XP quantities are updated, the system also checks if the player should receive any rewards.

By following these steps, RallyHere allows for a seamless integration of free and premium battle pass tracks, ensuring players receive the appropriate progression and rewards based on their battle pass status.

Conclusion

Using RallyHere to manage your game’s progression and reward systems can significantly enhance player engagement and retention. By providing clear goals and rewarding players for their progress, you create a more immersive and satisfying gaming experience. RallyHere’s flexible tools make it easy to set up and manage these systems, whether you’re offering free, premium, or a combination of both. Start experimenting with different configurations to tailor the experience to your game’s unique design, ensuring your players remain motivated and keep coming back for more.

For more information, schedule a 30 minute consultation or reach us at contact@rallyhere.gg.