如何为游戏创建排名算法

How to create a ranking algorithm for a game

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

  1. 时间
  2. 步骤

有一个任务T每个玩家都必须完成。这个想法是在最少的时间最少的步骤内完成它。

如果不保持有限的时间(1800 秒)和有限的步数(25),我什么都想不出来。

根据以上计算,选手5最好,选手1次之

但是我们可以很明显的看到选手4的身材更好

我该如何改进这个或者有没有其他计算方法?

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

TimeV = 1
StepsV = 90

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

您必须决定哪个时间或步数更重要。在示例中,时间和步骤很重要。

您可以将时间和步数归一化。

Select 一个 "max value" 表示时间,一个 "max value" 表示步数(例如您已经使用的 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)以调整哪个更重要,或者您可以在将两个归一化值相加之前添加权重。