游戏的战斗公式设计 1:复杂的与简单的

2018-12-18

这系列文章目的不是把自己已经相对成熟的思考和知识记录下来,而是一个探讨的过程。就目前而言,自己很少深入针对数值设计进行详细分析。只写过两篇文章,详细分析两款桌游的数学模型(发在旅法师营地中)。设计的PNP桌游的数学模型也很基础简单,所以有必要在这个重要的项目中进行研究。

战斗公式在本系列文章指代战斗系统中主要运用的公式算法,比如伤害公式、buff/debuff效果公式等等。而指代抽象战斗力计算,并不在实际战斗中运用的战斗力公式不在此讨论范畴。具体的数值设计,比如不同等级的属性成长和标准属性模型、经验值和奖励掉落与升级经验值需求等等,也不作为重要的讨论范畴。

电子游戏中,通常战斗公式设计的极其复杂。但战斗数值公式复杂不意味着设计的好,同理,简单不意味着设计的差。固然战斗公式的复杂度会限制游戏的深度上限,但不同游戏的针对体验不同风格不同,所以需要的不是「单纯复杂或简单的公式」,而是「合适的」。

也就是说,战斗数值公式设计时要有目的性质的设计。同时需要考虑,公式是希望简明到玩家可以自行计算,还是深藏在系统之后并只暴露出一些定性的内容。

越是注重游戏中策略占比的游戏,公式的透明度就越需要高且计算应该越简单。比如战棋,哪怕极其复杂的桌面兵棋如ASL系列,战斗数值系统基本也不过是加减法/比大小/除法与交叉查表,保证玩家可以掌握游戏的数值计算,并在策略分析中运用。

并且,计算公式本身没有意思,让公式复杂到需要用定积分等高等数学知识没有意义。另外,如果公式本身计算的难度过大,那么对于绝大多数玩家来说透明战斗公式本身的存在便失去意义。因为复杂致使计算代价太高,那从玩家的角度来说,就相当于不存在一个可被理解并运用的公式。

计算公式的目的是为策略战术上思考提供基础资料,好让玩家能得出自己的策略路线与各种选择方向可能性。换句话说,越需要玩家理解游戏系统,熟悉数值模型和游戏机制并基于此进行策略战术思考的游戏,越需要有一个在满足深度的前提下尽可能简单易于计算的公式。

另外一边,则是复杂的战斗力公式。通常来说,如果玩家不需要准确定量地理解数值系统,只需要理解从数值系统中推断得到的信息,那么使用复杂的战斗力公式便不会带来负面效果。

复杂的战斗力公式可以带来更丰富的内容,并且基于电子游戏的连续性,也带来丰富的变化。另外不考虑可计算性的公式,也能基于复杂的形式,带来独特的体验。

不过复杂的战斗公式即使复杂,也需要玩家能「定性」地分析。玩家虽然无法,也不会,准确计算。但可以基于公式的特征,得到信息并基于此进行策略上的安排与调整。

比如在《王者荣耀》中,如果想压制的角色魔法伤害强而物理防御低,则在出装备时就可以针对这点进行搭配。同时也能基于展示数值,快速得到一个大概的、性价比最强的范围。

或者在《任天堂大乱斗》中,被击飞的的初速度由多个方面影响:玩家自身受到的伤害值、敌人伤害值(怒气)、攻击技能基础吹飞值、攻击技能打击点伤害的加成和削减、被攻击玩家的LSI、玩家自身和对方的buff和debuff等等参数影响。公式自然极度复杂,但这种复杂并没有影响体验,而是丰富了玩家需要考虑的范围。原因即是虽然公式本身可能极度复杂,但可以非常清晰地找出基础的性质,并且在游戏过程中理解并基于这些性质而使得进行游戏时运用这些规律十分简单。又因为复杂且多样的参数,也增加了深度和上限。

总结来说,战斗数值公式设计需要以游戏的体验为基础而设计。并且需要在尽可能增加深度、公平和乐趣的同时,保证简单易理解。换句话说,连定性都难以做到的公式设计是不能为玩家带来策略上的丰富思考,也不能为游戏体验带来积极的成分。