Skip to main content

Typical Use Case

1. Long Term Quests

This example uses the service of goals to publish several long-standing player challenges to illustrate the basic use of simple goals. You can also build your achievement system recording to this case, which will be quite similar

1.1 Achieve data dependencies

Achieve Data Source: Player Data

Player data keys:

Key NameRemark
wins_battle_royale_modeThe cumulative number of times a player has victory in Battle Royale mode.
number_enemies_killedPlayer's cumulative number of kills in all game modes.
number_headshotsPlayer's cumulative number of headshots.

Add the above keys to the KV Data Template and add code to the game to update this data for the player.

1.2 Goals design

  1. Goal Chicken Mania

    Field NameData
    Goal NameChicken Mania
    Goal TypeSimple
    Algorithm TypeAbsolute Value
    Achieve DataPlayer Data(wins_battle_royale_mode)
    Achieve Data Value666
    RewardsGame Coin * 6666
    Tagsquest, long term
  2. Goal This man's nickname is Butcher

    Field NameData
    Goal NameThis man's nickname is Butcher
    Goal TypeSimple
    Algorithm TypeAbsolute Value
    Achieve DataPlayer Data(number_enemies_killed)
    Achieve Data Value666
    RewardsGame Coin * 8888
    Tagsquest, long term
  3. Goal He is not CHEATING

    Field NameData
    Goal NameHe is not CHEATING
    Goal TypeSimple
    Algorithm TypeAbsolute Value
    Achieve DataPlayer Data(number_headshots)
    Achieve Data Value666
    RewardsGame Coin * 9999
    Tagsquest, long term

1.3 Schedule design

Create a schedule named Long-Term Quests and add a long term available period to it. And then add the created goals to the available period.

image-20221228103609648

2. Daily Updated Quests

This example shows how to create periodic challenges with Goals.

2.1 Achieve data dependencies

Use the same achieve data as in Long Term Quests.

Achieve Data Source: Player Data

Player data keys:

Key NameRemark
wins_battle_royale_modeThe cumulative number of times a player has victory in Battle Royale mode.
number_enemies_killedPlayer's cumulative number of kills in all game modes.
number_headshotsPlayer's cumulative number of headshots.

Add the above keys to the KV Data Template and add code to the game to update this data for the player.

2.2 Goals design

In daily quests, the game focuses on what the player completes during the day, so we use the Increment Value algorithm when creating goals.

  1. Goal Chicken Mania

    Field NameData
    Goal NameChicken Mania
    Goal TypeSimple
    Algorithm TypeIncrement Value
    Achieve DataPlayer Data(wins_battle_royale_mode)
    Achieve Data Value6
    RewardsGame Coin * 20
    Tagsquest, daily
  2. Goal This man's nickname is Butcher

    Field NameData
    Goal NameThis man's nickname is Butcher
    Goal TypeSimple
    Algorithm TypeIncrement Value
    Achieve DataPlayer Data(number_enemies_killed)
    Achieve Data Value66
    RewardsGame Coin * 10
    Tagsquest, daily
  3. Goal He is not CHEATING

    Field NameData
    Goal NameHe is not CHEATING
    Goal TypeSimple
    Algorithm TypeIncrement Value
    Achieve DataPlayer Data(number_headshots)
    Achieve Data Value16
    RewardsGame Coin * 25
    Tagsquest, daily

2.3 Schedule design

Create available periods with the button Batch Add Periods. In the example below, 7 available periods will be created, each starting at 8 am and lasting for 1 day.

image-20221228111827923

3. Battle Pass

The battle pass usually consists of two closely related systems,

  • Quest system. During the opening of the battle season, the game offers various forms of quests for players to challenge. By completing these quests, players will gain the Exp(or other names of intermediate currencies) needed to upgrade their pass.
  • Pass system. Players earn one or more passes for free or paid, upgrade their pass by completing quests to gain experience points and earn pass tiers rewards.

image-20221228144822002

The following section describes how to construct a quest system and pass system using the service of goals.

3.1 Build Quest System

The two examples in the previous article have described how to use goals to construct a quest, so instead of going over the details here, here are some points that may be helpful to you.

  • It is recommended to use virtual currency to characterize Exp so that it can be used directly to upgrade the player's battle pass.
  • You need to create separate schedules for quests with different publish cycles.
  • If you want to set multiple levels of goals for the same challenge, try using a hyper goal instead of multiple simple goals.

3.2 Build Pass System

3.2.1 Achieve data dependencies

Achieve Data SourceCurrency CodeCurrency NameInitial Deposit
Virtual CurrencyEXPExp0

3.2.2 Goal design

Create a hyper goal for each season to model the battle pass system.

Basic information

The incremental algorithm is used because we want this hyper-goal value to focus on the player's exp acquisition during the season. We can reuse this hyper goal in a new season without resetting the player's exp.

  • Name: battle_pass_season_2022
  • Type: Hyper
  • Achieve Data: Virtual Currency (EXP)
  • Algorithm Type: Increment Value.

Passes

The number of passes depends on your game design. In this example, we create two passes:

  • Default: the Default Pass will be activated for players by default. All players can benefit from this pass.
  • Platinum: only those players who have purchased item_4ob8ychk can benefit from the Platinum Pass.

image-20221228151902099

Tiers

It is recommended to use the file import feature to create tiers for battle pass batches, so that the data can be easily arranged in bulk.

image-20221228152235065

3.2.3 Schedule design

Create a schedule to publish your battle pass. You need to create the available period, assign the goal, etc. Please refer to the doc for detailed operation guidelines. So instead of going over the details here, here are some points that may be helpful to you:

  • Both goal and schedule can be multiplexed across multiple battle seasons. You just need to create an available period for each season in the schedule.
  • You can publish the schedule before the first available period has taken effect. By doing so, the game client will be able to tell players when the battle season will be available but avoid them from experiencing the battle season content early.