如何从零搭建一个类魂游戏的战斗数值框架

作者:绣寒 2026-07-07

作者:绣寒  公众号“游戏设计师自我修炼之道”

闲来无事,写一套类魂游戏战斗数值框架搭建教学,抛砖引玉,供大家参考。

本文面向新手数值策划,行文结如下:

1. 定义战斗属性

2. 定义战斗公式

3. 怪物属性模板

4. 主角成长预估

5. 怪物成长预估

6. 动作倍率框架

7. 旁支数值叠加

总共七个部分,预计分两期讲完。

切记数值框架只是一个用来调整数值的工具,搭建一个可供优化的基础,不要为了所谓框架的严密试图去量化一切,这样既不现实,也没体验。

(上)

接下来我们正式开始。

定义战斗属性

此时我们面前只有一张白纸,需要做的第一件事,就是定义战斗属性,去确定游戏中有哪些战斗属性。

战斗属性的定义深度依赖于战斗玩法的设计,这里由于我们已经假定是类魂游戏,所以可以直接开始属性的定义。

这部分要回答三个问题:

有哪些属性?

属性的上限值和初始值是多少?

采用大数值还是小数值?

类魂游戏的属性是比较单纯的,没有网游那一套特别复杂的属性联动,比如暴击率和抗暴击率、护甲穿透和抗护甲穿透之类的这种花式结对属性。通常来说,类魂的一套mvp属性框架包含:

基础属性:

生命值。

攻击力。一般攻击力会分物理和魔法,视玩法设计情况而变动,可以更多,比如法环的穿刺、打击、斩击等,这里就先只分两种。

防御力。通常和攻击力是结对的,攻击分物理、魔法,则防御力也分物理和魔法。

进阶属性:

最终伤害减免。更高级的防御力,一般也和攻击力结对,分物理和魔法。通常处于战斗公式的最后计算部分,收益很高。

行动资源属性:

体力及其恢复速度。动作游戏用于控制玩家行动能力的资源,可以没有,但它是一个非常便捷地影响战斗交互的属性,不设计体力的话,战斗交互的设计难度会变大,比如只狼的战斗交互设计会显著高于黑魂。

能量。或者叫蓝条,通常用于释放技能。能量的设计也分多种,视设计不同而变化,可以是传统法力值,也可以是怒气,也可以是类似匹诺曹的那种充能。

此外还有类似于韧性、各种异常攻击力及抗性等其他属性,它们也是类魂战斗的核心属性,但和行动资源属性一样,更偏玩法侧,不纳入战斗属性的底层计算,此处先不考虑,聚焦于战斗的基础计算。

当确定了战斗属性有哪些后,需要确定其初始值和上限值,初始值代表角色出生时的属性,上限值代表成长拉满之后的属性。确定它们的意义在于,我们需要把控游戏各个非线性区域之间的对抗关系。

由于类魂通常不是纯线性,玩家同时有多个区域可供探索,而玩家在探索区域时一定会获得属性成长,此时回头再打之前没打的区域,此时的战斗对抗关系需要把控。

假如攻击力的初始值是100,上限值是10000,那么也许玩家通过一个区域的探索后,攻击力变成了500,此时再回到前期区域打怪那么将造成数值碾压,一刀一个,这显然是类魂游戏不可接受的。所以通常来说,属性的上下限差异较小,初始和全满控制在3~5倍。所以类魂中经常出现100级角色回到新手村,还是被几刀砍死的情况。

接下来需要确定是用大数值还是小数值,大数值精准,小数值漂亮。对于类魂来说,玩家的主要精力是放在操作练习,而非属性堆叠,它们对属性的变化没有网游那么敏感,所以通常采用漂亮的小数值,来使整个游戏的数值呈现更优雅。

综上,我们最终能定义出大概这样一个战斗属性:

其中,绿色代表手填值,黄色代表计算值。

并且大家可以看到,对于基础属性,它们参加战斗结果的底层计算,是数值成长感的主要提供方,所以需要严格遵守上下限倍率差异,防止数值碾压。

对于进阶属性,主要的来源是特殊的buff、特殊装备等,是一种战术选择而非常驻属性,所以它们没有初始值,也不存在成长。

