跳到主要内容

典型用例场景

1. 长期任务

本示例使用成就服务发布几个长期玩家挑战,以说明简单成就的基本用法。您也可以构建自己的成就系统记录,其内容与本示例非常相似。

1.1 实现数据依赖关系

成就数据源:玩家数据

Key NameRemark
wins_battle_royale_mode玩家在大逃杀模式中获胜的累计次数。
number_enemies_killed玩家在所有游戏模式中的累计击杀数。
number_headshots玩家累计爆头次数。

将上述key添加到KV 数据模板,并向游戏添加代码以便为玩家更新这些数据。

1.2 成就设计

  1. 成就:Chicken Mania

    字段数据
    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. 成就: This man's nickname is Butcher

    字段数据
    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. 成就: 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 设计

创建一个名为“长期任务”的计划,并为其添加一个长期可用时间段。然后将创建的成就添加到可用时间段中。

image-20221228103609648

2. 每日更新任务

此示例展示了如何创建包含成就的周期性任务挑战。

2.1 成就数据依赖关系

使用与长期任务相同的成就数据。

成就数据来源:玩家数据

player data key:

Key Name备注
wins_battle_royale_mode玩家在大逃杀模式中获胜的累计次数。
number_enemies_killed玩家在所有游戏模式中的累计击杀数。
number_headshots玩家累计爆头次数。

将上述键添加到KV 数据模板,并向游戏中添加代码以更新玩家的数据。

2.2 成就设计

在日常任务中,游戏关注的是玩家在一天内完成的任务,因此我们在设置成就时采用了增量值算法。

  1. 成就:Chicken Mania

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

    字段数据
    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. 成就: He is not CHEATING

    字段数据
    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 设计

使用“批量添加时间段”按钮创建可用时间段。以下示例中,将创建 7 个可用时间段,每个时间段从上午 8 点开始,持续 1 天。

image-20221228111827923

3. 战斗通行证

战斗通行证通常包含两个紧密相关的系统:

  • 任务系统。在战斗赛季开始时,游戏会提供各种形式的任务供玩家挑战。完成这些任务后,玩家将获得升级通行证所需的经验值(或其他中间货币的名称)。
  • 通行证系统。玩家可以免费或付费获得一张或多张通行证,并通过完成任务升级通行证以获得经验值并获得通行证等级奖励。

image-20221228144822002

下面介绍如何利用成就服务来构建任务系统和通行证系统。

3.1 构建任务系统

上一篇文章中的两个示例已经描述了如何使用成就构建任务,因此这里不再赘述,以下几点或许对您有所帮助。

  • 建议使用虚拟货币来表示Exp,以便可以直接用于升级玩家的战斗通行证。
  • 您需要为不同发布周期的任务创建单独的时间表。
  • 如果您想为同一个挑战设置多个级别的成就,请尝试使用高级成就,而不是多个简单成就。

3.2 构建通行证系统

3.2.1 实现数据依赖关系

Achieve Data SourceCurrency CodeCurrency NameInitial Deposit
Virtual CurrencyEXPExp0

3.2.2 成就设计

为每个赛季创建一个高级成就,以模拟战斗通行证系统。

基本信息

使用增量算法是因为我们希望这个高级成就的值能够聚焦于玩家在赛季期间的经验获取。我们可以在新赛季中重复使用这个高级成就,而无需重置玩家的经验。

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

Passes

Pass数量取决于你的游戏设计。在本例中,我们创建了两个Pass:

  • Default:默认Pass将默认为玩家激活。所有玩家均可享受此Pass的权益。
  • Platinum: 只有购买了“item_4ob8ychk”的玩家才能享受白金Pass。

image-20221228151902099

Tiers

建议使用文件导入功能来批量创建战斗通行证的等级,以便可以轻松地批量排列数据。

image-20221228152235065

3.2.3 Schedule 设计

创建时间表来发布您的战斗通行证。您需要创建可用时间段、指定成就等。请参阅doc获取详细的操作指南。与其在这里赘述细节,不如参考以下几点,或许对您有所帮助:

  • 成就和时间表都可以跨多个战斗赛季复用。您只需在时间表中为每个赛季创建一个可用时间段即可。
  • 您可以在第一个可用时间段生效之前发布时间表。这样,游戏客户端就可以告知玩家战斗赛季何时可用,同时避免他们过早体验战斗赛季内容。