查看原文
其他

腾讯互娱高级游戏策划:如何从0到1用Excel实现数值设计?

suelin 游戏葡萄 2019-05-17

本文首发于公众号“腾讯游戏学院”,作者suelin系腾讯互动娱乐高级游戏策划。游戏葡萄已获转载授权。


前言


经常有小伙伴说自己不是数值策划,又很希望能够试着做一些数值设计。数值文章也看了许多,道理几乎都懂,但有些不知从何下手。这里想通过视频的方式,分享具体如何使用Excel实现数值设计,包括Excel函数的运用,简单的VBA代码书写,以及MMORPG游戏的数值从0到1的制作全过程。本文将从职业、装备两方面来进行解读。


MMORPG职业篇


一、角色基础模型设计


1. 必须做出的预设


(1)设定游戏的角色等级(如果游戏有等级概念):假设为30级;

(2)站桩输出pvp的时间:假设为20秒。

2. 角色基础模型的制作(写在前面的期望)


(1)伤害值初始数值是两位数;

(2)希望每成长一级等级,玩家的攻击、防御、伤害值都有成长;

(3)技能伤害百分比成长缓慢;

(4)技能数值成长相对正常;

(5)两个角色裸体对砍20秒。

3. 一段简单的角色数值模型


(1)攻防公式(此公式只作为演示,实际以游戏需要为准)


(攻击-防御)*(1+技能伤害百分比)+技能数值

(2)运用到的公式(y=ax+b的一元一次函数)


攻击=参数1*(等级-1)+参数2


(3)运用到的Excel使用函数:Round(),对带小数点的数值进行取整。


具体的操作视频如下:

https://v.qq.com/txp/iframe/player.html?vid=m07347yfnkx&width=500&height=375&auto=0

4. 视频中提到的第二种模型


根据经验和其他游戏的总结确定各数值投放比,简称投放比数值模型,在PVP竞技场时,对玩家的攻防血再进行数值修正。


假设,攻击:防御:血量 =1:X:Y,数值模型如下:


二、职业数值设计


几乎所有的RPG网游都有职业设定,对职业数值进行差异化设计。与此同时,除攻击、防御、血量二级属性外,也加入了如力量、敏捷、智力、体力等一级属性等概念,丰富游戏数值内容。其中,职业的差异化设计更多的是由技能设计体现,职业的属性数值差异化是锦上添花。

1. 预设


(1)假定游戏有三个职业,战士、法师、盗贼。

(2)假设游戏包含:

一级属性:力量、智力、敏捷、体力。

二级属性:攻击、防御、暴击、血量、魔法。


2. 确定各职业的属性关系


力量:影响战士的攻击、全部职业的生命(影响系数不同)。

智力:影响法师的攻击、全部职业的魔法上限(影响系数不同)。

敏捷:影响盗贼的攻击、全部职业的暴击等级,暴击等级可以转换为暴击率(影响系数不同)。

体力:影响全部职业的生命值(影响系数不同)。

属性设计思路


 A.用攻击来决定每种职业追求哪种一级属性。

由于各职业需要有属性差异,过于复杂的属性结构不宜理解,所以采用了每个职业有一个主属性,主属性影响每个职业的攻击力,让玩家追求属性时能够抓住重点,有的放矢。尽量避免一个二级属性被多个一级属性影响,这样的设计也更容易把控。

B.遵循大家都一样的原则,是最简单直接的平衡性模型。

每个职业除攻击和通用一级属性外,被一级属性影响的数量一定相同。如,战士的力量只影响除攻击外的一个防御属性,智力只影响一个魔法上限,敏捷只影响一个暴击等级,体质是通用属性,可以适量影响多条属性。

基于以上,建立一个职业属性关系表:


3. 各职业的属性数值设计


(1)以基础角色数值模型为原型,乘以各种系数变形出只有二级属性的各职业角色数值模型,以下是各职业详细数值。

点击上图,可放大查看


https://v.qq.com/txp/iframe/player.html?vid=i0734hpukkp&width=500&height=375&auto=0

(2)反推各职业的一级属性

很多情况下,属性面板是不会直接显示攻击、防御这些属性,只会显示力量、智力、敏捷、体质这些属性,用比较简单的乘除法就可以转换这些属性。

