总算是完成这本书的阅读了,听说马上水哥要出新书,到时候可以支持一下。
那是否推荐阅读这本书呢?从我的角度来讲,对于一个想了解数值策划的初学者还是可以阅读的。
但是无论书中写的怎样,最终一定要落实到实战上,自己亲手无疑是最有收获的。但是对我来说说,数值的部分可能需要在后期的平衡设置中解决,现阶段还是以做出一个demo为主要目标。
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
本书是一本数值策划的基础工具书,是作者似水无痕将自己的经验和积累记录下来。主要介绍一些基础知识,研发团队成员的工作和游戏设计的基础理念,然后介绍数值工作中涉及的常用excel功能以及一些vba的初步知识。还讲述基础设计和战斗部分的设计
第二章:角色扮演游戏rpg,动作游戏act(子类:射击游戏stg,格斗游戏ftg),冒险游戏avg,模拟游戏slg,大型多人在线角色扮演游戏mmorpg
第三章:
excel内容看到折纸部分,电脑上完成样例,熟悉相关函数(部分函数已经看过)
第四章:
dps(damage per secons)每秒输出伤害,用它来衡量职业的输出能力。决定角色dps主因:普通攻击的数值,普通攻击的攻击速度(这个值很敏感,没有把握的前提下不要过多改变)
简单公式:有效生命=生命值/(1-伤害减免率)/(1-闪避率)
什么是前摇,后摇
cd(cool down)
公共CD:公共CD是指每次发出一个技能,技能栏里的技能(特殊标记的技能除外)都会有一个不能使用的时间,过了这个时间之后才可以施放下一个技能攻击,即公共冷却时间。
公共冷却时间在许多MMORPG(大型多人在线角色扮演游戏)中都有使用。
举例最常见的就是魔兽的技能公共CD。
攻速:一般在即时游戏中用来衡量攻击的快慢,而在回合制游戏中攻速(也叫先手值,或者用敏捷来衡量)往往是用来决定出手的先后次序的。
战斗公式流程:
- 逐步判断
- 圆桌理论
1、逐步判断
类似之前软件工程里在visio画的流程图,每一步逐步进行判断。当战斗可产生的结果类型没那么多时,是个好选择。但是判断结果类型多了以后,想控制数值就比“圆桌理论”更艰难了。
2、圆桌理论
来源于“一个圆桌的面积是固定的,如果几件物品已经占据了圆桌的所有面积。其他物品将无法再被摆上圆桌”。
举例《魔兽世界》中,“攻击“的结果由以下部分组成,并按照攻击结果的优先级递减排列:
先判定是否未命中->如果命中是否躲闪->如果未躲闪是否招架(背后攻击无)->如果未招架是否偏斜(仅出现在玩家和玩家宠物对怪物时,因为boss等级比玩家高3级)->如果未偏斜是否格挡(背后攻击无)->是否被怪物碾压(仅出现在怪物对玩家和玩家宝宝时)->最后才是普通攻击
也就是说,如果优先级高的各结果的和超过100%或更高,会把优先级低的各种结果挤出桌面。
3、对比和总结
逐步判断公式能将各种可能性维持在一个稳定的比例,这是他的优势所在。
圆桌理论在底层情况被挤出“圆桌”前,各高优先级可能性之间不会产生关联影响,概率相对更为合理。可一旦出现“圆桌”不够用的情况后,被挤出去的情况会受异常大的影响(比如命中率85%,暴击率20%,随机数0-100变不够用)。
逐步判断则是高优先级的情况会严重影响优先级低的情况,而且逐级影响,层级越多情况越复杂。但这个情况都是按比例稀释的,不会出现非常极端的情况。
一级属性和二级属性
AP(attack power)
游戏公式都是关乎功方和守方两者,所以公式有最核心的两个属性,攻属性和防属性。
闪避公式:
有两种思路方向:
1、命中先减去闪避,由差距的大小来决定命中的概率有多大。这种做法比较少。
(1)闪避大于命中时,命中率等于保底命中下限30%(假设)。由于闪避投放会远小于命中,所以我们会尽量避免这种情况发生。
(2)命中大于闪避时,计算命中差值并换算出最终命中。我们的思路是命中大于闪避之后会获得60%的基础命中率,之后差值增加1点,命中率增加0.5%,最大值到95%。
2、命中和闪避进行除法公式计算,最终决定概率有多大。
除法公式:
原型:命中率=命中/(命中+闪避)
这个公式如果给一个假定值,他会在一个点达到最大收益值。可以分别
如果结合游戏来思考一个公式,就会有如下结论:
(1)命中和闪避在前期的加点效果非常明显,玩家很容易从数值提升感受到战斗效果提升,从而对属性的需求变得强烈,进而促进消费。
(2)命中和闪避在达到一定数值时,开始产生边际效应,但也不会完全失效,玩家依然有提升意义。
小结:大部分游戏都是基于这个公式原型进行设计,然后加入一些参数和等级影响因素。根据具体的需求再做细微调整。
伤害计算公式:(乘除法)
第一种是通过护甲计算出减免系数,这样衡量属性价值会更容易计算,第二种是通过攻击和防御一起计算出伤害,强调游戏攻击属性的重要程度。
1伤害=攻击*(1-伤害减免百分比)
伤害减免百分比=护甲/(护甲+人物等级*k1+k2)
2伤害=(攻击*参数1+参数2)/(攻击+防御*参数3+参数4)
暴击公式:
暴击伤害=普通伤害*(1+伤害暴击系数+特殊效果系数)+暴力后的附加伤害
特殊效果系数:泛指技能,装备其他的影响因素
设计技能时要算好技能和普通攻击的价值比;设计技能的思路通常是以普通攻击为基础,技能在这个基础上去做加值。
控制类技能价值:
假设击晕技能。在60s内,可以控制敌方10s。转换思路,就相当于提升了20%的输出能力(以60s为一个时间段,我方输出60s,敌方输出50s)
装备:
主属性;区分攻击装和防御装;
装备的数值是根据人物属性数值乘以一定比例然后进行修改的。
游戏内的掉落方式:
严格来说计算机中的随机函数是按照一定算法模拟产生的,计算机随机函数所产生的“随机数”是一种伪随机数
(1)计数随机
容易被玩家利用,市面上的游戏多数不采用这种方法了
(2)逐个百分比掉落
早期的mmorpg里,物品种类没有那么丰富。
假如有4个道具,先计算A是否掉落,然后A掉落的数量,再计算B是否掉落,直到所有道具循环完成。用公式模拟随机数,和概率对比,小于等于则掉落。
需要用到4个随机数,避免随机事件是互相影响的(表格中用函数计算)
更适合关卡掉落,不适合在礼包掉落。无法配置精确的组合
(3)权重掉落组式掉落
比之前要多了母集和子集的概念
母集表和子集表
对应顺序:母集表掉落编号产生的子集,再去子集表里寻找道具和对应的权重,最后根据道具掉落的最大和最小数量算出随机掉落数量。
配置道具时一定要配置好它们对应的道具类型,类型将决定程序去哪张表寻找道具。
这种的优点是可以灵活的组合各种子集,从而形成一个非常丰富的掉落组合,并且不管是任何系统关联的掉落都可以只用一个母集的编号来对应,这对程序维护成本和程序效率是大有帮助的。缺点是母集和子集之间关联性强,容易出现数值问题,对数值本身要求较高
(4)进阶掉落
进阶掉落其实是在权重掉落的基础上做了进化的版本,多了一步前置判断
(5)木桶原理掉落
木桶掉落让你最短缺的道具具有更高的掉落概率。(这个原理掉落是作者根据《皇室战争》反推出来的,可能与真实游戏设计方法有一定差距)
流程:计算空缺量---计算空缺率----算出额外系数----得出掉落权重
预期量是我们根据游戏的进度来决定的期望让玩家得到多少该类型的道具。
现有量是统计目前玩家得到多少道具的数值。
空缺量(最小值为10)=预期量-现有量
再算出空缺率;再算出系数加成,根据不同空缺量设置系数。空缺量乘以系数加成得出最终的权重。
战斗系统中随机的应用:
以传统MMORPG来说,战斗系统会在如下情况下用到随机:
1.决定闪避用到的随机值
2.决定暴击用到的随机值
3.决定攻击从上限到下限的随机值
有些游戏的攻击范围较大,所以设计者希望玩家的攻击输出变的稳定:具体实现方式是将的攻击的结果进行多次随机取值并且取其平均值,一般为3-5次。这样取得的结果比随机一次要平滑的多。
怪物掉落:
一般使用的是进阶掉落,但也不是所有子集都进阶,下面先规划所有的子集类型:
1、货币子集
通过这个掉落计算出每个怪物的产出货币量,最终控制总产出符合我们的预期。
2、垃圾材料子集
本质上和货币子集是一样的,最终都是折算成货币的产出来衡量。
3、材料子集
4、装备子集
第五章 实现层进阶之路
5.1游戏数值的数据结构
这里的数据结构指的是,使游戏中所有数据按照预定的设计进行计算并使之达到预期结果的规范。
游戏数据分类:
分为静态数据和动态数据
静态数据指的是最基本的保持稳定的数据。比如1级的角色对应的基础最大生命值,它是不会因为任何事件的变化而发生变化的,哪怕角色升级到2级,那也是对应的基础生命值到了2级,原来1级的数据是没有任何变化的。
动态数据指的是常常变化并且会受到事件影响和影响事件的数据。比如角色的当前生命值小于等于0时会触发角色死亡事件。动态数据在某些条件下会调用到静态数据,而静态数据不会受到动态数据的影响。
数值策划的一项重要工作就是制定和维护静态数据的结构,填充和维护静态数据。
前后端数据结构:
后端数据以运算动态数据和产出资源为主,而前端数据则以显示为主。比如掉落数据,前端一般是不会用到的。
表格和配置文件:
主流配置文件有三种形式:CSV数据(Excel自带格式)、XML、JSON
建议使用专门的数据转化的工具(和程序沟通)
5.2静态数据简析(以MMORPG为例子)
角色基础属性表(全部整型或者浮点型):
- 生命值上限
- 魔法值上限
- 最小物理攻击
- 最大物理攻击
- 最小魔法攻击
- 魔法防御
- 物理防御
- 命中
- 闪避
- 暴击
- 抗暴击
- 等级
装备属性表:
- 装备id
- 装备类型(武器,手套,项链,头盔,衣服,护肩,裤子,鞋子,腰带,戒指,首饰等)
- 性别需求
- 职业需求(战士、法师、牧师、通用)
- 图标编号
- 最小物理攻击(数据类型同基础属性表)
- ....抗暴击
- 生命自动回复
- 魔法自动回复
- 背击伤害
- 移动速度
- 晕眩时间减少百分比
- 暴击增伤/减伤比(固定值)
- 物理伤害/魔法伤害减免百分比(固定值)
- 攻击回生命/魔法/吸血/吸魔
- 最大生命值/魔法值百分比增加生命值/魔法值上限
- 物理/魔法伤害反弹百分比
- 增加某技能等级
- 最终减免XXX(绝对值)
- 无视目标物理防御/魔法X点
- 提高打怪经验值X%
- 装备品质
技能表:
- 包含了技能的相关战斗数据(这里不包括成长的数据)
- 技能id
- 技能名称
- 技能基础id(用来标注同一系列的技能)
- 技能等级
- 技能描述
- 技能分类(基础技能,职业技能,生活技能,宠物技能等)
- 技能类型(主动技能,被动技能,回城技能,召唤宠物,反击技能)
- 目标类型(自己,友方,敌方,死亡目标)
- 施法类型(瞬法,吟唱,引导,持续,触发式)
- 技能范围类型(单体,目标区域aoe,方向aoe等)
- ....
BUFF表
怪物表
5.3实战设计
这部分也是书中较为重要的部分
第六章 VBA知识及实战模拟
(需要的时候再看)
是VB的子集
番外篇
通关!游戏设计之道 书中讲的更好点
比较有用的应该是书最后几页的公司推荐
已看完
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------