我正在研究一种算法,可以在基于团队的游戏中对单个玩家进行评分。问题是没有固定的球队存在——每次有 10 名球员想要比赛时,他们被分成两支(有点)偶数球队并互相比赛。出于这个原因,给球队打分是没有意义的,相反,我们需要依靠个人球员的评分。
我希望考虑到一些问题:
- 新玩家需要某种临时排名才能达到他们的“真实”等级,然后他们的等级才与经验丰富的玩家相同。
- 系统需要考虑到一个团队可能由不同技能水平的球员组成——例如。一个很好,一个很好,两个一般,一个很差。因此,玩家评分的简单“平均”可能不够,可能需要以某种方式加权。
- 每场比赛后都会调整评分,因此算法需要基于每场比赛,而不是每个“评分周期”。如果出现一个好的解决方案,这可能会改变(我知道 Glicko 使用评级期)。
请注意,作弊不是该算法的问题,因为我们还有其他验证玩家的措施。
我看过TrueSkill
,Glicko
和ELO
(这是我们目前正在使用的)。我喜欢 TrueSkill/Glicko 的想法,您可以使用偏差来确定评分的精确程度,但没有一种算法考虑到随机团队的观点,而且似乎主要基于 1v1 或 FFA 游戏。
有人建议您对玩家进行评分,就好像获胜球队的每个球员都击败了失败球队的所有球员(25次“对决”),但我不确定这是否是正确的方法,因为它可能会大大提高评级当一个非常糟糕的球员在获胜的球队中并获得了胜利,而在失败的球队中一名非常优秀的球员。
欢迎任何和所有建议!
编辑:我正在为老牌玩家寻找一种算法+某种对新手进行排名的方法,而不是两者的结合。对困惑感到抱歉。
没有人工智能,玩家只能互相玩。比赛由赢/输决定(没有平局)。