1点力量=1.5点战士攻击力、全职业防御(战士0.55,盗贼0.5,法师0.49)

1点智力=1.5点法师攻击力、全职业魔法值(职业不同系数也不同,魔法值的设定主要与技能循环有关,暂不在本文体现)

1点敏捷=1.5点盗贼攻击力、全职业暴击等级(职业不同系数也不同,敏捷转化为暴击等级与其他属性类似的方式就可以解决)

其中暴击等级需要通过特定公式转换为暴击率,在后面具体写出计算方法。

1点体力=全职业生命(战士90,盗贼80,法师77)

以下是已经调整好的一级属性数值:


https://v.qq.com/txp/iframe/player.html?vid=i0734hpukkp&width=500&height=375&auto=0

(3)使用(2)换算过的各属性转换系数,重新梳理各职业最终的二级属性及战斗节奏,进行数值校验。

战斗节奏与最初设计的基础模型可能存在偏差(标红处),但对于整体来说影响不大,可以忽略。


通过一级属性转换的防御、血量,一定和原来的预设是不一样的,所以我们需要做反验算和验证的过程,我们先把力量、敏捷、智力这些一级属性分别链接到二级属性表里各个职业对应的位置,使用“=”号即可。然后计算实际的二级属性,攻击是用力量乘以攻击系数,防御就是乘以防御系数,血量就是乘以血量系数,得到各个职业的攻击、防御和血量之后,用伤害与各个职业的血量进行对比,得出战斗时长。


我做了一个小小的预设,希望1V1的时候,战士能稍稍领先盗贼,盗贼能稍稍领先法师,那么战士打盗贼的时长要比盗贼打战士的时长要短,要能更快打死对方,我的系数调整之后,基本是符合预期的。


如果我们在验证的过程中,数值有偏差怎么办?要么就提升战士的攻击力,要么减少盗贼的血量,通过系数来调整。


4. 暴击率计算


角色裸装暴击率控制在0%~3%左右比较保险。


(1)暗黑三式的暴击率计算


各种“率”的上限为100%,一般RPG网游成长周期比较久,投放百分之零点几又会被觉得太奇怪,一般都需要通过“暴击等级”、“致命”等这些中间值进行转换。
暗黑3的计算方式如下(我们可以把暗黑三的敏捷改为暴击等级,思路是一样的):



假设:玩家有600敏捷。


100 * 0.1% = 10.00% (0-100敏捷区间)


400 * 0.025%= 10.00% (100-500敏捷区间)


100 * 0.02%= 2.00% (500-1000敏捷区间)


敏捷提供的闪避总计:

(10.00%+10.00%+2.00%)= 22%


(2)DNF给出的另一个思路

DNF的伤害计算中,黄字和爆伤取的是所有装备中的最大值,这种计算方式是否可以用作游戏中的暴击率计算,也是可以来考虑考虑的事情。

小结:


当暴击率达到40%,给玩家的直观感受接近刀刀暴击/闪避,暴击是危险属性,需谨慎投放。可以通过“捆绑”投放(暴击和暴击抵抗同步投放)、边际效益递减(暗黑三闪避率计算)的方式投放。


总而言之,研发阶段的数值设计是一个不断的拍脑门、反推、调整、重新计算、测试、再调整的过程,看似比较烦碎,但在不断的实践以及玩家的测试验证,都可以总结出适合自己习惯使用的数值方法论。


MMORPG装备篇


装备基础模型设计


1. 必须做出的预设


所有的数值设计都需要有一个期望的样子,做到心中有数,前方有路。


先画一个很普遍的装备结构:



(1)装备元素


我们需要考虑关于装备的元素有:装备能力、装备等级、装备品质、装备部位、基础属性、附加属性、装备强化系统等。


(2)装备能力


角色等级上限还是上文中设定的30级。暂定对比角色,角色:装备=1:3。


2. 装备数值设计


(1)装备总数值


通过基础角色数值模型的3倍,得到各级装备总数值(实际的战斗能力远远不止3倍,可通过攻防公式计算出血量与伤害后的比值检验战斗能力差值)。


初步计算只需用到二级属性(攻击、防御、血量等),再通过一级属性转换率,反推出装备可供给的一级属性(力量、敏捷、智力、体力)。



