当前位置:文档之家› 游戏数值策划学习样本

游戏数值策划学习样本

游戏数值策划学习样本
游戏数值策划学习样本

01.公式与模型

02.模型设定

03.模型特征参数

04.公式简介

属性成长曲线HYPERLINK ""

属性计算公式HYPERLINK ""

护甲减伤HYPERLINK "",HYPERLINK ""闪避HYPERLINK ""/HYPERLINK ""招架强度转率公式HYPERLINK ""

暴击HYPERLINK ""/HYPERLINK ""命中强度转率公式HYPERLINK ""

攻击强度转HYPERLINK ""DPSHYPERLINK ""公式HYPERLINK ""

EHPHYPERLINK ""计算公式

EDPSHYPERLINK ""计算公式

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)HYPERLINK ""函数)

成长曲线的设计,大致上是由项目需求所决定的,作者暂时无力总结出普适性的规律来,就不提了.文中也只是随手写了个式子,并给出了WOW的实例,请大家有选择性地模仿.

8.由模型+参数+公式系数,推导角色在标准模型下的预期属性值(详见第九部分)

9.整理模型,提高可维护与可调整性

题外话:

对于战斗模型设计来说,搭起一个能打的架子一点都不难,难的是你后期想调整数值时能有多方便.

作者见过一些很庞大的模型,洋洋洒洒几十页数据,倒也能凑出个结果来.

只是不好调.

要么是因为模型逻辑太乱导致无从下手(怎么改才能保证你的调整不会影响到原来正常的数据?),要么是初期参数抽象不合理导致将变量当常数填进了公式(把几十页的公式重新翻一遍?),要么是推导顺序不合理导致改一个小设定或小参数都需要把整个游戏的数值都重翻一次(游戏没上线之前只要你有精力怎么折腾都行,但如果游戏上了线呢?)……

另外,数值平衡表的可读性问题作者无法帮忙解决,请自行学习并掌握VBA.

=====================================

02.模型设定

=====================================

TOP 纯粹是随便写的一些设定(比较近似于wow),仅为本文服务

1.角色只拥有七项基本属性,而且设定每单位属性的价值相等

? MHP(生命上限)

? AP(攻击强度,可转化为DPS,)

? CHP(暴击强度,可转化为暴击率)

? HitP(命中强度,可转化为命中率)

? AC(护甲强度,可转化为减伤率)

? DGP(闪避强度,可转化为闪避率)

? PRP(招架强度,可转化为招架率)

?强度与率的转换关系参见公式部分

?这七项属性被作者认为是不可避免会具有的属性

?角色所能拥有的战斗属性显然不止七项(这里并不需要考虑力敏耐智精之类的复合属性,因为它们并不直接作用于战斗),不过作者认为其余属性都已经等价转化为了以上七项.

2.程序上使用单次掷筛法来控制各种率

常见的概率事件判定流程有两种.

一种遵从所谓的圆桌理论,经过单次掷筛来决定所有概率.

另一种则是多次掷筛,分开决定每个概率.

第一种做法在程序上略省效率,并使各种率的真实发生几率与面板数值能够非常吻合.但可能导致策划在计算期望时出现误差(由Table的溢出所致),并会使得同Table的属性价值之间存在一定的关联性,因而属性价值无法稳定.

两种模型都可行,看设计者的取舍了.

它们的EHP与EDPS计算公式会略有差异,本文将仅以圆桌模型为例来推导(同时假设所有率之和不溢出).

3.扩展,定义技能对战斗模型的大概影响(此部分对本模型无影响,也不讨论)?假设要求技能全开时,角色的打击能力提高1倍,抗打击能力提高0.5倍

?经过单独调技能来满足此要求

?于是,开全技能对轰状态下的战斗节奏为15秒.

?技能平衡与战斗模型平衡请务必分开来做.不要妄想在属性平衡模型中解决技能平衡问题.本文不讨论技能平衡.

模型细节是能够千变万化的,但在作者看来平衡思路却是大道归一,望大家能理解……

=====================================

03.模型特征参数

=====================================

TOP 模型特征参数,实际上就是你对这个模型的基本需求,代表了你这个模型的”特征”.

由于你”认为”这个模型”应该”满足这些标准,因此你为它拍定了标准数值.

拍数流程:

1. 分析模型,总结出你认为是你的模型特征的数据

2. 模型特征参数大致上都应该满足两个条件:

?不会经常变化(并不是不能变).

?相互之间没有逻辑关系

3. 按照你的需求来给模型特征参数”赋值”

4. 拍定模型特征参数后,你必须保证游戏实际环境与你拍的数相匹配.

?比如说,我预设定了角色的”其它闪避率”=5%,那么天赋闪避和初始闪避之和就不能与5%差太远.

?又比如,我设定了全技能时EDPS能提高100%,那么我在作技能数值时就必须让结果往100%尽可能靠近.

5. 一些建议

?最好把模型特征参数集合起来定义在一张表单里,然后让所有其它有进行计算的格子都来这个表单里引用数据.

?尽量避免在建模时把给定了数值的参数直接写在公式中,这会让你在想要调整维护时抓狂.在一个健康的excel表的计算页中,我们应该做到,该页里的所有公式中不存在有数字(除了1之外),而应该每个参数都是对其它单元格的引用.

?最終目标是,在模型建立完成后,后续维护工作仅仅是调整模型特征参数,没有其它.

6. OK,看我拍的数吧(没啥实际意义,仅供参考)

?总护甲减伤比例

35%

相关主题
文本预览
相关文档 最新文档