Day26 玩家技巧、阶级与配对关系

我们在设计我们的竞技类配对系统时,有几个主要的中心想法分别是,想让玩家可以与,自己技巧相近的玩家游玩,相同阶级的玩家能分出胜负,每一场配对体验不会过於悬殊。而今天我们想要认识的,便是这些与配对系统交互影响的系统,这可以在我们评估配对系统,是否产生更好的游玩体验的时候,能够有更多面向的想法。

三个主要系统

  • 技巧评估系统 (Skill System)
    • 藉由对战纪录,评估玩家在特定游戏的技巧能力
    • 产出级分(1500~3000 or -0.7~1.2)
    • 可评估两个玩家对弈获胜的期望值
  • 阶级排位系统 (Ranking System)
    • 给予玩家阶级头衔,得以体现该玩家在此游戏中的位阶
    • 可利用 skill system 协助评估
  • 配对系统 (Matchmaking System)
    • 将特定条件玩家配对峙同一场游戏
    • 可能会以 skill system 与 ranking system 为条件配对
    • 与 skill system 与 ranking system 交互影响

阶级与级分

以目前常见的 Elo rating system 当做基础,我们可以观察到几个重点:

  • A 玩家与 B玩家对弈获胜的期望值
    https://i.imgur.com/6PZbfFv.png
  • A 玩家赛後的级分
    https://i.imgur.com/lEPBhgK.png
  • Elo 系统可藉由一个函式fx(),计算出一个获胜期望值
  • 结束时增加或减少的级分,将被 K 值放大
  • K 与 Sa 值决定该局级分增减上限
  • 指定级分区间为阶级(大师 2300~2399)
  • 可依照比赛後的结果,预期玩家赛後的级分

在此评估模型下最大的缺点,在於新手快速成长的期间,无法快速的使玩家达到符合其实力的阶级,玩家依然需要透过较多的场次,来达到符合其阶级的级分。而调整的方式可以透过在连胜时,加上连胜可获得的连胜加成,加速整个阶级划分的过程。

竞技配对

在一个竞技配对中,纯以阶级配对的话,将产生一些曲线不够平滑的问题,因此我们需要使用 skill system 所产出级分,协助我们在相同牌阶里,找出实力更为近似的对手。以 Open-match 的设计来说,我们必须要在 create tickets 时,塞入 rank 与 skill_score 资讯,先以 rank 当作第一层 filter,再以 skill_score 或加上其他资讯计算出指标值,提供 evaluator 产出配对结果。最後即便 MMF 可以透过单元测试检验,我们依然需要透过统计观察,我们的配对模型是否真的如我们预期的方向进行,可绘制图表协助我们了解其回归状况。

https://i.imgur.com/JklwZdy.png
https://i.imgur.com/KFvNtz6.png

Reference

Skill, Matchmaking, and Ranking Systems Design


<<:  Day19-部署篇(一)Amazon EC2

>>:  Day26- Go with Scylla

[Day17] 系统保护策略

在某个我辅导过的团队,我曾观察到一个现象: RD 在评估工作时数,总是会估出不合理的长时间。是 RD...

[Day29] 几个精进Action的建议

到这里,你已经建立一个具备完整对话体验的Action 也已经藉由GCP建构符合使用情境的架构了 接...

Python & PyMongo 学习笔记_GridFS API

一、简易说明 Mongo DB 对於单个 Document 的大小限制为 16MB, 若想储存大於这...

第3砍 - 不亮也光

烦恼着要开始上班了 菜鸟人生 Start?[Y/N] > N 今天还没进入正题 因为我们需要先...

Day 01 - Hi, Functional Programming

Alert: 以下会将 Functinoal Programming 简称 FP. 关於我 yo!...