(2)设计装备部位、分配装备属性


有了全部装备的总数值,就要开始拆分装备部位数值了。设定装备一共有4个部位,武器、头盔、衣服、裤子,并按常规意识分配属性,即武器有更多的攻击能力,衣服有更多的防御能力。



(3)装备品质



品质系数是一直在调整的,如果装备等级是决定装备数值的第一要素,那么装备品质系数的差异就相对较小,如果想提升品质的作用性,那么品质系数差异就可以相对放大。


很多游戏的装备数值中,白字属性可能只有一条,单独留出来白字属性,剩下的属性作为随机属性,如:



视频地址:https://v.qq.com/x/page/j0742oggpgv.html


(4)装备数值计算


装备数值分为白字属性(固定数值)+随机数值。


装备的白字属性=对应等级的装备数值*对应部位的属性占比*品质影响系数*白字属性占比


装备的随机属性=对应等级的装备数值*对应部位的属性占比*品质影响系数*随机属性占比


点击上图,可放大查看


(5)随机属性的随机数值范围


点击上图,可放大查看


(6)随机属性和属性条数


装备品质可以对应不同的随机条数,除了数字大小外,随机属性也是获得装备的乐趣点,比如随机到3条同属性是让玩家兴奋的点,当然也不能过度释放这种装备乐趣导致平衡型问题。


前文中计算出的都是二级属性攻击、防御、血量,属性不够丰富,该怎么做呢?


a.一、二级属性等价转换


可使用属性转换系数,直接将二级属性转换为一级属性。如1.5的攻击力可等价于1点的力量、敏捷、智力,对于不同的职业,这些属性可以是极品属性,也可能是废属性,装备的可选性和多样性也随之而来。


b.不同属性之间的等价转换


1.5点攻击力可以等于1点力量,因为有转换关系,那1攻击力和1血量之间如何转换呢?


使用攻防公式和投放比例进行计算。


防御:加减攻防公式以防出现太多不破防点状态,在上一篇文章中防御力投放是攻击力的1/3,那么投放1点防御力,就要投放3点攻击力,投放3点攻击力,对应投放1点防御力。


血量:保证战斗节奏20秒的状态,就意味着每增加1点伤害,就要增加20*1的血量。伤害=(攻击−防御)*(1+技能%)+技能伤害数值,血量就要用前面的公式结果乘以20。血量需要随着等级增长,各个因素的成长而加大投放量。


以上的计算方法同样可以用来计算战斗力。


(7)规范装备ID


方便道具使用也是数值策划的必备技能之一,本文中的装备ID规则如下:


装备ID编号=等级*10000+品质系数*1000+部位系数*100


如果装备按职业划分或分成各类护甲,可增加ID位数适应需求变化。



3. 装备结构


除装备随机属性和数值的乐趣外,装备效果、装备与职业BUILD搭配、装备收集都可让装备系统变得更具可玩性,形成更丰富多样的装备数值体系结构。


以DNF的装备结构为例,装备由防具+武器+饰品+其他构成。



值得多提一些的是防具,DNF防具不限职业穿戴,套装属性对所有职业生效。官方用护甲精通(穿戴某甲增加XX属性或XX效果)作为各职业的指引装备穿戴,若玩家忽略护甲精通属性,仍可按照自己的装备及职业搭配非精通护甲装备,可能达到更佳的套装效果。


4. 装备能力扩展


装备没有付费点,会让商业化同学压力比较大,于是装备系统就需要强化、宝石、萃取、洗炼、重锻等只有你想不到没有做不到的装备付费点,各系统的数值加成与付费深度相关,属性性价比边际递减也是这类系统常使用的方式,在后续文章里会着重分享各种强化及概率问题的内容。


总而言之,研发阶段的数值设计是一个不断的拍脑门、反推、调整、重新计算、测试、再调整的过程,看似比较繁琐,但在不断的实践以及玩家的测试验证后,都可以总结出适合自己习惯使用的数值方法论。最后预告一下,本系列后续会有PVE数值设计、战斗模拟器制作、各种强化算法的内容,敬请期待。



推荐阅读



每天还有这些内容值得你去看




关注微信公众号“游戏葡萄”,每天获取最前瞻的游戏资讯


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存