使用排行榜的手动分级
在本教程中,我们将学习如何在排行榜服务中应用某些属性,为玩家创建一个分级系统。为了理解如何基于服务属性创建手动分级系统,我们先从一个示例开始。想象一下我们有一个僵尸射击游戏,玩家在有限时间内尽可能多地得分。可以采用不同的策略来获取更多分数,此外还有不受任何伤害的分数。 在此示例中,玩家根据每场比赛的表现获得经验值。我们希望创建一个分级系统,将排名最高的玩家标识为“Saviors”,而其余玩家将分布在诸如 Bronze、Silver、Gold、Platinum 和 Diamond 等不同级别中。创建排行榜
第一步是创建一个包含用于给玩家排名的主要元素的排行榜定义。对于我们的僵尸游戏,我们将使用多个分数。以下示例展示了如何使用 C# SDK 创建排行榜定义。手动分级
在正确创建排行榜后,我们现在可以继续定义如何创建各分级。首先,我们需要定义如何划分玩家群体。通常,级别越高,玩家越少。基于这个概念,以下是我们分级的定义方式。- Bronze:0 - 35% 的玩家。
- Silver:35% - 60% 的玩家。
- Gold:60% - 80% 的玩家。
- Platinum:80% - 90% 的玩家。
- Diamond:90% - 99.5% 的玩家。
- Saviors:排名前 0.05% 的玩家。
EntryCount 的属性,它告诉我们排行榜当前有多少行。此数字不同于 SizeLimit,后者表示排行榜的最大行数。
要确定玩家的级别,我们取其在排行榜中的位置并除以 EntryCount 属性,以查看他们在定义的级别中处于什么位置。
快速示例:
- 底部玩家:在 10,000 名中位于第 8500 位的玩家处于人群的 85% 内,落入 Bronze 级别。
- 中等玩家:在 10,000 名中位于第 3500 位的玩家处于玩家前 35% 内,落入 Gold 级别。
- 顶级玩家:在 10,000 名中位于第 50 位的玩家处于玩家前 0.5% 内,成为“Savior”。
结论
在本教程中,我们学习了如何执行以下操作:- 创建排行榜。
- 了解如何从排行榜查询数据。
- 了解如何基于百分位数创建手动分级分布。
- 了解如何将玩家位置的结果映射到实际级别。
