版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
公式是怎样炼成的Version.1.02010年11月青木公(BFraider)版权所有MSN:游戏魂首发,未经作者允许请勿转载TOC\o"1-5"\h\z\o"CurrentDocument"01.公式与模型 2\o"CurrentDocument"02.模型设定 5\o"CurrentDocument"03.模型特征参数 6\o"CurrentDocument"04.公式简介 7\o"CurrentDocument"属性成长曲线flvl=level+B 8\o"CurrentDocument"属性计算公式y=f(lvl)xAy 8\o"CurrentDocument"护甲减伤,闪避/招架强度转率公式y=(Cxx)/(x+f(lvl)xA) 9\o"CurrentDocument"暴击/命中强度转率公式y=x/(f(lvl)xA) 9攻击强度转DPS公式DPS=AP/A 9EHP计算公式 10EDPS计算公式 10\o"CurrentDocument"05.护甲减伤公式推导 111406.闪避\招架率转化公式推导14\o"CurrentDocument"07.暴击\命中率转化公式推导 16\o"CurrentDocument"0&攻击强度转DPS公式推导 17\o"CurrentDocument"09.各属性预期值的推算 18\o"CurrentDocument"以闪避强度为例分析其实际价值 19推导结果汇总 20\o"CurrentDocument"后记 22对本文不认同的筒子,欢迎提出批评意见,或无视本文.对推导过程看不懂或者无兴趣的盆友可以直接跳到这里来看结论.作者尽量少说废话,但仍不保证论述过程绝对言简意赅,甚至不保证结论正确.灰字楷体部分的题外话是可看可不看的,作者只是为了吐槽才多写了那些.01.公式与模型TOP公式因需求而存在.公式运算的目的,不是得出一个结果,而是得出一个能够满足需求的结果.公式能有意义,必须是在与公式相匹配的战斗逻辑以及战斗模型甚至模型特征参数设定的环境下.因此,在游戏环境之外讨论公式基本无意义,除非你能把公式抽象到可以无视一部分游戏设定的高度去.要炼成公式,必须要先设定好逻辑,参数,模型.关于日经的战斗公式用减法好还是除法好的争论,作者不知道该怎么回答.作者的模型和公式里,四则运算都会有,因此实在不明白,啥样的公式才能被称为减法公式,啥样的公式才能被称为除法公式.本文所介绍的,是一个用于推导角色属性预期值,属性价值,以及战斗公式的模型.以属性完全相同的两个标准玩家相互平砍为依据,尝试得到稳定的战斗节奏.模型基于PVB这意味着我们会需要综合考虑攻防两端属性对于战斗的价值(PVE模型往往会忽略掉一部分属性的价值).虽然只是一个用于考量1v1平砍节奏的模型/旦它是一切战斗平衡的基础.你想要做的更深更复杂的模型,或者是更进一步的推导(譬如装备属性设定,宠物属性设定,技能数值设定等),都会是基于本模型来进行扩展的.所谓标准玩家,指的是,我们所预期的玩家最可能地处于的状态.
一般情况下,这个模型会被视为所有职业的综合平均体.当然,你也可以针对每个职业模型本身的特征来为其配置特定的公式,这样的话,标准模型就是你所针对的职业模型.先归纳一下本模型的思路:1.所有设定都是为了得到一个稳定的战斗节奏.>所谓战斗节奏,指的是一场战斗从开始到分出胜负所需要花费的时间.本文的战斗节奏指的是双方站桩平砍出胜负所需要的时间平砍节奏是需要被预期的,因为这是玩家最直观的战斗感受战斗属性的价值,在于影响平砍节奏攻击类属性缩短平砍节奏防御类属性延长平砍节奏公式存在的目的,则是为了让属性对平砍节奏的影响保持稳定为调节平砍节奏,而抽象出EHP与EDPS的概念>EHP被我称为有效生命值,也可以理解为抗打击能力.EHP是一切防御类属性的综合体现,所有防御类属性的价值都在于提高EHP.EHP=-1总减伤比例EHP=-1总减伤比例X1MHP闪避价值X总闪避率招架价值X总招架率>EDPS被我称为有效伤害值,也可以理解为打击能力.EDPS是一切攻击类属性的综合体现,所有攻击类属性的价值都在于提高EDPS.EDPS=DPSX[暴击价值X总暴击率+命中价值X总命中率]>平砍节奏=EHP/EDPS对EHP与EDPS的控制,就是为了保证平砍节奏始终与预期一致或许不同项目里EHP以及EDPS的计算公式会有差异,但由EHP/EDPS来推导平砍节奏的总思路是不能变的,变了就无法套用作者所提供的模型了.换句话说,要使用作者的推导思路,你至少要能从你的模型里抽象出独立的EHP与EDPS来.与WLK相比,本模型精简掉了”影响对方防御”的攻击类属性(精准,破甲),原因在于这种属性会让EDPS的计算变得困难起来.如果需要在模型中引入这类属性的话,需要额外推导”降低对方EHP”与”提高自身EDPS”这两种效果之间的价值换算关系或者在计算EDPS的公式中引入敌方的防御数据.抽象出必要的模型特征参数,并为其赋值(详见第三部分)要求属性价值稳定,不随属性本身变化而变化>所谓边际效应,指的是,某属性在自身数值越大时价值越大,导致玩家的最优策略成为了,要么往死里堆这个属性,要么干脆一点也不堆的现象.用攻-防来得到伤害的模型不可避免会出现这种现象,而传统的闪避减伤其实也是一样的道理.本模块中所有公式都是为了稳定属性价值,解决边际效应难题而设计(详见第四部分)推论9EHP与EDPS对引起它们变化的属性值成线性关系5.“设定”每单位战斗属性价值从方便玩家理解的角度来说,设置为相等会比较简单(本模型默认采用了此设置)推论9EHP与EDPS对任意属性自变量的导数相等题外话:求导属于微分,至少也是要懂求极限的概念的.而求极限我记得是高中数学知识吧?所以,我认为新疆人所说的数值策划只需要小学4年级数学水平的言论欠妥.当然了,不可否认,在理论上,只上过小学4年级的人,自己多读点书也是有可能证明1+1=2的,一定要说四年级生可以懂求极限,好像也行......吧.6.由4与5的这两个推论,可以建立起方程组.为这些方程代入模型特征参数值后联立,可以解出战斗公式所需参数.(详见第五•第六,第七•第八部分)理论上,由战斗公式也可以先拍公式系数,然后反推相关的属性价值.但是,对于含有两个或两个以上参数的公式而言,会需要额外注意请确认公式里的参数之间本身有没有存在相关性,如果有的话,你就得由一个参数来推出另外一个,而不能两个都拍脑袋随便写.7.设定角色属性的成长曲线(也就是f(lvl)函数)成长曲线的设计,大体上是由项目需求所决定的,作者暂时无力总结出普适性的规律来,就不提了•文中也只是随手写了个式子,并给出了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模型特征参数,实际上就是你对这个模型的基本需求,代表了你这个模型的”特征”.由于你”认为”这个模型”应该”满足这些标准,因此你为它拍定了标准数值.拍数流程:分析模型,总结出你认为是你的模型特征的数据模型特征参数大体上都应该满足两个条件:不会经常变化(并不是不能变).相互之间没有逻辑关系按照你的需求来给模型特征参数”赋值”拍定模型特征参数后,你必须保证游戏实际环境与你拍的数相匹配.比如说,我预设定了角色的”其它闪避率”=5%,那么天赋闪避和初始闪避之和就不能与5%差太远.又比如,我设定了全技能时EDPS能提高100%,那么我在作技能数值时就必须让结果往100%尽可能靠近.5.一些建议最好把模型特征参数集合起来定义在一张表单里,然后让所有其它有进行计算的格子都来这个表单里引用数据.尽量避免在建模时把给定了数值的参数直接写在公式中,这会让你在想要调整维护
时抓狂.在一个健康的excel表的计算页中,我们应该做到,该页里的所有公式中不存在有数字(除了1之外),而应该每个参数都是对其它单元格的引用.>最終目标是,在模型建立完成后,后续维护工作仅仅是调整模型特征参数,没有其它.6. OK,看我拍的数吧(没啥实际意义,仅供参考)>总护甲减伤比例35%>总闪避率15%包含其它闪避率,后同>其它闪避率(非强度转化的部分,后同)5%可能由天赋,Buff,或初始化生成>总招架率15%>其它招架率5%>总暴击率25%>其它暴击率10%>总命中率96%>其它命中率90%>MHP100F(lvl)每增加1时所增长的MHP>攻强所转化的DPS占总DPS的百分比50%>武器DPS占总DPS的百分比25%>等级偏移量B4后面会有定义>平砍击杀时间20单位秒>全技能后EDPS提高幅度100%>全技能后EHP提高幅度50%>暴击价值1(暴击倍数为2时,如果不考虑天赋加成等乱七八糟因素,可以视暴击价值为1)>命中价值1>闪避价值1>招架价值1.2504.公式简介TOP公式采用以下结构的原因,是都是为了"凑"出EDPS(EHP)对属性自变量导数为常数或者总是很接近于常数的结果来.属性成长曲线 f(lvl)=level+B这是一个很关键的表达式,因为f(lvl)会被各处公式所调用(往后翻就能看见).f(lvl)代表着游戏中"角色属性随等级成长的成长曲线”.在本模型中,无论你如何调整f(lvl)的表达式,只要你保证所有公式中都调用相同的f(lvl),就不会影响到平砍节奏.证明过程暂略(很简单),有兴趣的可以自行推导.如此一方面可以使得平砍节奏不受等级影响,另一方面也让你能够随意调整指定等级的角色强度,会极大方便你进行数值调整.Level+B这个表达式,只是作者随手写的一个式子,请勿随便模仿.原因在于,按照y=(level+B)xAy这个公式,角色的属性成长曲线是线性的,每升一级所增长的属性值是固定值.但是,角色能力成长的幅度不一定是固定值.在实际项目中,你需要根据项目本身的实际需求来调整f(lvl)的结构,甚至可能将f(lvl)定义成一个纯靠读表来获取结果的无规律函数.比如说WOW的做法就很简单粗暴,把旧大陆,TBC,WLK这3个版本用分3段的线性函数来定义(数据是通过观察护甲公式而反推的).旧大陆(1<=level<=60)f(lvl)=level+4.5 f(60)=64.5TBC(60<=level<=70) f(lvl)=5.5*level-265.5 f(70)=119.5WLK(70<=level<=80) f(lvl)=??wlk的护甲减伤公式没找着,只能从游戏实测可得f(80)大约等于174.5(如果忽略掉恶心的400).理论上找个71级的也号测一下就能反推出71-80的f(lvl),不过作者没号,所以算了,反正也不重要.属性计算公式 y=f(lvl)xAy以上公式,将用于计算角色指定等级下任意属性的预期值.在f(lvl)=level+B时,我们可以看到,如果把B设为0,那么角色属性值和角色等级就是成正比的.比如说,1级的时候100HR2级200,3级300,如此递增下去.那么,如果把B设为4,你就可以让角色在1级时具有实际5级的属性(只是为了让初始属性好看一些).1级的时候500HR2级600,3级700,如此递增.如上一部分所说,F(lvl)可以是任何形式的表达式(甚至可与等级无关,不过我们一般不这么做).而Ay则是f(lvl)每增加1时,y的增量.护甲减伤,闪避/招架强度转率公式y=(Cxx)/(x+f(lvl)xA)以上公式,将在护甲强度转化减伤率,闪避强度转化闪避率,招架强度转化招架率这三处进行应用.x就是指定的属性强度值.C代表着强度转率的效率,同时也是极限.——剑三缺少极限的公式控制A就是常说的等级削减系数了.由于此系数的存在,角色等级越高,要转化出相同量的率时,所需要提供的强度将越来越大.暴击/命中强度转率公式 y=x/(f(lvl)xA)以上公式,将在暴击强度转化暴击率,命中强度转化命中率时应用.分母中没有了x,这意味着暴击与命中的强度转率时不会受到强度值本身的削减影响,强度与率之间的关系是线性关系.A的定义与上一个公式一样.之所以暴击与命中的强度转率公式需要与护甲,闪避,招架公式不同,是因为这些自变量属性在EHP计算公式或EDPS计算公式中的出现位置不同,和”它们是攻击类属性”并无必然联系.攻击强度转DPS公式DPS=AP/A由于DPS与EDPS直接成正比关系,因此公式如上所示即可满足”AP与EDPS成正比”的需求.
EHP计算公式EHP=MHPEHP=1-总减伤比例xl-闪避价值X总闪避率-招架价值X总招架率总减伤比例=总减伤比例=ACAC+flvlxA护甲总闪避率=C总闪避率=C闪避xDGPDGP+flvlxA闪避+其它闪避率总招架率=C招架总招架率=C招架xPRPPRP+flvlxA招架+其它招架率其它闪避率,指的是由角色初始带有,或者天赋加成,或者buff加成的,不受削减的闪避率.招架相同.理论上减伤比例也可以有非AC转化的部分,每1%减伤比例的价值也未必是1,不过我偷个懒吧假设它没有了.由EHP公式能推导出一个常用的结论公式TOC\o"1-5"\h\z\o"CurrentDocument"价值MHP= 1价值EHP=1-总减伤比例XI-闪避价值X总闪避率-招架价值X总招架率EDPS计算公式EDPS=总DPSX[暴击价值X总暴击率+命中价值X总命中率]AP 1总DPS= X—A攻强攻强DPS占总DPS百分比总暴击率=C暴击XCHPflvl总暴击率=C暴击XCHPflvlXA暴击+其它暴击率总命中率=C命中XDGPflvlXA命中+其它命中率OK,有了以上这些公式与参数之后,我们已经可以开始推导战斗中所有的公式并设定本模型相关的所有数值了……05.护甲减伤公式推导TOP已经确定了护甲减伤公式的形式为CXACyAC+f(lvl)XA很显然,所谓的推导,实际上就是求A,C这两个参数的值.已知EHPMHP=(1-总减伤比例)X(1-闪避价值X总闪避率-招架价值X总招架率)MHP_(1-沁)X(1-闪避价值X总闪避率-招架价值X总招架率)AC+f(lvl)XA_ MHPX(AC+f(lvl)XA)—(f(lvl)xA+(1-C)xAC)x(1-闪避价值x总闪避率—招架价值X总招架率)首先看C.理论上,C代表着强度转率的效率,同时也是极限.观察上式后发现,若C=1,EHP公式分母里AC将被消掉,EHP与AC之间的关系成了线性关系我们想要的不就是这个效果么?每点AC都能提升固定量的EHR与当前AC值之间并没有关系……因此,C就被作者设定为1了(后面招架与闪躲公式C值的设定也会采用相同的思路).至此大家应该可以明白,为什么本模型(以及biz系游戏)的护甲减伤公式要采用此模型了.这与该公式是加法还是除法完全没有关系,而仅仅是因为,只有采用这种结构,才能推导出"EHP与AC成线性关系"的表达式来然后求A.由EHP对AC求导,可以推出表达式MHPEHP,(AC)=f(lvl)XAX(1-闪避价值X总闪避率-招架价值X总招架率)观察后可以发现,MHP/f(lvl)正是我们之前所定义过的AMHP,于是此式可化简为
AMHPEHP,(AC)=AX(1-闪避价值X总闪避率-招架价值X总招架率)又因为EHP,(AC)=价值(AC)=价值(MHP)价值(EHP)价值(EHP)1=(1-总减伤比例)X(l-闪避价值X总闪避率-招架价值X总招架率)所以A=AMHPX(1-总减伤比例)A(护甲减伤)已被解出.A,C都已经搞定,那么现在可以代入一部分数据来看一下公式的全貌:AMHP=100 角色每等级成长100HP总减伤比例=35% 标准模型下角色的总护甲减伤比例为35%所以A(护甲)=100*(1-35%)=65于是护甲减伤公式可以被确定为ACy=AC+f(lvl)X65又因为f(lvl)=level+B而B=4所以ACy=AC+levelX65+260假如level=60,题外话:则角色的MHP=(60+4)*100=6400,护甲=0.35*65*(60+4)/(1-0.35)=2240对于WOW的护甲减伤公式,作者一直有很强的吐槽欲望.60级以前AC ACV= =—AC+levelX85+400AC+(level+观)X8585A=85,很显然,这是由于AMHP与总减伤比例这两个模型特征参数设定的差异所导致的.但后面的400啊,你为什么是400而不是425或340看起来总觉的非常非常地别扭,就像sheldon无法坐在他自己的位置上吃饭时的感觉一样……TBC的护甲减伤公式看起来就更恶心了AC『AC+(level+4.5x(level一59))x85+400如果把level+4.5x(level—59)理解为f(lvl),那400到底是啥?此外,为什么是level-59而不是level-60啊混蛋!用level-60你才能让两段曲线在60级相交啊……有分段但是不相交,感觉仍然和sheldon一样,仿佛胃里有只苍蝇在嗡嗡嗡嗡地飞来飞去••••••谁能帮我把它拍死?除此之外,还有一个一直让作者无比困扰的平衡调整发生在1.6版本,blz将耐力属性的价值降低了1/3,于是可以出现耐力的场合,耐力值都提高了50%.问题在于,耐力值提高势必导致标准模型的AMHP与总MHP提高,那么为什么所有公式的参数值都没有受影响?比如说护甲公式里面的A值.难道是因为游戏中实际的平均MHP在1.6之前是低于标准模型的?作者至今没有想通此问题.还有.无论是从成长曲线(比如说观察不同等级下剥皮技能的暴击等级奖励值)上来看,还是从满级f值的设定规律(f(60)与f(70)都恰好对应着角色刚到满级时所能获取的第一批史诗装备的物品等级)来看,f(80)都应该等于200.但从80级护甲减伤实测的效果是f(80)=174.5.难道现在A值不是85了?谁能帮忙找到准确的WLK护甲减伤公式?细心的朋友可能也发现了,如果角色的AMHP不等于100,总护甲减伤也不等于35%,等等,你这公式不就不准了么??是的,作者所有的推算,都是基于标准模型.我认为角色状态应该与这个模型相匹配,于是我会去为他设计相应的装备属性,角色成长曲綫等数值,使他的属性尽可能往标准模型上靠.但这毕竟只是一种在期望上的调整.作者无法实际要求玩家去穿什么装备不穿什么装备,也无法要求他吃什么药加什么buff点什么天赋.一切都是在猜,作者所能做的仅仅是尽可能猜得更准.如果只是小幅度的属性差异,对于平衡的影响大致可以忽略不计.而大幅偏离模型的情况确实是存在的,常见的有两种:1.角色的装备档次过低或者过高,使得他所有的属性在总体上偏低或偏高.>由于各个属性在EDPS与EHP计算公式中的位置不一样,这种同步的增幅或减幅对每个属性价值的影响确实可能并不一样.>但其导致的误差比较小,不会对玩家对装备属性的价值观产生太大影响•具体可以参考WOW.(本文第10部分也有少量分析).2.角色有堆某种属性而放弃某种属性的倾向•譬如说无视AP而专堆暴击.>首先,我们可以考虑给玩家定制所有高端装备•换句话说,我每件装备都是这德性,你怎么穿都不会偏>如果不考虑这种下策,那么这个问题是无法解决的•这不是本模型独有的毛病.>在此状态下,暴击的收益越来越小,而AP的收益会越来越大,玩家会自然而然地找到一个平衡点,最终保持一个稳定的暴击/AP比.>这不算是坏现象,作者所想要避免的,仅仅是越堆某个属性结果玩家强得就越厉害的情况(攻-防模型不可避免会出现这种现象)>属性价值平衡的目的,主要是给LightUser提供一个基本靠谱的属性选择标准,并非必须的工作,这也是为什么很多游戏的属性非常不平衡,但也照样运营得红红火火的原因.CoreUser自然会根据他自己的模型特征去选择合适的属性配比>从某种角度上来说,也其实是设计者们包括作者的一种偏执------明知道不可能达到标准,甚至并非必须达到标准,但总希望能够尽可能地接近标准.06.闪避\招架率转化公式推导TOP众所周知,暴雪在WLK中引入了新公式,对等级削减后得到的闪避招架率进行了再一次的削减这种做法,其实和作者模型里所描述的公式殊途同源(很容易就可以推导成结构相同的表达式).不过作者一直不理解为什么wow不把敏捷与智力转暴击率或闪避率的效果改为加暴击等级或闪避等级.先看招架公式.已知总招架率=强度招架率+其它招架率强度招架率=CxPRPPRP+f(lvl)XAMHP(1-总减伤比例)X(1-闪避价值X总闪避率强度招架率=CxPRPPRP+f(lvl)XAMHP(1-总减伤比例)X(1-闪避价值X总闪避率-招架价值X总招架率)由以上方程可以推导出EHPMHP(1-总减伤比例)X(l-闪避价值X总闪避率-招架价值X(CXPRP +其它招架率))PRP+f(lvl)xA观察公式后可以发现,要想让EHP对PRP也是线性关系,C需要满足以下条件1-闪避价值X总闪避率-招架价值X其它招架率C=招架价值至此,大家可能能够明白为啥WLK里对招架闪躲的削减公式里的系数都是那么怪异了……因为根本就是算出来的而不是拍出来.不过作者在此存有一点疑问.从数字上看,WLK闪避公式的C值可以与作者的预期吻合,但招架的C值却有点过小了(导致招架价值大打折扣),原因不明.不管暴雪是怎么做,总之作者就这么干了,代入相关数值后得到C值C=it*°.15-1.25*°.°5=0.926471.25剩下的推算过程与护甲减伤公式完全相同,就不重复了,直接给出招架与闪避强度公式中A与C的推导结果C(招架)=1-闪避价值X总闪避率-招架价值X其它招架率
招架价值A(招架)=AMHPX(l-闪避价值X总闪避率-招架价值X总招架率)1-闪避价值X总闪避率-招架价值X其它招架率C(闪避)=1-闪避价值X其它闪避率-招架价值X总招架率
闪避价值A(闪避)=X(1-闪避价值X总闪避率-招架价值X总招架率)1-闪避价值X其它闪避率-招架价值X总招架率07.暴击\命中率转化公式推导TOP暴击强度与命中强度的计算,涉及到总DPS了•所以需要先求出总DPS来.与AMHP的定义相类似,实际计算过程中我们也不需要总DPS,而只需要ADPS.ADPS定义: F(lvl)每增加1时所增长的总DPS联立以下方程EHP=平砍节奏XEDPSMHPEHP=——1-总减伤比例X1-闪避价值*总闪避率-招架价值*总招架率
EDPS=DPSX[暴击价值*总暴击率+命中价值*总命中率]MHP=flvlXAMHPDPS=flvlXADPS可以得到结果ADPS=AMHPADPS=1-总减伤比例X1-闪避价值X总闪避率-招架价值X总招架率1暴击价值1暴击价值X总暴击率+命中价值X总命中率1平砍节奏回到EDPS计算公式CHP HitPEDPS=DPSX[暴击价值X -— +其它暴击率+命中价值X -一 +其它命中率]l flvlXA4 flvlXA5 」由EDPS对暴击强度与命中强度分别求导可得EDPS,CHPADPSEDPS,CHPADPSX暴击价值A暴击EDPS,HitPADPSX命中价值A命中又由EHP=平砍节奏XEDPS可以推知价值EDPS=平砍节奏X价值EHP
所以EDPS,(CHP)=所以EDPS,(CHP)=价值(CHP)
价值(EDPS)价值(MHP)
平砍节奏X价值(EHP)1(1-总减伤比例)X(1-闪避价值X总闪避率-招架价值X总招架率)X平砍节奏ADPSX暴击价值A(暴击)由此解出A(暴击)AA(暴击)A(命中)暴击价值X总暴击率+命中价值X总命中率同理可解出AMHPX命中价值暴击价值X总暴击率+命中价值X总命中率题外话:若命中与暴击率的决定方式为先判定是否命中,然后判定是否暴击,则结果应该为口,AMHPX暴击价值X命中价值X总命中率A(暴击)=J 暴击价值X总暴击率+命中价值X总命中率入亠AMHPX命中价值X(1+暴击价值X总暴击率)A(命中)=——暴击价值X总暴击率+命中价值X总命中率08•攻击强度转DPS公式推导TOP由EDPS对AP求导得p(AP)=暴击价值X总暴击率+命中价值X总命中率-A(AP)xAPDPS占总DPS百分比由价值(AP)与价值(MHP)相等而价值(EDPS)=平砍节奏*价值(EHP)可得,、 价值(AP) 价值(MHP)EDPS,(AP)= =价值(EDPS)平砍节奏X价值(EHP)=1平砍节奏X(1-总减伤比例)X(1-闪避价值*总闪避率-招架价值*总招架率)联立以上两式后可解出A(AP)=(暴击价值X总暴击率+命中价值X总命中率)X平砍节奏X(1-总减伤比例)(1-闪避价值*总闪避率-招架价值*总招架率)XAPDPS占总DPS百分比09.各属性预期值的推算top由于y=f(lvl)xAy公式的存在,我们仅需要求出各属性的A值即可.在已知护甲减伤以及闪避/招架/暴击/命中强度转率公式的前提下,结合我们在标准模型下对这些率的预期,很容易便能够得到护甲以及闪避/招架/暴击/命中强度的A值.题外话:属性总量的推算还只是在规划层面的结果,接下来要做的事情是将这个总量拆分开来分到游戏里的各个元素上去(装备占多少价值?强化占多少价值?宝石占多少价值?宠物占多少价值?),使得你的角色实际状态与模型预期相符.本文不讨论这部分内容.此处直接给出结论,推导过程略AMHP=100(已知)AAC=总减伤比例XAMHPAAP=AMHP(总闪避率-其它闪避率)XAMHPX闪避价值ADGP=1-闪避价值X其它闪避率-招架价值X总招架率总招架率-其它招架率XAMHPX招架价值APRP=—1-闪避价值X总闪避率-招架价值X其它招架率
总暴击率-其它暴击率XAMHPX暴击价值ACHP=暴击价值X总暴击率+命中价值X总命中率总命中率-其它命中率XAMHPX命中价值AHitP=暴击价值X总暴击率+命中价值X总命中率10.以闪避强度为例分析其实际价TOP在建模并为属性赋予价值时,我们是基于标准模型来做的.但在游戏中,属性的实际价值是由各个属性的当前值所决定.值得注意的是,由于此时已经不是标准模型,所以之前赖以消掉分母中自变量的等式已经不成立了•不过我们依然可以通过由EDPS或EHP对属性求导的思路来推导一个属性的实际价值.这里仅以闪避强度为例分析一下.假定价值(EHP)=1通过由EHP对DGP求导,可以得到闪避强度的价值表达式价值DGP=MHPXflvlX闪避价值XA闪避XC闪避= 1-总减伤比例 1X[1-闪避价值X其它闪避率-招架价值X总招架率-CX闪避价值XDGP-1-闪避价值X其它闪避率-招架价值X总招架率XflvlX在标准模型下,1-闪避价值X其它闪避率-招架价值X总招架率-CX闪避价值是等于0的,分母中不含有自变量.但是游戏环境中,这个表达式所代表的含义是,角色实际的实际招架减伤效果以及实际的其它闪避减伤效果之和,与标准模型下这两个效果之和的差值.这个差值将影响每单位闪避强度的价值走向.这些率的总值在小于标准模型时,闪避强度值越大其价值越小.反之,实际招架率与实际其它闪避率之和大于标准模型时,闪避强度值越大其价值越大.这样的结论说明,作者的模型在应付神装或有強力BUFF加成的玩家时依然有力不从心之感.在玩家的招架率或buff所提供的闪避率远远高出标准模型预期时,继续死命堆闪避强度依然是一种最优策略.话虽如此,只要神装玩家的实际招架率以及其它闪避率与预期不差得太远,DGP价值的增长幅度就会很小,不会影响平衡.这已经是现在的公式万分努力的结果了.我们在设定标准模型,设定装备属性,设定Buff属性时都得额外注意,避免神装玩家的率值通过堆强度值或获取特殊Buff之类手段而超出标准模型太多.有两个简单的缓解此现象的办法.一是尽可能让游戏中不出现不可控的直接率值加成主要是指在Buff上.比如说,40人纳克萨玛斯里盗贼开闪避硬扛教官的现象,只需把闪避技能改为增加闪避强度即可解决.总而言之,要让其它闪避率这个值可控.二是放弃圆桌理论,改为闪避和招架分开计算概率.为什么W0W里护甲值这个属性从来没有被指为破坏平衡?就是因为它同时满足了以上两点.其余属性的分析方法同理,作者就不浪费篇幅来做了••…11.推导结果汇总TOP至此,本模型所需推导的数据推导完毕,在此汇总一下,方便查阅吧.MHP=f(lvl)XAMHPAP=f(lvl)XAMHPA(AP)=(暴击价值X总暴击率+命中价值X总命中率)X平砍节奏X(1-总减伤比例)X(1-闪避价值*总闪避率-招架价值*总招架率)APDPS占总DPS百分比A(闪避)C(闪避)_f(lvl)X(总闪避率-其它闪避率)XAMHPX闪避价值DGP= 1-闪避价值X其它闪避率-招架价值X总招架率-AMHPX(1-闪避价值X总闪避率-招架价值X总招架率)-1-闪避价值X其它闪避率-招架价值X总招架率_1-闪避价值X其它闪避率-招架价值X总招架率闪避价值f(lvl)X(总招架率-其它招架率)XAMHPX招架价值1-闪避价值X总闪避率-招架价值X其它招架率A(招架)AMHPx(1-闪避价值X总闪避率-招架价值X总招架率)1-闪避价值X总闪避率-招架价值X其它招架率C(招架)=1—闪避价值X总闪避率-招架价值X其它招架率= 招架价值CHP=f(l
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年投资项目管理师之宏观经济政策试题预测试卷附完整答案详解【名校卷】
- 2026年外贸函电选择题考试押题密卷及答案详解【名师系列】
- 2026年科普知识竞赛预测复习含完整答案详解(历年真题)
- 2025云南香格里拉渝农商村镇银行社会招聘3人笔试历年典型考题及考点剖析附带答案详解
- 2025云南文山高新区投资开发集团有限公司下属子公司高级管理人员招聘2人笔试历年备考题库附带答案详解
- 航班运行管理与安全控制手册
- 2025九江银行招聘支行/营销团队负责人(广州分行)笔试历年典型考题及考点剖析附带答案详解
- 2025中电科电子装备集团有限公司“烁科人才麒麟”招聘150人笔试历年备考题库附带答案详解
- 银行业务流程与服务规范手册
- 家禽产蛋期管理工作手册
- 新高考语文专题复习:小说阅读答题模板
- 新汉语水平考试 HSK(四级)试题及答案
- 阳泉煤业集团兴峪煤业有限责任公司煤炭资源开发利用和矿山环境保护与土地复垦方案
- 圆锥曲线定义的应用
- “一题一课”教学设计-浙教版八年级数学下册
- GB/T 9163-2001关节轴承向心关节轴承
- GB/T 26163.1-2010信息与文献文件管理过程文件元数据第1部分:原则
- GA 270-2009警用服饰帽徽
- 习作:《我学会了-》课件
- 新概念英语 青少版入A U1-U9测试
- 烹饪工艺学原理课件
评论
0/150
提交评论