|
竞技类游戏的平衡性设计问题是游戏能否成功的关键因素。理想状态下,存在一种最为平衡的设置,在该设置下整体游戏性可达到最高。实际中的游戏都不可能一推出就处在平衡状态,而是多采用升级或发布平衡性补丁的方式使得平衡性逐渐改善。本文以东方dota(下简称THD)为例,探讨平衡性调整的数学方法。本文尽量采用通俗的语言,没有相关数学背景的读者也可以理解其内容。
在THD游戏中,虽然可选的机体众多,但是如果这些机体强弱差别很明显,就会导致一些强力机体(马机)一直被人抢,而相对较弱的机体(弱机)万年没人用,这就造成了游戏性的下降。
作为一个例子,我们考虑博丽灵梦的技能“灵符「梦想封印」”的平衡性设计问题。显然,如果技能伤害设定过高,博丽灵梦就会成为马机;相反如果伤害设定过低,她就会成为弱机。我们记伤害为x,同时令z为描述机体强弱的指标。假设理想的平衡性下z=0,而z>0和z<0分别表示角色设定过强和过弱。我们同时假设x和z的关系可以用下式来描述,它被称为一个线性模型
Z=a+bx+e, (1)
其中a和b为未知的系数,e为随机误差。我们对e的含义解释为:和人物设定不相关的因素对结果的影响。其中最主要的因素即为操作者(机师)的水平。机师水平高,所用机体就会显得强;反之机师水平低,角色就显得弱。机师的强弱是相对的,如果参与游戏的所有机师水平完全相同——当然这在事实上是不可能的——就可以认为e=0了。由于机师水平对于游戏设计者来说是不确定的,我们将其视为随机变量。随机变量必有其分布,由机师水平的相对性可以证明这个分布是对称的,这里我们可以假设分布是正态的。对于概率分布不熟悉的读者可以忽略这个设定,只需要知道e>0和e<0的概率是相等的,其含义是在一场游戏中必有一半的玩家在吃人,另一半玩家在被吃。
平衡性设计的目标是选择x满足下面的方程:
a+bx=0。 (2)
也就是说在所有机师水平相同的情况下游戏应该是平局。当然事实上这个说法也不完全正确,因为即使机师水平完全相同,还有一些更微小的因素——如机师间的默契程度——会推动比赛胜负的进程。
如果a和b已知,方程(2)的解是存在且唯一的。我们这里a和b是未知的,因此只能考虑产生一个x的序列,趋近于(2)的解。也就是说通过不断调整平衡性,来达到最佳状态。由此产生的问题称为随机逼近(stochastic approximation)问题,最早被 Robbins and Monro (1951)研究。
再回到(1)式,虽然我们假定y为描述机体强弱的指标,但是实际中我们并不能观测到y的值。假设游戏的平衡观察员,透过观看一场比赛录像,可以对其中出现的机体强弱做出定性的评定,类似于:很马,一般,很弱。这里我们考虑一种简单的情况,如果只有两个等级,分别对应于:马(即z>0),弱(即z<0)。
这样的定性数据和(1)式如何联系在一起呢?我们把它和一个工程上的问题类比就能看出其中的关系。这个工程问题称为火工品发火(explosives to fire)问题。所谓火工品,是指炸药等的引导装置,如雷管。这种雷管在正常状态下性质稳定,如果遇到强电压就会爆炸(发火)。理论上来说,对于任何一个雷管,都有一个电压临界值V0,如果外加电压小于此值雷管不发火,如果电压大于此值雷管发火。然而对雷管加电压的操作是破坏性的,即不管雷管在加电压以后是否发火,它本身的结构都会受到破坏。也就是说对于任何一个输入电压V,我们只能观测到V>V0或V<V0。实际中关心的问题是我们要加多大的电压,才能使得火工品以概率p发火。实际中可取p=99.99%。
通过类比我们看到我们的问题和火工品发火问题属于同一个框架,只是我们关心的p=0.5,即水平相当的机师遭遇时胜负是等概率的。经验表明,对于p=0.5的问题Joseph (2004)的方法效果非常好。该方法数学形式为:假设第n次试验点为x(n),观测点为y(n)。y(n)=1表示马,y(n)=0表示弱。取
x(n+1)=x(n)-c(n)(y(n)-d(n)), (3)
其中c(n)和d(n)为满足某些条件的序列。 选择满足条件的c(n)和d(n)按照(3)式调节能很快达到平衡点。这里只讲一个c(n)的简单性质:会随着n的增大趋近于0。也就是说平衡性调整的幅度要逐次递减。但是衰减的速度也不能太快,否则在达到平衡点之前就停下来了!实际上可以取与1/n同阶的衰减速度。
参考文献
Robbins, H. and Monro, S. (1951). A Stochastic Approximation Method. The Annals of Mathematical Statistics 29, 373-405.
Joseph, V. R. (2004). Efficient Robbins--Monro procedure for binary data. Biometrika 91, 461--470. |
|