对于行动资源属性,这是动作成长感的一部分,不需要严格遵守上下限倍率差异,而是根据动作玩法的设计而定,各不相同,比如图中体力的成长空间为2.5倍,压低倍率差异,防止行动过于自由从而使体力属性直接失效;体力恢复速度也是同样的道理,它不需要常驻成长,和进阶属性一样作为一种战术选择,通过道具或者特殊装备施加;而能量是技能释放维度的属性,影响后期的操作上限,可以选择5倍。

定义战斗公式

战斗公式没有通用的最优解,只有适合当前游戏体验目标的公式,所以,在定义战斗公式前,思考一个关键问题:

玩家通过什么来获得胜利?

对于类魂游戏,我们当然希望玩家通过学习操作技巧和敌人攻击模式来获得胜利,不希望玩家依靠数值获得胜利,同样的,也不希望玩家因为数值而失败,所以战斗公式需要尽量规避以下情况的出现:

攻击造成的伤害值极高,造成秒杀,破坏动作交互乐趣

攻击造成的伤害值极低,几乎无法造成伤害,使动作交互变得无意义

所以,最适合的方式就是防御力收益边际递减的百分比减伤,即:

最终伤害 = ATK * (1 - (DEF / (DEF + K))

其中K是常数,它的取值决定了防御力收益的递减速度,多次尝试取一次合理的值即可。

结合上一节我们对属性上下限的规定,这样的公式可以保证双方必然会有一定数量的交战回合。

不过这个公式还不完整,我们上一节还定义了最终伤害减免这条进阶属性,我们也需要将其放入公式中。

此外,对于动作游戏,我们肯定不希望每一招的伤害都是一样的对吧,所以还需要引入动作倍率,最终,一个mvp的战斗公式大概是这样:

公式可以根据玩法的设计来扩充,比如,如果你想要引入暴击率和暴击伤害,当然,类魂通常不会这么做,因为它会破坏动作交互,让玩家的注意力从动作交互转移到数值养成上。总之,如果你想引入一点别的什么来修正输入的伤害,那么公式的ATK部分可以变为:

ATK = 技能伤害 * 技能修正

以暴击为例,技能修正 = 1 + 暴击伤害率,它通常是 150% 或 200% 。

比如你还可以加入随机浮动,那么ATK部分变为:

ATK = 技能伤害 * 技能修正 * 随机浮动

随机浮动 = random(0.9,1.1)

总之,mvp的公式确定之后,想要怎么扩展都可以,你需要注意的只是它们在公式中的位置,它会对结果产生重大影响。

另外,关于动作倍率,我们会在后文专门展开。

怪物属性模板

我们已经确定了属性种类和战斗公式,意味着我们搭建好了推演怪物属性的桥梁。

第一步我们要定义预期的战斗时长。

战斗时长通常会抽象成回合,一个回合等于一次攻击,那么我们需要确定,主角几次攻击杀死敌人?怪物几次攻击杀死主角?

这需要基于对优秀体验的判断,来拍脑袋定一个数。通常来说,类魂游戏中,一对一的战斗是一个均衡状态,一对多就会处于劣势。所以在类魂中,主角和怪物的数值身板是类似的,即主角杀死怪物需要的回合数 = 怪物杀死主角需要的回合数,比如这样:

定义回合数,还需要结合对游戏的设计,如果是高速动作游戏,那么回合数需要加长,这样才能保持相同的物理战斗时长。

第二步,定义怪物标准属性。

有了回合数,我们还需要拍一个值,才能计算出怪物的标准生命值,那就是怪物防御力,我建议选一个比较居中的值,也就是减伤幅度在40%~50%的值作为怪物标准防御力,这样后续我们才好定义高防和低防怪物,高于标准即高防,低于标准即低防。

此外,对于类魂游戏,怪物防御力是不需要成长的,它是怪物的一种特性而不是随强度而成长的属性。玩家怪物成长的感知,做在生命值上即可,也就是说,随着玩家攻击力的提高,生命值会随之提高,但防御力不会。

在常数K为25的情况下,防御带来的减伤率如图,我们挑选一个减伤幅度较为居中的防御力值作为标准防御力,选一个20吧。

此时,有了主角的初始属性,有了战斗公式,有了回合数,有了怪物标准防御力,我们便能够推算出一个怪物的标准属性,如图:

其中,绿色仍代表手填值,黄色仍代表计算值(后续都是这个规范,不再赘述)。另外,这里只需要推算怪物的基础属性,进阶属性和行动资源属性都不属于标准属性范畴,它们更多地也是特性而非常驻属性,甚至怪物的行动都不依靠行动属性来控制,而是交给AI和战斗变量设计。

怪物的标准属性有了,我们还需要定义不同等级怪物的生命倍率。这也是类魂比较简单的地方,由于怪物对主角的回合数已经很少了,即使是Boss,也基本不会再提高攻击力了,而防御力又作为特性存在,所以小怪、精英怪和Boss之间的差异只有生命值,也就是说,精英怪和Boss需要更多的生命值来获得更长的战斗时间,来展示它们的动作和行为设计,提高玩家的行为模式学习难度。此处,我们拍一个生命倍率表,如图:

确定的依据仍然是对优秀体验的自我判断,要么靠调试要么靠经验,这里姑且定一个1、4、10吧。

第三步,定义怪物差异属性。

虽然有了怪物标准属性,但每个怪肯定是不一样的对吧,怪物特点的一部分也由属性来赋予。比如低血高攻的黑刀刺客和低攻高血的山妖。

所以,我们还需要一张怪物属性差异表,来对标准属性进行一次分配,如图:

如此,怪物的特点便出来了。

你可能会疑惑,山妖的攻击力根本没有这么低,打人还是很疼呀。其秘密在于山妖的动作缓慢,其招式的动作倍率很高,所以并没有感知到它的攻击力很低。相反,黑刀刺客攻击力很高,但由于攻击迅捷,动作倍率较低,所以你也没有明显感知到他的攻击力很高。

而防御力作为一种特性,就会有很明显的感知。山妖物理防御力显著高于魔法防御力,当用两种不同的攻击力类型对其造成伤害时,差异显著。这个差异可以继续拉大,跟着设计走,随你喜欢,比如魂里面的结晶人,几乎免疫所有伤害,但是使用打击伤害可以轻松解决它。

另外,这里手动的权重分配并不一定要平衡,没有规则,你要是拍脑袋觉得某个怪就是全线超标,你把所有属性的权重都拉到200,只要最终的体验没有问题,那就没有问题,不要让数值框架成为束缚,它只是一个用来调试数值的工具。

本期内容就先到这里,下期继续剩下的部分,希望大家喜欢。

(下)

这是面向新手数值策划的类魂游戏战斗数值框架搭建教学的下期。

主角成长预估

到这里,我们已经确定了有哪些属性、主角的属性成长范围、战斗公式以及怪物的属性模板。接下来需要确定主角的属性成长节奏,这是战斗数值和经济数值的接口,后续绑定关卡流程的投放时,需要尽量拟合定好的节奏。

属性成长节奏通常不是一条匀速直线,而是「前期给反馈,中期立结构,中后期促成型,后期收边际」的体验曲线。概括来说,它大体呈现出前期快、中期稳、后期缓的趋势:

前期:玩家刚进入游戏,需要比较高频的反馈来串联起引导、教学以及给玩家带来迅速熟悉、掌握游戏的成长感,以营造「我很弱,但我成长很快」的感受。

中期:玩家已经明白游戏该怎么玩了,成长作为关卡节点的奖励稳步投放,支撑长线动力。营造「我懂了,我要开始主动推进了」的感受。

后期:玩家的主要目标集中在世界观的探索、故事的推进和战斗技巧的磨练,对常规数值提升不再敏感,成长开始放缓,边际成本逐渐提高。营造「我的打法已经成型,我要到处霍霍」的感受。

于是,我们大概可以拉出这样一条成长释放曲线。

如果把曲线落到几个关键流程节点上,就可以得到一张粗略的成长释放表。

需要注意的是,虽然这是一个整体的节奏,但不同的属性,根据游戏整体设计的不同,会有细微的差别,我们需要在符合整体节奏的情况下去微调。

比如,我们把属性分为生存属性(生命值、物理防御、魔法防御)、攻击属性(物理攻击力、魔法攻击力)以及行动资源属性(体力及恢复速度、能量),这三个类型的属性投放上,有细微的区别。

生存属性,影响的是玩家的容错率,它更多的是稳步提高,不一定需要非常明显的感知,它是一种细水长流的感觉,所以相较于整体节奏曲线,它会更平稳,前期没有那么猛、后期也没那么缓。

攻击属性,影响的是玩家的战斗爽感,但它很危险,非常容易破坏战斗结构,需要避免出现,玩家还没理解怪物的机制,怪物就被数值压死了。所以它的节奏最符合整体节奏曲线,前期快,中期稳,后期缓。前期通常是调流程、调数值花费精力最多的地方,攻击力的快速成长给予玩家反馈的同时,设计师也在调整流程上的怪物数值,能够手动避免战斗结构被破坏。而中期,就需要按相对固定的节奏去稳步投放,缓释攻击力造成的影响,而后期,攻击力的成长几乎接近天花板,玩家需要靠战斗技巧来应对怪物了。

行动资源属性,影响的是玩家的战斗手感,它是类魂动作游戏内,最敏感也是最能改变体验的属性。它不是单纯的数值更高,而是改变玩家能做什么。所以它的成长一定要有鲜明的感知。每成长一次体力,玩家一定能够多砍出一刀或者多翻滚一次;每成长一次体力恢复速度,玩家一定能够感到自己的进攻节奏更绵密了,回合之间的间隔在缩短。每成长一次能量,玩家一定能多释放一次技能,能组合出更多的战术。这类成长也符合整体节奏曲线,但它的成长一定是阶段性阈值,而不是小数值平滑增长。

对不同的属性进行细分之后,再根据预估的游戏流程时长(这里以20h为例),就可以大概拉出一张主角的属性成长预估表,如图。

注意,我这里几乎是照着整体节奏曲线拉的,如果你的游戏对不同属性有节奏的微调,则以微调后的数据为准。另外,大家可以看到,对于行动资源属性这种必须以阶段性阈值来投放的属性,最精准的还是依赖于手调。也就是说,在关卡流程中,哪个节点该获得多少行动资源属性,是定好的。而其他属性,则是散落在关卡各处,节点性质没那么强。

这张表并不是最终的结果,而是一张靶纸,调关卡流程时,就是在打靶,打得准,实际体验趋近于预估,打得不准,就会影响战斗交互体验。

怪物成长预估

因为我们前面已经确定了战斗公式,也确定了玩家与标准怪物之间的回合模型,比如玩家几刀击杀怪物、怪物几下击杀玩家、双方防御如何折算伤害。那么当主角在某个流程节点的属性确定后,怪物在该节点应该拥有多少生命、攻击、防御,也就可以被反推出来,如图:

这里以30min为刻度,与主角属性预估对齐。如果你想要更细或者更粗的颗粒度,就需要两边一起调整。

怪物的属性是根据主角的属性推算出来的,所以如果最后关卡流程的投放未能拟合主角成长预估的话,势必会对战斗交互体验造成破坏,破坏程度就看打靶打得有多歪了。

动作倍率框架

到这里,我们解决的是「谁有多少属性」的问题。但战斗不是两个属性面板互相撞击。真正落到体验里,伤害一定是通过一个个具体动作发生的。同样是 100 点攻击力,轻击、重击、蓄力、跳劈、战技,不可能造成完全一样的结果。因此,下一步我们需要引入动作倍率来衡量不同动作的伤害系数。

我们如何判断有哪些因素会影响动作倍率呢?答案就是战斗交互直觉。

比如,首先想到的因素就是动作时长,时间越长的动作,伤害越高,符合直觉。不过动作时长太粗了,我们需要对其做一个拆分,分为发生帧和恢复帧。

发生帧通常代表着招式的命中难度,发生帧越长,留给玩家的反应时间就越多,就越容易应对。所以发生帧越长,动作倍率越高。

恢复帧代表着该招式的风险,恢复帧越长,该招式被躲避之后自身就越危险。所以恢复帧越长,动作倍率越高。

但此时我们再进一步思考,如果招式没有被躲避呢?招式命中后对目标造成了长时间的硬直,此时自身的恢复帧的负面影响就被削弱了。所以,也许这里更具代表性的参数是,硬直差。

硬直差 = 敌人恢复行动的时间 - 自己恢复行动的时间。如果结果为正,说明我方先动,是硬直优势;如果结果为负,说明敌人先动,是硬直劣势。

于是我们可以简单拉出一个动作帧数的倍率影响表,如图:

框架有了,具体的数值就再根据实际的体验不断调整。

此外,我们还需要根据战斗的设计加入更多的影响因素:

体力。通常是体力消耗越多的动作,效能越高。

能量。能量用于放技能,通常是能量消耗越多的技能,效能越高。

出手韧性。韧性越高越不容易被打断,那么韧性越高,效能越低。

如果想拆得更细,甚至攻击角度、攻击长度、位移距离都可以算进去,就看是否有必要。框架只是为了有一个调试的基础,而不是非得量化一切,很多时候上面的重要因素外加手调就能够满足需求了。因素太多,还有可能适得其反,因为你很难精确评断不同因素的价值,因素多了之后,每个因素一点误差,十个因素就是十点误差,反而谬以千里了。

有了上述框架后,我们给每个招式填上值,就可以算出动作倍率了,这里就不演示了。

旁支数值叠加

这部分主要讲类魂里面一些常见的其他小战斗系统的数值设计。

比如处决,一次处决究竟多少伤害合适?我们需要从感受出发,如果1次处决伤害 = 2次普攻,那就没有爽感,有爽感至少需要等值于4~5次普攻。这时你会发现,一次处决基本上就能带走大部分的普攻小怪,是否能接受?

这要取决于处决的触发方式,如果是绕背处决的设计,玩家需要纯靠技巧去触发处决,那么这就是能接受的。如果是积累攻击来使敌人气绝,然后处决,这样的设计表明处决不是额外奖励,而是战斗节奏的调控手段,那我们就需要做一点小调整,将敌人的生命系数拉高,把处决融入正常的战斗交互。

判断一个旁支系统是否要计入怪物属性模板,关键不在于它有没有伤害,而在于它是否稳定进入玩家的基础战斗循环。常驻能力要计入模板,核心循环能力要部分计入模板,而消耗品、逃课道具、低频爆发能力,通常不直接计入标准模板。

所以对于战斗道具也是同理,以附魔道具为例。附魔后除了能够造成异常状态的积累以外,还会有额外的直伤,这两部分的数值是否计入怪物属性模版?答案通常是不计入,因为在类魂游戏中,战斗道具就是给玩家逃课用的,怪物的属性是按照玩家不使用任何道具来计算的,这样高手玩家,尤其是那些倾向于纯靠操作解决战斗的玩家,不会感到被数值碾压,而其他玩家只要使用道具就会获得额外的优势,来达到一种通关率上的均衡。

至于关于异常量表叠加、异常直伤的计算公式,这里不再展开。理解了前面的公式逻辑之后,异常量表与异常直伤,本质上只是同一套思想的变体。

写在最后

到这里,一个类魂游戏的基础战斗数值框架,才算真正从「一堆孤立的数字」变成了「一套能够互相牵引的系统」。

我们先确定主角的属性范围,知道玩家从弱到强,大概要走过多远的路;再确定成长释放节奏,知道这些成长应该在流程中如何被玩家逐步感知;随后根据战斗公式和回合模型,反推不同流程阶段的怪物属性,让怪物不是凭感觉变强,而是跟随玩家成长一起抬升;最后,再通过动作倍率、处决、道具、异常状态等旁支系统,把面板数值落回到一个个具体的战斗行为里。

这套方法最重要的地方,不在于表格里的某个数值是否绝对正确。事实上,所有数值在真正进入关卡、动作、AI和玩家测试之后,都一定会被反复推翻、修正、重算。它真正的意义,是先给设计师一张靶纸。

没有靶纸时,调数值就像在黑暗里乱射。怪物太硬了,就砍生命;玩家太脆了,就加防御;技能太强了,就削倍率;打着打着,所有问题都像是数值问题,所有调整也都变成了局部止痛。最后得到的不是一套系统,而是一锅被反复加水、加盐、加糖之后,已经尝不出本味的汤。

而有了框架之后,每一次调整至少知道自己在动哪里:是主角成长释放太快,还是怪物属性跟得太急?是攻击力破坏了战斗回合,还是动作倍率给错了风险补偿?是处决应该作为奖励存在,还是应该被纳入基础循环?这些问题一旦被拆开,数值就不再只是 Excel 里的填空题,而变成了对战斗体验的结构化表达。

所以,战斗数值设计并不是追求一次算准。它追求的是:先建立关系,再验证关系;先画出靶纸,再不断校准弹道。

真正成熟的数值框架,不会让设计师免于调试,但会让每一次调试都有方向。它不会替你回答「这个游戏到底好不好玩」,但它会帮你看清楚:当游戏不好玩时,到底是哪一层关系出了问题。

以上,就是我对类魂战斗数值框架的一点拆解。

如果这篇文章能帮你少走一点弯路,也算是这张靶纸,先替你挡了一发暗箭。

最新评论
暂无评论
参与评论

编辑推荐 查看更多
【爆款新游】【潜力佳作】分析系列
推广
类魂游戏设计专题
推广