手游戏设计知识点:如何科学地计算战力?

>>>  技術話題—商業文明的嶄新時代  >>> 簡體     傳統


  GameRes游资网授权发布 文 / 胡摆平

  一款手机游戏,有攻击、防御、生命三属性,伤害值=攻击-防御。该如何科学地计算战力呢?游戏中战斗力相等意味着两单位战斗回合数相等,所以战斗力确定应在模型差异化之后进行。

  我举个反例来说明一下:

图1


  这是你的原生模型。

  这个模型平衡的条件是:两两对A的战斗回合数必须是三回合。例如这样:

图2


  但如果是6回合呢?就会变成这样:

图3


  减法公式,经典战斗模型总会遇到这个问题。非限定战斗回合数的战斗可造成战斗力估值的偏差。而且在没有单回合美术表现时间作为设计依据的情况下,这个3回合是拍(脑袋)出来的。

  但,这还不是最虐的……最虐的是做三职业以上平衡的话,就会出现这样的情况:

图4


  模型对K战斗时长平了,但战斗力平不了。三组战斗回合数你最多保两组就不能再多了,剩下一组一定极其奇葩……附模型平衡九宫格(九宫格数字是回合数):

图5


  所以说,这个战斗力平衡的定义,很重要。我目前想到的有以下四个标准:

  1、战斗力以不同模型之间的战斗平衡为基础条件,先建立平衡再破坏平衡。

  2、战斗力是战斗数值中的一般价值量,即把所有战斗数值统一转换成一个代表角色实力的数值,恒定值方面最后得到的是一个连等式。

  3、战斗力分两种:一种是数值计算时用到的一般价值量,一种是给玩家看的战斗参考;前者要求非常精确,后者可以不精确但必须让玩家容易理解(下面例子是数值计算)。


  4、一个属性在不同模型中的战斗力可能是不同的,必要时可尝试手调。

  所以,根据以上四个标准,我的数值流程一般是这样的:

  1、建立原生模型(图1)

  2、拆分差异化模型(图4)

  3、九宫格战斗配平(图5)

  4、设「战力=x攻击+y防御+z生命」,可得以下方程组:



  解之得XYZ值为三项属性战斗力。

  但这里需要注意的是:

  1、方程一定写对,否则可能实数范围内无解。

  2、技能型模型的生存能力部分是经过特殊处理的。别的模型中「1攻击 = 1防御 = 6生命」,但技能型模型中是「1攻击 = 1防御 = 4.8生命」所以最后成型的平衡模型是这样的:

图6


  九宫格配平如图5。

  两两对冲全平,战斗力全等。

  一、暴击等数值的战斗力换算

  二、技能效果等战斗力测定(相对战斗力VS绝对战斗力)

  三、给玩家看的战斗力

  PS:这个模型是以对冲模式写出来的,所以看起来可能会比较拧巴,但实际玩起来很好理解:防御都一样,血多的就是T,攻高的就是DPS;这个也可以写成循环模型,例如「A克B,B克C,C克A」的形式,也能达成平衡。但这种模型个人感觉在应用层面很容易失控,其中一环倒掉经常产生连锁反应。

  PS2:其实这个模型还可以再次简化,去掉防御,看起来更直观一些。因为防御也是你的有效生命嘛,先要有最小模型,防御已经算扩展了。

  PS3:三职业九宫格平衡是有最优解的(没记错的话用到了积分),但那个最优解在感受上也比较奇怪,因为其实你要求的并不是三职业两两对冲的时候六个回合数完全相等。



GameRes游资网 胡摆平 2015-08-23 08:56:54

[新一篇] 量子力學顯示:人死后意識會轉移到另一個宇宙

[舊一篇] 靜態游戲環境中幾種實用的自動尋路算法
回頂部
寫評論


評論集


暫無評論。

稱謂:

内容:

驗證:


返回列表