典型用例场景
1. 长期任务
本示例使用成就服务发布几个长期玩家挑战,以说明简单成就的基本用法。您也可以构建自己的成就系统记录,其内容与本示例非常相似。
1.1 实现数据依赖关系
成就数据源:玩家数据
Key Name | Remark |
---|---|
wins_battle_royale_mode | 玩家在大逃杀模式中获胜的累计次数。 |
number_enemies_killed | 玩家在所有游戏模式中的累计击杀数。 |
number_headshots | 玩家累计爆头次数。 |
将上述key添加到KV 数据模板,并向游戏添加代码以便为玩家更新这些数据。
1.2 成就设计
成就:Chicken Mania
字段 数据 Goal Name Chicken Mania Goal Type Simple Algorithm Type Absolute Value Achieve Data Player Data(wins_battle_royale_mode) Achieve Data Value 666 Rewards Game Coin * 6666 Tags quest, long term 成就: This man's nickname is Butcher
字段 数据 Goal Name This man's nickname is Butcher Goal Type Simple Algorithm Type Absolute Value Achieve Data Player Data(number_enemies_killed) Achieve Data Value 666 Rewards Game Coin * 8888 Tags quest, long term 成就: He is not CHEATING
Field Name Data Goal Name He is not CHEATING Goal Type Simple Algorithm Type Absolute Value Achieve Data Player Data(number_headshots) Achieve Data Value 666 Rewards Game Coin * 9999 Tags quest, long term
1.3 Schedule 设计
创建一个名为“长期任务”的计划,并为其添加一个长期可用时间段。然后将创建的成就添加到可用时间段中。
2. 每日更新任务
此示例展示了如何创建包含成就的周期性任务挑战。
2.1 成就数据依赖关系
使用与长期任务相同的成就数据。
成就数据来源:玩家数据
player data key:
Key Name | 备注 |
---|---|
wins_battle_royale_mode | 玩家在大逃杀模式中获胜的累计次数。 |
number_enemies_killed | 玩家在所有游戏模式中的累计击杀数。 |
number_headshots | 玩家累计爆头次数。 |
将上述键添加到KV 数据模板,并向游戏中添加代码以更新玩家的数据。
2.2 成就设计
在日常任务中,游戏关注的是玩家在一天内完成的任务,因此我们在设置成就时采用了增量值算法。
成就:Chicken Mania
字段 Data Goal Name Chicken Mania Goal Type Simple Algorithm Type Increment Value Achieve Data Player Data(wins_battle_royale_mode) Achieve Data Value 6 Rewards Game Coin * 20 Tags quest, daily 成就:This man's nickname is Butcher
字段 数据 Goal Name This man's nickname is Butcher Goal Type Simple Algorithm Type Increment Value Achieve Data Player Data(number_enemies_killed) Achieve Data Value 66 Rewards Game Coin * 10 Tags quest, daily 成就: He is not CHEATING
字段 数据 Goal Name He is not CHEATING Goal Type Simple Algorithm Type Increment Value Achieve Data Player Data(number_headshots) Achieve Data Value 16 Rewards Game Coin * 25 Tags quest, daily
2.3 Schedule 设计
使用“批量添加时间段”按钮创建可用时间段。以下示例中,将创建 7 个可用时间段,每个时间段从上午 8 点开始,持续 1 天。
3. 战斗通行证
战斗通行证通常包含两个紧密相关的系统:
- 任务系统。在战斗赛季开始时,游戏会提供各种形式的任务供玩家挑战。完成这些任务后,玩家将获得升级通行证所需的经验值(或其他中间货币的名称)。
- 通行证系统。玩家可以免费或付费获得一张或多张通行证,并通过完成任务升级通行证以获得经验值并获得通行证等级奖励。
下面介绍如何利用成就服务来构建任务系统和通行证系统。
3.1 构建任务系统
上一篇文章中的两个示例已经描述了如何使用成就构建任务,因此这里不再赘述,以下几点或许对您有所帮助。
- 建议使用虚拟货币来表示Exp,以便可以直接用于升级玩家的战斗通行证。
- 您需要为不同发布周期的任务创建单独的时间表。
- 如果您想为同一个挑战设置多个级别的成就,请尝试使用高级成就,而不是多个简单成就。
3.2 构建通行证系统
3.2.1 实现数据依赖关系
Achieve Data Source | Currency Code | Currency Name | Initial Deposit |
---|---|---|---|
Virtual Currency | EXP | Exp | 0 |
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。
Tiers
建议使用文件导入功能来批量创建战斗通行证的等级,以便可以轻松地批量排列数据。
3.2.3 Schedule 设计
创建时间表来发布您的战斗通行证。您需要创建可用时间段、指定成就等。请参阅doc获取详细的操作指南。与其在这里赘述细节,不如参考以下几点,或许对您有所帮助:
- 成就和时间表都可以跨多个战斗赛季复用。您只需在时间表中为每个赛季创建一个可用时间段即可。
- 您可以在第一个可用时间段生效之前发布时间表。这样,游戏客户端就可以告知玩家战斗赛季何时可用,同时避免他们过早体验战斗赛季内容。