网络游戏数值学习大全
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
01.公式与模型
02.模型设定
03.模型特征参数
04.公式简介
属性成长曲线
属性计算公式
护甲减伤,闪避/招架强度转率公式
暴击/命中强度转率公式
攻击强度转DPS公式
EHP计算公式
EDPS计算公式
05.护甲减伤公式推导
06.闪避\招架率转化公式推导
07.暴击\命中率转化公式推导
08.攻击强度转DPS公式推导
09.各属性预期值的推算
10.以闪避强度为例分析其实际价值
11.推导结果汇总
后记
对本文不认同的筒子,欢迎提出批评意见,或无视本文.
对推导过程看不懂或者无兴趣的盆友,可以直接跳到这里来看结论.
作者尽量少说废话,但仍不保证论述过程绝对言简意赅,甚至不保证结论正确.
灰字楷体部分的题外话是可看可不看的,作者只是为了吐槽才多写了那些.
=====================================
01.公式与模型
=====================================
TOP
公式因需求而存在.
公式运算的目的,不是得出一个结果,而是得出一个能够满足需求的结果.
公式能有意义,必须是在与公式相匹配的战斗逻辑以及战斗模型甚至模型特征参数设定的环境下.因此,在游戏环境之外讨论公式基本无意义,除非你能把公式抽象到可以无视一部分游戏设定的高度去.
要炼成公式,必须要先设定好逻辑,参数,模型.
关于日经的战斗公式用减法好还是除法好的争论,作者不知道该怎么回答.
作者的模型和公式里,四则运算都会有,因此实在不明白,啥样的公式才能被称为减法公式,啥样的公式才能被称为除法公式.
本文所介绍的,是一个用于推导角色属性预期值,属性价值,以及战斗公式的模型.
以属性完全相同的两个标准玩家相互平砍为依据,尝试得到稳定的战斗节奏.
模型基于PVP,这意味着我们会需要综合考虑攻防两端属性对于战斗的价值(PVE模型往往会忽略掉一部分属性的价值).
虽然只是一个用于考量1v1平砍节奏的模型,但它是一切战斗平衡的基础.
你想要做的更深更复杂的模型,或者是更进一步的推导(譬如装备属性设定,宠物属性设定,技能数值设定等),都会是基于本模型来进行扩展的.
所谓标准玩家,指的是,我们所预期的玩家最可能地处于的状态.
一般情况下,这个模型会被视为所有职业的综合平均体.
当然,你也可以针对每个职业模型本身的特征来为其配置特定的公式,这样的话,标准模型就是你所针对的职业模型.
先归纳一下本模型的思路:
1.所有设定都是为了得到一个稳定的战斗节奏.
所谓战斗节奏,指的是一场战斗从开始到分出胜负所需要花费的时间.
本文的战斗节奏指的是双方站桩平砍出胜负所需要的时间
平砍节奏是需要被预期的,因为这是玩家最直观的战斗感受
战斗属性的价值,在于影响平砍节奏
i.攻击类属性缩短平砍节奏
ii.防御类属性延长平砍节奏公式存在的目的,则是为了让属性对平砍节奏的影响保持稳定
2.为调节平砍节奏,而抽象出EHP与EDPS的概念
EHP被我称为有效生命值,也可以理解为抗打击能力.EHP是一切防御类属性的综合
体现,所有防御类属性的价值都在于提高EHP.
EDPS被我称为有效伤害值,也可以理解为打击能力.EDPS是一切攻击类属性的综合
体现,所有攻击类属性的价值都在于提高EDPS.
平砍节奏=EHP/EDPS
对EHP与EDPS的控制,就是为了保证平砍节奏始终与预期一致
或许不同项目里EHP以及EDPS的计算公式会有差异,但由EHP/EDPS来推导平砍节奏的总思路是不能变的,变了就无法套用作者所提供的模型了.
换句话说,要使用作者的推导思路,你至少要能从你的模型里抽象出独立的EHP与EDPS 来.
与WLK相比,本模型精简掉了”影响对方防御”的攻击类属性(精准,破甲),原因在于这种属性会让EDPS的计算变得困难起来.如果需要在模型中引入这类属性的话,需要额外推导”降低对方EHP”与”提高自身EDPS”这两种效果之间的价值换算关系,或者在计算EDPS的公式中引入敌方的防御数据.
3.抽象出必要的模型特征参数,并为其赋值(详见第三部分)
4.要求属性价值稳定,不随属性本身变化而变化
所谓边际效应,指的是,某属性在自身数值越大时价值越大,导致玩家的最优策略成
为了,要么往死里堆这个属性,要么干脆一点也不堆的现象.
用攻-防来得到伤害的模型不可避免会出现这种现象,而传统的闪避减伤其实也是
一样的道理.
本模块中所有公式都是为了稳定属性价值,解决边际效应难题而设计(详见第四部
分)
推论EHP与EDPS对引起它们变化的属性值成线性关系
5.“设定”每单位战斗属性价值
从方便玩家理解的角度来说,设置为相等会比较简单(本模型默认采用了此设置)
推论EHP与EDPS对任意属性自变量的导数相等
题外话:
求导属于微分,至少也是要懂求极限的概念的.而求极限我记得是高中数学知识吧?所以,我认为新疆人所说的数值策划只需要小学4年级数学水平的言论欠妥.当然了,不可否认,在理论上,只上过小学4年级的人,自己多读点书也是有可能证明1+1=2的,一定要说四年级生可以懂求极限,好像也行……吧.
6.由4与5的这两个推论,可以建立起方程组.
为这些方程代入模型特征参数值后联立,可以解出战斗公式所需参数.
(详见第五,第六,第七,第八部分)
理论上,由战斗公式也可以先拍公式系数,然后反推相关的属性价值.
但是,对于含有两个或两个以上参数的公式而言,会需要额外注意------请确认公式里的参数之间本身有没有存在相关性,如果有的话,你就得由一个参数来推出另外一个,而不能两个都拍脑袋随便写.
7.设定角色属性的成长曲线(也就是f(lvl)函数)
成长曲线的设计,大体上是由项目需求所决定的,作者暂时无力总结出普适性的规律来,就不提了.文中也只是随手写了个式子,并给出了WOW的实例,请大家有选择性地模仿.
8.由模型+参数+公式系数,推导角色在标准模型下的预期属性值(详见第九部分)
9.整理模型,提高可维护与可调整性
题外话:
对于战斗模型设计来说,搭起一个能打的架子一点都不难,难的是你后期想调整数值时能有多方便.
作者见过一些很庞大的模型,洋洋洒洒几十页数据,倒也能凑出个结果来.
只是不好调.
要么是因为模型逻辑太乱导致无从下手(怎么改才能保证你的调整不会影响到本来正常的数据?),要么是初期参数抽象不合理导致将变量当常数填进了公式(把几十页的公式重新翻一遍?),要么是推导顺序不合理导致改一个小设定或小参数都需要把整个游戏的数值都重翻一次(游戏没上线之前只要你有精力怎么折腾都行,但如果游戏上了线呢?)……
另外,数值平衡表的可读性问题作者无法帮忙解决,请自行学习并掌握VBA.