Skip to main content

使用排行榜的手动分级

在本教程中,我们将学习如何在排行榜服务中应用某些属性,为玩家创建一个分级系统。为了理解如何基于服务属性创建手动分级系统,我们先从一个示例开始。想象一下我们有一个僵尸射击游戏,玩家在有限时间内尽可能多地得分。可以采用不同的策略来获取更多分数,此外还有不受任何伤害的分数。 在此示例中,玩家根据每场比赛的表现获得经验值。我们希望创建一个分级系统,将排名最高的玩家标识为“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% 的玩家。
由于此过程是分级系统的手动方法,玩家的分布需要以开发者认为合适的任何方式进行存储。 为了检索数据,我们将使用以下示例:
此示例是我们从排行榜检索数据的多种方式之一。在响应的 Result 属性中,我们将找到一个名为 EntryCount 的属性,它告诉我们排行榜当前有多少行。此数字不同于 SizeLimit,后者表示排行榜的最大行数。 要确定玩家的级别,我们取其在排行榜中的位置并除以 EntryCount 属性,以查看他们在定义的级别中处于什么位置。 快速示例:
  • 底部玩家:在 10,000 名中位于第 8500 位的玩家处于人群的 85% 内,落入 Bronze 级别。
  • 中等玩家:在 10,000 名中位于第 3500 位的玩家处于玩家前 35% 内,落入 Gold 级别。
  • 顶级玩家:在 10,000 名中位于第 50 位的玩家处于玩家前 0.5% 内,成为“Savior”。

结论

在本教程中,我们学习了如何执行以下操作:
  • 创建排行榜。
  • 了解如何从排行榜查询数据。
  • 了解如何基于百分位数创建手动分级分布。
  • 了解如何将玩家位置的结果映射到实际级别。

另请参阅

最后修改于 2026年8月13日