游戏的战斗公式设计4:乘除法公式

2018-12-21

一旦战斗公式加入乘除法,理解和进行运算的难度便大幅度提升。在桌游中,很少有运用乘除法的战斗公式。即使有,也是极度基础的运用公式。比如魔法骑士的伤害公式=攻击力/防御力(向上取整)。不过乘除法也能实现极多丰富的机制效果,所以在电子游戏中也运用的最多。

以伤害=攻击力/战斗力来谈,这个公式的特点是防御力提升收益与攻击力提升收益不等同,且单纯防御力的提升收益也不均匀。如果存在取整规则,在小数字数值系统下,也会出现阶梯现象,即会出现断崖式效果提升。

单纯以防御力曲线来谈,导数可以视为收益率,提升1单位的收益等同于一单位面积。可以得出收益随着防御力提升,也越来越降低。但在最初阶段,收益提升则高的夸张。对于攻击力来说,收益相对平稳,不过会出现上面所说的基于取整的断崖效果。

在桌游《魔法骑士》中,不仅数值系统很小,而且防御力的提升是罕见且宝贵的。一局游戏中,最初防御力不过只有2,到结束时也仅有4,即提升一倍。虽然只有二次提升机会,但基于除法公式,使得每次提升都有质的变化。

另外一种常见公式是伤害=攻击力*(1-防御力)。

其中防御力以百分比形式呈现,且有游戏设置的上限。在这个公式下,攻击力和防御力提升都是线性关系,类似于加减法公式。只不过同样有攻击力提升和防御力提升收益不等的问题存在,使得在设计提升单位时需要慎重考虑。比如提升1单位防御力如果是等同于提升1%的防御力,那么1单位攻击力提升绝不可能是1单位攻击力。比如在100攻击力下,10防御力下,提升1单位攻击收益为0.9伤害加成。而提升1单位防御则是1伤害减免。

自然,攻击力也可以用百分比的形式标准化,而免除1单位攻击力具体是多少攻击力提升。即有一个最大攻击,所有攻击力可以视为「最大攻击力*攻击力百分比」。不过即使如此,也还是存在防御力和攻击力单位提升的收益不同。另外这种公式下如果不设置防御力上限,玩家便可能通过堆防御力达到免疫效果。

当然,这并非缺陷,只是设计时需要注意的地方。另外,还有一种改进方式是伤害=攻击力/((防御力/X)+1)。X为固定参数,根据游戏的不同而设定。在此公式下,防御力通常最大值也不会超过固定参数,使得防御力最大程度也只是抵消50%的伤害。另外,在这种修正下,防御力的收益提升也不再是线性关系,而是一个略微下凹,导数趋近于0,收益逐渐降低的关系。通过这种修改,使得玩家可以对属性的提升有一定取舍,即投入多少资源到防御力提升上是较高收益的。通常来说,大游戏环境下有个比较合适的性价比高区域。但单局游戏的具体环境,被迫玩家思考如何基于特定的状况进行调整。运用这个公式的最典型游戏莫过于王者荣耀。

自然,乘除法公式还有很多可探讨的,不过自身研究有限且格式丰富且需要运用简单微积分来进行辅助。所以目前本文只简单谈谈,之后能力水平提升后再详细探讨。