从体验出发,搭建战斗数值框架
从体验出发,搭建战斗数值模型
数值服务于游戏的体验,从很大程度上来说,玩家通过游戏数值获得游戏的体验,而数值模型的搭建是一个逆向的过程,从预期的玩家体验去推导数值。
游戏的数值模型主要分为战斗数值和经济数值两大部分,两者通过成长线结合在一起,且在游戏的设计中互相影响,需要在实际设计中不断调整。本文主要讨论战斗数值模型的搭建。
笔者能力有限,文章偏向于基础向,文中涉及的诸多部分在设计过程中会相互影响,未能够梳理成严格的顺序。同时,单独讨论战斗数值模型会有诸多限制,因为经济数值同样会影响着数值分配和成长效果,由于时间和能力问题,之后再对经济数值的加入做进一步的完善,还请见谅。基础性文章的问题之一是,在庞大丰富的游戏库面前,会有诸多不相适应的地方,欢迎大家指出并一起讨论。
1.游戏品类
游戏品类影响着玩家对游戏最基本的认知和体验预期,当玩家接触到一款游戏时(这种接触甚至可以是想象当中的接触),根据其品类(通过实际体验、CG、视频、文字介绍、发布会等途径获得),往往基于已有的游戏经历,会产生相应的体验期待,这就会对游戏设计提出内在要求。游戏设计很多时候会从玩家模糊的或者清晰的期待出发,进行核心玩法的搭建和核心体验的尝试。同时,市场上已有的此类游戏,也会培养出玩家一定的习惯,很多优秀的设计甚至会成为这类游戏的标准。
游戏品类通过游戏外在特性和游戏内在特性对设计产生影响:
外在特性,主要通过硬件平台体现(通常也会包括所在地文化,细分用户群体特点等方面)。不同的硬件平台,比如:电脑游戏、手机游戏、主机游戏、掌机、体感游戏、VR/AR游戏,会对游戏时长和操作空间等带来较大的影响。在时长方面,MOBA游戏,手机上5~15分钟的单局时长,而电脑上则可能是30~60分钟;传统端游的大型PVE副本0.5~2个小时的时间,手游上很可能就是5分钟以内的战斗过程。在操作空间方面,主机上的ACT游戏和手游上的ACT游戏有着巨大差异。这些最基本的战斗时长和操作体验对于数值的设计也会提出相应的要求。
内在特性,通常围绕着游戏的核心玩法展开。比如:MMO回合制、国战、SLG、FPS等游戏体验具有很大不同。100V100的国战游戏中,玩家之间的死亡节奏远快于传统的MMO回合制游戏。FPS游戏中玩家的操作空间远大于SLG游戏,而SLG的战前选择战中策略所需要的思考深度又远大于FPS。即使在同样都属于军事射击题材的坦克世界和CF,在体验上也是大不相同。这些不同,都会在数值设计上有所体现。
游戏品类带来了最初的体验需求,这种需求在最初往往是一种大概的界限,在搭建的过程中逐步明确下来,并在后期不断调整优化。
2.属性
战斗系统拥有多种多样的数值,它们互相作用,共同塑造出战斗体验。这些不同种类的数值,就是通常所说的属性。
根据游戏类型的特点,为了给玩家营造与之适应的“浸入感”,不同类型的游戏会有不同的属性纬度。
比如
MMO:攻击、防御、血量、暴击、命中等
FPS:散射范围、后坐力、开火间隔、载弹量、备弹量、射程等
竞速:最大速度、加速度、碰撞性能、超车性能、弯道性能等。
对于类型比较接近的游戏,作用相同的属性,依据世界观也会进行一些包装,比如武侠游戏中的内功外功根骨身法、暗黑系游戏的力量敏捷等。
在一个游戏内部,还可以继续对属性做划分:
比如:1级属性和2级属性,典型的如dota:
一级属性 | 二级属性 | ||
力量 | 攻击(攻击系) | 生命 | 生命回复速度 |
敏捷 | 攻击(敏捷系) | 护甲 | 攻击速度 |
智力 | 攻击(魔法系) | 魔法 | 魔法回复速度 |
引入对抗属性,比如命中和闪避,暴击和抗暴击,五行攻击和五行抗性等。
属性,承载着游戏内容的表达,这并不意味着游戏的属性越多越好,选择能够满足游戏特性的,玩家容易理解和接受的即可。过多的属性加入,反而会让游戏变得复杂而难以理解,甚至难以满足预期设计,进而使核心玩法和内在乐趣被忽略。在COC中,玩家的基本属性只有攻击、生命两类,简单易懂,兵种的特性也更多的通过攻击特性进行区分(本文会多次提到COC,主要为了说明简单的方法依然能够营造良好的体验,选择合适的方法即可)。
3.公式
不同属性通过公式关联起来,在游戏中互相作用,进而产生实际的对应效果。比如A、B拥有自身的属性,当A对B进行了一次攻击,B被扣除了预期的血量,这其中的攻击效果计算就需要公式(多种公式)来完成。
游戏设计中被讨论最多的公式是伤害公式,也是联系输出和生存两类属性的纽带。除此以外,游戏中通常还会有很多其他的公式,比如行动顺序判定公式(何时何地何人行动),各种随机率值转化公式,各种状态作用效果公式(地形、距离、范围、buff/debuff等相关属性),战斗力公式等影响着战斗过程。关于公式方面,拥有大量专门的文章进行介绍,在此仅对伤害公式的体验做简单介绍。
伤害公式一般分为加减法、乘法、除法公式,也可以混合使用。
减法公式:受到伤害=攻方攻击力-守方防御力
除法公式:受到伤害=攻方攻击力*攻方攻击力/(守方防御力+攻方攻击力)
乘法公式:受到伤害=攻方攻击力*(1-守方免伤率)
不同的公式会带来不同的游戏感受,根据游戏的玩家群体和预期体验去选择合适的公式即可。
减法公式,简单直观,容易理解,属性追求后的反馈感相对强烈。随着防御属性的成长,防御属性的作用会被放大,甚至出现不破防的现象。控制好不破防的情况,使其在预期内,或者对不破防临界点附近做伤害修正通常也可以解决大部分问题。
乘法公式,战斗力容易量化,角色战斗力只和自身相关,避免受到其他角色的属性影响,相应的也比较容易做不同角色数值的平衡。避免了出现不破防的行为,比较稳妥,防御向加成体验平滑,数值提升的反馈感略显不足。
除法公式,和乘法公式类似。某种程度上,相对放大了属性提升的效果。
混合使用:物理伤害部分采用乘法公式、属性伤害部分采用减法公式
公式的选择也和属性选择、数值成长系统、战斗体验密切相关。即使是同种类型的游戏,基于不同的体验预期、付费倾向和运营需求,选择的公式也可能不同。
传统的强PVP向游戏传奇和征途是典型的减法公式,属性加成的收益极为明显,但是现有的类似游戏,为了保障普通玩家的生存空间,也开始使用除法公式或者做伤害修正。在游戏中,当有了运营需求后,为了数值消费的感官刺激,我们往往又会在乘除法的公式中再次加入加减法的部分,比如无视防御和直接减免这样的属性。
对于公式的选择,能够表达自己需求的效果即可,并不是越复杂越高深的公式就越好。像COC中,玩家只有简单的攻击、血量的属性,相应的公式也就会简单许多,实际体验同样得到玩家的好评。
没有什么公式是完美的,游戏在不断发展,原有的公式和参数在面临扩展的时候也会遇到诸多问题,只要在可控的范围,通常会有不断的修正。即使是大众推崇的暴雪,也在不断的修正着自己的公式。
4.体验细化
在选定游戏品类的过程中,会有一个模糊的节奏感知,在实际设计过程中,需要不断进行细化,主要包括以下基础部分:时长体验、对战体验、数值成长体验、操作体验。角色的差异化在之后会讨论,本节主要讨论在标准状态下的一些体验。
时长体验 | ||
怪物体验 | 普通怪物、精英怪物、BOSS的时长体验; | |
副本体验 | 单人PVE、多人PVE的单怪和总体时长体验(每类副本可均不相同); | |
PVP体验 | 单人PVP、多人PVP等不同场景下的时长体验。 |
(经济类成长的时长体验不在此讨论)
时长体验,直接决定着游戏中有效输出和有效生存的关系。
对战体验 | ||
战斗随机效果 | 战斗过程中暴击的频率、闪避的频率等 | |
战斗状态效果 | 玩家的回复效果、控制效果等 | |
战斗招式效果 | 不同招式的CD、大招的积攒与释放效果等 | |
战斗刺激度 | 不同情况下,单次所能造成的临界伤害等 |
(经济类成长,不同付费层次玩家的对战效果不在此讨论。)
对战体验,影响着有效输出和有效生存中各种属性的组成和比例。
数值成长体验:随着游戏时长/玩家资源累积,对应的人物能力成长。
数值成长体验也是体验线的一部分,在数值架构里,通常包含着,随着玩家等级提升/时间积累,玩家在不同阶段的总体情况,每个阶段相对于上一个阶段的成长。这种成长,包含着已有属性的增加,和是否开放新的属性两个方面。
基础的操作体验:玩家的操作深度,通常表现为玩家操作会对游戏战斗产生的影响深度。在动作游戏中,玩家的操作空间一般大于数值空间,在卡牌游戏中,玩家的操作空间就相对小得多(甚至完全只有思考空间)。操作体验主要和游戏机制、数值深度、技能设计相关,不做过多讨论。
这些体验会为上文的公式参数、之后各种具体细节的的设计与执行提供基础。游戏中的各类数值的细化都来于体验的确定,一切从体验中来,回到体验中去,各种细节的确立也不是一蹴而就的,大概率的情况是不断的调整,这也是设计数值架构,实际执行的过程中需要提前考虑到的。
5.标准模板
基于以上的预期体验,结合经济线的需求,我们会制作一张玩家属性的分布表。通常,会将属性数值分配在不同模块中,分配的方法(这个分配在不同阶段可能不同,本文为了简单明了,做了固定的分配), 属性数值需要被分配在不同模块中,对于属性的分配比例,常用的两种类型:
一种是百分比的分配法
| 角色自身 | 角色觉醒 | 武器 | 武器强化 | 防具 | 防具强化 |
攻击 | 10% | 10% | 30% | 30% |
|
|
防御 | 20% | 20% |
|
| 30% | 30% |
血量 | 20% | 20% |
|
| 30% | 30% |
暴击 | 10% | 10% | 20% | 20% |
|
|
抗暴击 | 10% | 10% |
|
| 40% | 40% |
命中 | 20% | 20% | 30% | 30% |
|
|
闪避 | 20% | 20% |
|
| 30% | 30% |
一种是加成的方法,
| 角色自身 | 角色觉醒 | 武器 | 武器强化 | 防具 | 防具强化 |
攻击 | 20 | 50% | 80 | 100% |
|
|
防御 | 40 | 50% |
|
| 60 | 100% |
血量 | 50 | 100% |
|
| 50 | 100% |
暴击 | 40 | 50% | 60 | 50% |
|
|
抗暴击 | 40 | 50% |
|
| 60 | 50% |
命中 | 40 | 50% | 60 | 50% |
|
|
闪避 | 40 | 50% |
|
| 60 | 50% |
两者本质上是一样的,在很多时候,会将这两种类型混合使用。
为了营造良好的数值体验,我们需要考虑不同模块的数值占比和成长空间,这部分会和预期体验、经济数值有很大关联,需要综合考虑。
对于属性的分配的比例,一部分是玩家的主观感受,比如武器会占攻击的比例高一些。另一部分是游戏设计的需求,比如付费深度高的地方,预期分配多的地方,分配的比例高一些。
单种属性被分散在了游戏中的多个系统,从这些系统中计算获得最终的数值,也是我们关注的问题。在实际设计中,很多模块的成长是相互独立的,比如:
武器和盔甲有一套强化的成长体系
英雄觉醒有一套成长体系
我们在基础设计的时候,为了玩家的体验,不同的成长纬度上的成长比例也可能是完全不同的效果。
甚至为了玩家某一阶段的体验,我们会单独的对每个成长体系的实际效果做调整。
为了更好的说明问题,我们假定再引入一层攻击加成,那么对于攻击计算较为简单的是:
攻击=英雄自身+英雄觉醒数值+武器数值+武器强化数值+攻击加成
但在成长较为复杂的情况时,计算方式的可能之一是
攻击=[英雄自身+英雄觉醒数值+武器数值*(1+武器强化%)]*(1+攻击加成%)
这种层级的分布,以及每个部分的数值分配,是设计过程中需要明确和注意的基础部分。
基于体验标准,我们会再制作一张玩家在每个阶段的能力表,据此设计出标准角色在每个阶段的能力模型。(在实际设计中,玩家属性的开放也会受到等级开放的影响)
| 攻击 | 防御 | 血量 | 暴击 | 抗暴击 | 命中 | 闪避 |
10级 | 100 | 40 | 500 | 30% | 10% | 90% | 10% |
20级 | 200 | 80 | 1000 | 35% | 15% | 95% | 15% |
30级 | 400 | 160 | 2000 | 40% | 20% | 100% | 20% |
40级 | 600 | 240 | 3000 | 45% | 25% | 105% | 25% |
在确定了节奏之后,根据公式,拉出标准模型的数值。继而可以按照比例放缩玩家的数值成长,可以制作一版玩家不同阶段不同数值模块成长的实际情况,看最小/最大的成长是否符合预期感受(包括视觉上和实际操作感受上)。
6.差异化
为了营造游戏中更丰富的体验,游戏中通常会提供差异化的角色供玩家选择。游戏中不同角色的差异化主要来自于两类:属性差异和技能差异。
属性的差异:
1.通过属性的不同比例实现。最典型的是攻击、防御、血量的分配比例不同,为了更加突出角色的特点,通常也会在暴击、抗暴、命中、闪避上做差异化
2.特性属性的差异实现。在基础属性之外,通常还会有攻击距离、移动速度、攻击类别这些特性属性差异。
3.同一属性对不同角色的作用不同。如力量对力量系战士和对敏捷系角色的作用不同,体质对不同角色的血量加成上的差异。
技能的差异:
技能的差异从更深层次反应着角色的特色,这部分的差异体现会和玩家的思考/操作结合在一起。通常通过技能特色,攻击距离、buff/debuff效果、控制效果、攻击范围、被动加强、伤害加强等方面实现来实现技能的差异化。
角色的差异化设计,在很多时候和平衡型调整也是紧密相连的。在相对简单的设计中,我们可能会给所有角色大致相同类型的基础技能组,比如每个角色5个技能:1个输出技能、1个控制技能、1个生存技能为基础技能组,剩下的2个技能根据角色特点进行不同倾向的设计,比如战士加生存、刺客加输出等。
在设计角色差异之前,我们会对角色在有一个设计的侧重点,也就是我们通过这个角色预期给玩家提供什么样的体验,这也是角色设计最核心的问题。通常最基础的是,一个角色在PVP和PVE中承担什么样的角色,肉盾/输出/治疗/状态,甚至是进一步的明确纯肉盾/兼顾输出的肉盾,远程/近战/单体/全体的输出,单体/全体/短期/长期的治疗,增强我方/削弱敌方的状态。
技能的设计,基于长期的游戏经历,我们大致会有一个技能库。我们预期为玩家提供什么样的体验,是设计技能最为关键的。比如防御向的战士,我们会提供护盾、减伤类、失血回复这类技能,输出型的战士,我们会提供暴击、牺牲防御换取攻击、失血加攻击这类技能。参考一些成熟大作,去分析游戏中不同角色的定位,不同技能存在的意义和能给角色定位带来的价值,会有很大帮助。
7.战斗力和平衡性调整
战斗力是对玩家战斗数值的整体评价,通过一种量化的方式去评估玩家的能力的方式。通过战斗力,玩家可以简单直观的感受到成长的变化和敌我双方的实力对比。对于游戏设计者来说,有效的战斗力评估对于平衡游戏职业间差距,设定不同付费/时间群体的能力,具有重要的作用。关于战斗力的详细介绍,各类平台上有大量的文章,不在此文中进行详细介绍,可以查询一些专门介绍战斗力计算的文章。
战斗力的量化通常在属性侧会进行一次比较精确的量化,玩家可以在属性设计过程中计算一次数值平衡。在技能设计的过程中,单独考虑技能的相对平衡。平衡性很难一次性达到预期,在比较大型的项目中,平衡性通常都需要后期的不断调整。项目前期的平衡性设计可以通过一定程度的量化计算得出。项目后期的平衡性调整则可以通过数据进行分析,比如通过大量场次中,不同战场中不同角色的胜率,玩家中对于不同角色使用率,玩家队伍的组队角色情况等等进行。
平衡性包含着两块内容:数值平衡、体验平衡
体验平衡通常更多的指代:每个角色都有其存在的价值。在此分享:暴雪在WOW职业论坛上公布职业平衡性设计原则:
1)所有职业都应该可以SOLO到最高等级;
2)所有职业应该在5人组中都有合适的位置;
3)每个职业在Raid中都应当有重要地位;
4)每个职业在PVP中都应当有竞争力,而且和其他职业比很大差异,在5vs5的对决中应当有自己的绝招;
6)每个职业都应当有趣。
这需要我们在角色设计的过程中,有清晰的设计目的,在设计侧做出差异性和实用性,并通过验证(测试和反馈)去评估实际效果和设计预期之前的差距,进而优化整个设计。
整个游戏生命周期内,不断听取各类反馈和建议(项目组的成员往往是最方便的玩家),去分析背后的原因,做出合适的调整。平衡性的问题,很多时候并不仅仅只是表面上的原因(比如A角色的输出比B角色输出高),很多时候需要去分析背后真正的原因(发招频率、BUFF叠加、动作等等都有可能产生影响),做真正需要的调整,去达到预期的设计意图。(通过表面的现象,尽量去分析背后真正在起作用的机制,即使是来源于玩家的调研,也很容易是被提问者影响的,甚至玩家不知道自己真正的想法,给出了相反的答案)
8.结语
写了点基础性的东西,很多偏颇之处还请指出,欢迎大家一起讨论。
最后仍需强调体验的重要性,体验是第一位,先于数值设计的确立,是数值设计和执行的基础。数值为体验服务,是通过数字和公式对体验的表达。
数值不仅仅是一个“设计”的“脑力工作“,为了获得良好的体验,很多时候是一个需要不断做数值验证的“体力工作”,测试、修正、测试、再修正的“螺旋式”上升过程。
设计良好的数值架构,可以拥有较好的扩展性和兼容性,方便后期数值的分析与优化。很多时候,数值架构在游戏内容不断扩展之后,也会遇到难以解决的问题,分享一句鸡汤:没有什么问题是修正解决不了的,如果有,那就再修正一次。