|
《炉石传说》高级数据研究员Tian在最新一期的开发者访谈中聊到了竞技场的平衡问题,并表示他们所做的改动都是为了保证各职业的胜率能稳定在50%左右。
《炉石传说》高级数据研究员Tian在最近的一次开发者访谈中聊到了竞技模式平衡工作背后的数学原理,他表示,竞技场的平衡是通过建立模型-限定条件下求最优解-计算权重的方法进行平衡,最终才能将改动上线。
竞技模式的平衡工作有两个阶段。第一,确定每张卡牌要进入哪个(或哪几个)牌池(牌池是强度相似的卡牌所组成的集合)。一张卡牌通常会进入两个牌池,同时会将传说和非传说卡牌分入两种不同的牌池系统。设计师会通过游戏中卡牌的胜率和被选取的几率来决定哪张卡牌进入哪个牌池。这使得玩家在选牌环节中每次看到的三张卡牌都在相近的强度等级上。
第二,平衡九个职业的胜率。理想的状况下,胜率应该尽量接近50%。设计师会通过调整相关的每张卡牌的权重来实现平衡。权重与卡牌出现在选牌界面中的概率有关。一张卡牌的权重越高,在选牌时看到它的几率就越大。如果卡牌的权重被调整,那么它所在的牌池也会相应调整。
要让这个系统运转需要大量的数据,而由于每天都会进行海量的竞技模式游戏,所以就有大量的数据可供参考。
建立模型
对那些经常玩竞技模式的玩家而言,该如何计算胜率是比较熟悉的。有些卡牌的胜率会明显高于其他卡牌。例如,在游戏中选到巫妖王之后的胜率肯定比选到雪鳍企鹅高得多。
那就假设玩家选到了巫妖王。那你可能会想:“我选到巫妖王之后的胜率有多少?60%?50%?我要怎么去量化计算呢?”然后,再假设你下一轮选牌选到了寒冰护体,那现在你又该重新计算自己的胜率了。
设计师建立了一个机器学习模型来回答这些问题。他们将大量的数据输入电脑,用所有竞技模式中的对战详情来让电脑不断学习,根据所给的信息来预测胜率。用正式的术语来说,就是“训练”我们所建立的模型。因此,在玩家选择了任意卡牌后,它都能给出相应的胜率。
限定条件下求最优解
现在后退一步,把上面的模型想象成是一个箱子,上面有许多可以调节的旋钮。每一个旋钮关联一张具体的卡牌。当你调节一个旋钮的时候,你就调整了这张卡牌的相关数值。
比如在调节一个旋钮之前,箱子告诉你目前的胜率是40%。在你调节之后,预测的胜率变为46%。这就引出一个非常有趣的问题:如果调整了多个旋钮,那么能够将胜率调整到你想要的目标值吗?
所以设计师需要构建一个优化问题。用数学术语来说就是要找到所有可行方案的最优解。他们想要通过同时“调整多个旋钮”来尽量得到想要的胜率目标值。用术语来说就是,要用高维向量来求一些目标函数的最小值。
在竞技模式平衡中,设计师想要所有职业的预测胜率尽量接近50%,并且会通过调整涉及到的每张卡牌的相关数值来实现这一目标。但是,不能随意地调整这些旋钮,它们是有限制的。以下是设计师在“箱子”中设置的一些限定条件:
30%之内。重大的改动可能会破坏游戏的体验。
如果设计师想要降低某个职业在竞技场的强度,那么他们高强度卡牌的出现几率就会比强度较低的卡牌低一些。如果想某个职业更强一些,那就把这个思路反过来。
为了保证求解胜率问题的可行性,还会有一些实际数据上的限制。例如,所有卡牌出现概率的总增加量和总减少量应相等(即数学术语中的“零和”)。
计算权重
用数据来完成竞技模式平衡的最后一步,就是根据在前两步所得的信息来调整相关卡牌的权重。总体上来说,一张权重为2.0的卡牌的出现频率要比权重为1.0的卡牌高出一倍。
而限定条件下的优化结果会让设计师知道要“调整哪些旋钮”、“调整的力度为多少”。然后他们会将每个“旋钮”连接到选牌过程中每一张卡牌的出现几率上。现在设计师知道应该如何调整每一张卡牌的权重了,并且还会根据每张卡牌的特性来进行其他的调整(例如该卡牌是法术还是武器,来自哪个扩展包等等)。
游戏内平衡
在平衡工作完成之后,所有九个职业的总体胜率应该非常接近50%。但是在极少数情况下,设计师也会面临平衡之后效果并不理想的状况。
如果某个职业的胜率远远高于或低于50%,那就要做出权重调整;设计师的改动也许没有达到理想值,但调整过后情况总会比以前好很多。而这个系统可以通过先进的计算机数学和机器学习来利用竞技模式的数据,让他们可以确定哪个职业需要被加强或者削弱,并为每个职业的每张卡牌选择最优化的权重。
TGBUS编译
|
|