如何为游戏创建排名算法

时间:2017-03-17 15:32:05

标签: algorithm ranking ranking-functions

我正在为我正在开发的游戏创建排名公式。我希望能够根据两个标准找出最佳球员:

  1. 时间
  2. 步骤
  3. 每位玩家必须完成一项任务 T 。我们的想法是在最短时间最小步骤中完成它。

    如果没有限时(1800秒)和限制步数(25),我无法想出任何东西。

    enter image description here

    根据上述计算,玩家5最好是玩家1。

    但我们可以清楚地看到球员4有更好的数据。

    如何改善这一点,还是有其他计算方法?

2 个答案:

答案 0 :(得分:2)

您可以使用加权算术平均值。时间和步骤将有价值。例如:

TimeV = 1
StepsV = 90

Score = (Time*TimeV+Steps*StepsV)/Time+Steps

您必须确定哪个是更重要的时间或步骤数。在示例中,时间和步骤非常重要。

答案 1 :(得分:0)

您可以规范化时间和步骤。

选择"最大值"时间和最大值"步骤(例如你已经使用的1800和25)。现在将其标准化为1.所有时间和步长值现在应该在0和1之间。最后将标准化值一起添加。

因此例如900/1800 = 0.5。并且12/25 = 0.48。如果你将它们加在一起,你将获得0.98的分数。如果您为每位玩家执行此操作,您会发现他们会获得以下分数:

  • 玩家1:0.98
  • 玩家2:0.82
  • 玩家3:0.8267
  • 玩家4:0.7733
  • 玩家5:0.8667

从中可以看出,玩家4得分最低,这就是你想要的。

如果您希望时间或步数在最终得分中的重量超过另一个,您可以更改时间和步数的最大值(现在是1800和25)来调整哪个更重要,或者您可以添加权重在将两个标准化值加在一起之前。