游戏数值吧 关注:184贴子:142
  • 3回复贴,共1

如何高效设计游戏——关于战斗力计算方式的总结

只看楼主收藏回复

1楼给度娘点灯用。


IP属地:上海1楼2014-08-08 10:42回复
      到这里,我们可以观察出,一方的战斗力是如何受对方影响的。
      在这种情况下,我们称,该角色的战斗力是相对的,而非绝对的。
    如何在相对中寻找绝对(适用环境局限,需待多方验证)
      从以上的分析中,我们可以看出,在有 DEF 属性参与战斗计算的时候,一方的战斗力不是 一个定值,并且,三个单位的战斗力也不具有传递性。例如:
      我们定义一个战斗单位,UnitName(HP,ATK,DEF,SPD)。
      有如下 3 个战斗单位,UnitA(200,30,10,1),UnitB(450,20,15,0.5),UnitC(200,20,5,3)。
      经过计算,我们发现三方的战斗力关系是,A>B,B>C,但却 C>A。
      这是由于,UnitC 的攻击与 UnitB 的防御的差值过小,以至于 UnitC 的每一份攻防差的收益 过低,造成了 UnitC 出乎意料的输给了 UnitB。
      这种现象不可避免。但是,通过多次试验以及分析函数图像得出,当攻击力远远大于防御 力的时候,这种现象发生的机会将会变少,并且有理由相信,在极限状态下,这种现象将不会存 在。
    
      因此,我们可以人为的在规划数值的时候,将攻防的差距尽量拉大。从而减少这种现象的 发生。
      不过,这种现象也是一种策略性的玩法,因为它符合石头剪刀布的封闭克制关系。
    塔防游戏中的战斗力计算模型
      笔者在之前的文章中已经较为系统的给出了塔防的数学模型,只是那篇文章写的较早,以 现在的眼光看来,比较杂乱无章,所以整理好思路,重新总结一遍。
      我们定义防御塔拥有三个属性,TowerName(ATK,FRQ,RGE),敌方单位 UnitName(HP, SPD)。已知,敌方单位总是穿过防御塔的攻击范围与路径的交集,在这里我们定义为 ELP(The Effective Length of Path)。
      若,我方防御塔刚好能够杀死敌方一个单位,则用数学表达式抽象为:


      由于,在多数情况下,ELP 的长度都与防御塔的范围半径相近,所以有


    
      这样,我们得出了一个完美对称的等式,左边全都是敌方单位的属性,而右边全都是防御塔的属 性。因此我们定义一个值 SET 作为衡量双方的战斗力大小的值。对于防御塔来说,其战斗力为

      对于地方单位来说,其战斗力为

      当防御塔 ATK*FRQ*RGE 大于敌方单位 HP*SPD 时,则防御塔能够在无干扰的环境下轻松杀死敌 方一个单位;当防御塔 ATK*FRQ*RGE 等于敌方单位 HP*SPD 时,则防御塔能够在无干扰的环境 下刚好杀死一个单位;当防御塔 ATK*FRQ*RGE 小于敌方单位 HP*SPD 时,则防御塔很难杀死一 个敌方单位。
    多个防御塔攻击一个敌方单位
      在这种情况下,由于各个防御塔之间不互相干扰,所以所有防御塔可进行战斗力的加法运 算来衡量我方总战斗力是否能够杀死该敌方单位。
    多个防御塔攻击多个敌方单位
      在这种情况下,模型会变得稍微复杂,我们将不能简单的进行加法运算从而对比防御塔与 敌方单位战斗力的大小。
      这是因为,防御塔的“抬手效应”与敌方单位的队伍间隔会极大影响战斗结果,试想一种 极端情况下,10 个敌方单位聚集在一小块范围下移动,当防御塔击杀第一个敌方单位的时候, 再也无力击杀下一个单位。
      不过,为了考虑到设计游戏的实际操作性,我们通常会合理规划每个敌方单位的间隔距离, 从而使得方便计算。在这种理想状态下,该模型还是可以良好运行的。
    横向对比现有的游戏
      之前看到很多游戏都有计算过战斗单位的战斗力,但是几乎所有都采用同样的一种方法 -------加权多项式。
      这种方法原理是,游戏设计者评估一个战斗单位的每一项属性,并且把每一项属性顶一个 权值,最后以加法运算得出战斗力。如:

      但笔者认为这种计算方式利弊并存。坏处是,这种计算方式并不科学,不能较为可观的衡量该角 色的战斗能力。好处是,这种计算方式直观容易理解,并且对比笔者总结的模型有一个最大的好 处,就是数值小,并且数值增长幅度也小。
    
      所以笔者建议,以上数学模型适用于战斗平衡的调整以及数值规划。不建议让用户观看理 解。
    结束语
      至此,想要总结的模型都已结束。
      不知道大家有没有关心这样一件事情,从以上两个模型,我们都可以看出数学等式的一种 对称美,就好像,被人刻意安排一样。但我认为这并不是一种巧合,我有理由相信对于其他类型 的游戏来说,其战斗力的计算同样为因式的基本模型。
      其实游戏中的一些数学模型非常简单,只是大家很少去关注,去抽象,去总结。非常希望 有识之士能够一起来总结一些规律,一起来构建起这座大厦。为业内贡献一份力量。
    注:关于RPG角色数值模型,参考自网易游戏理论研究室的相关资料,但略有修改。
    作者:Einsphoton (任江枫)


    IP属地:上海3楼2014-08-08 11:42
    回复
      转自Gameres。好好学习天天向上艰苦努力不搞对象


      IP属地:上海4楼2014-08-08 11:48
      回复
        2014.8.21日日日日日日日日日日日日日日。


        IP属地:上海5楼2014-08-21 13:59
        回复