我正在研究一种算法,以便在基于团队的游戏中对各个玩家进行评分。问题是没有固定的球队 - 每次有10名球员想要比赛,他们被分成两个(有些)甚至是球队并且相互比赛。因此,对球队进行评分是没有意义的,相反,我们需要依靠个人球员评分。
我希望考虑许多问题:
请注意,作弊不是此算法的问题,因为我们还有其他验证玩家的措施。
我查看了TrueSkill
,Glicko
和ELO
(这是我们目前正在使用的内容)。我喜欢TrueSkill / Glicko的想法,你有一个偏差,用于确定评级的准确程度,但没有一个算法考虑随机团队的观点,似乎主要基于1v1或FFA游戏。
有人建议您对球员进行评分,好像每个获胜球队的球员都击败了失败球队中的所有球员(25“决斗”),但我不确定这是否是正确的方法,因为它可能会疯狂地当一个真正糟糕的球员进入胜利球队并且在输球队中赢得一场非常优秀的球员时,就会夸大评级。
欢迎提出任何建议!
编辑:我正在为已建立的玩家寻找一种算法+某种方式来对新手进行排名,而不是两者的组合。对不起,感到困惑。没有AI,玩家只能互相玩耍。游戏由赢/输决定(没有抽奖)。
答案 0 :(得分:5)
临时排名系统总是不完美的,但是更好的排名系统(例如Elo)旨在比现有玩家的评级更快地调整临时评级。这承认,尝试与其他玩家仅仅通过几个游戏建立能力评级本身就容易出错。
我认为你应该使用对方球队所有球员的平均评分作为确定新手球员临时评分的输入,但是只将其作为一场比赛来处理,而不是作为N场比赛与N场比赛。每个游戏实际上只是一个数据样本,并且Elo系统处理这些游戏的累积,以便在切换到正常排名系统之前提高单个玩家的排名估计值。
为简单起见,在为另一个团队的某个成员计算新的规定评级时,我也不会区分反对团队成员的既定和临时评级(除非Elo要求这样)。所有这些评级都隐含了误差,因此没有必要在增加排名估算值时添加可能没什么价值的不必要的复杂性。
答案 1 :(得分:2)
首先:你很难找到一个完美的系统。每个系统都会在某个地方出现漏洞。
并回答你的问题:也许这里的想法会有所帮助:Lehman Rating on OkBridge。
这个评级系统正在使用(自1993年以来!)在名为OKBridge的互联网桥网站上。 Bridge是一款合作伙伴游戏,通常由一队2人组成的另一支队伍进行比赛。评级系统的设计旨在评估个别玩家,并迎合许多人与不同合作伙伴一起玩的事实。
答案 2 :(得分:2)
在这个领域没有任何背景,在我看来,排名系统基本上是一个统计模型。一个好的模型将随着时间的推移收敛到一致的排名,目标是尽可能快地收敛。我想到了几个想法,其中一些已经在其他帖子中被提及:
只是一堆随意的想法,但这听起来像一个有趣的问题。
答案 3 :(得分:1)
几年前,微软的TrueSkill团队的一些人在Game Developer Magazine上发表了一篇文章,解释了他们在那里作出决定背后的一些推理。它肯定提到了Xbox Live的团队游戏,所以它应该至少有些相关。我没有该文章的直接链接,但您可以在此处订购后方问题:http://www.gdmag.com/archive/oct06.htm
我从文章中记得的一个具体问题是整个团队得分,而不是例如给予杀戮最多的玩家更多积分。那是为了鼓励人们帮助球队获胜,而不是仅仅试图最大化他们自己的得分。
我相信还有一些关于调整参数的讨论,试图加速收敛以准确评估玩家技能,这听起来像你感兴趣的。
希望有帮助...
答案 4 :(得分:1)
如果您对使用感兴趣(比开发中更多),您应该尝试我们的排名系统rankade。
与 Elo 和 Glicko (这里是comparison)相反,rankade可以管理任何类型的匹配(一对一,派系与阵营(两队,可能不对称), 多人游戏,多派系,合作游戏,单人游戏等等,因此您可以插入一个匹配(不会在多个假匹配中分解一个实际匹配) 。
根据您的需要,评级在每场比赛后进行调整,算法管理玩家技能等级的混合和临时排名(通过< em>活动动态特征)。
我们接待了许多基于随机团队的体育团体/俱乐部,这是我们的dojo。
答案 5 :(得分:0)
'得分'如何解决?,
如果一支球队总共得到25分(球队中所有球员的得分),你可以将球员得分除以球队总得分* 100,以得出该球员为球队做了多少的百分比(或全部)与两支球队分数。)
您可以使用此数据计算得分, 如果百分比低于团队成员(或两队成员)的90%: 将玩家视为新手并使用不同的权重因子计算得分。
有时一个更容易理解的概念会更好。
答案 6 :(得分:0)
第一个问题有一个非常“游戏”的解决方案。您可以为前几场比赛创建一个新手大厅,玩家无法看到他们的分数,直到他们完成一定数量的游戏,为您提供足够的数据以获得准确的评分。
另一种选择是第一种变体,但更简单 - 给它们一个匹配与AI,用于确定起始分数(以一个例子的实际情况来看)。
答案 7 :(得分:0)
对于在发布多年后偶然发现的任何人:TrueSkill
现在支持由多个玩家组成的团队和不断变化的配置。
答案 8 :(得分:-2)
每次有10名玩家想玩, 他们分为两个(有点) 甚至团队互相比赛。
这很有意思,因为它意味着每支球队的平均技术水平相等(因此并不重要),并且每支球队都有相同的获胜机会。如果你认为这个约束是正确的,那么每个玩家的胜利与损失的简单计数应该和任何一个一样好。