回顾|基础数值模型的建立与分析

写在前面的话

本想法开始于本人一个宠物系统的创(假)意(想),发现没有数值基础的玩法设计都是空想…也来源于前辈对于细节的要求把。

于是开始了数值框架的搭建与分析…经过几天学习、思考,简历了一个简单的模型。

每次回过头来看以前的自己,都感觉有一些幼稚、无知,以后的我再回头看,也会有一样的感觉吧…

最开始有人问我,你做这个有什么意义呢,我给自己的答案是,通过了解数值体系,可以为自己的想法提供理论支持,更重要的是,在这个过程中我学习并思考到了很多数值相关的知识,以后入职可以更好的理解大佬们的思想、更好的完成大佬们的任务。

文章思路有些混乱…很多东西都没表达出来,希望前辈们给我一点方向吧。

第一章:系统背景

此数值模型设计背景:游戏在数值玩法上有一定深度、自由度、平衡性较高。

1、自由度:属性选取完全自由,通过属性搭配选择自身成长方向。
2、深度-策略性:通过合理搭配自身属性达到自己成长方向上的最优策略
3、平衡性:各属性对于有效战斗力的提升率在可控范围内

第二章:数值模型总览

属性定义:等级=lvl攻击=atk 防御=a 急速等级=h 暴击等级=c 血量=hp 属性权值均为1,

在基础公式上,lvl点属性点相当于1倍基础攻击、100%急速、80%暴击、1倍实际血量、lvl点护甲相当于增加了1.5*lvl/atk2倍的血量。

1、战斗公式设定

伤害值=1.5atk^2/(atk+1.5a)=1.5*atk/(1+1.5a/atk)
攻击间隔(施法时间)=基础攻击间隔/(1+急速率)
急速率=1+h/lvl
暴击率=1+0.8c/lvl

2、角色基础属性及属性投放

角色在等级为lvl时
基础血量=lvl
基础攻击=lvl
属性投放量为K*lvl k=lvl+lvl*lvl/100 即1-100时属性投放量从相当于1.01倍基础攻击的属性增加到2倍基础攻击的属性

3、实际战斗力换算公式

取对手攻击=atk2 防御=a2
有效攻击 =1.5*(基础攻击+atk)(1+h/lvl)(1+0.8c/lvl)/(1+1.5a2/(基础攻击+atk))
=1.5lvl(1+atk/lvl)(1+h/lvl)(1+0.8c/lvl)/(1+1.5a2/(基础攻击+atk))
有效血量=(基础血量+血量)(1+1.5a/atk2)=lvl(1+hp)(1+1.5a/atk2)
实际战斗力=有效攻击*有效血量,可见对手对战斗力的计算影响较大,而战斗力评分在战斗力相近时最有意义,所以取对手攻击=1.5lvl 防御=0.2lvl
代入得
实际战斗力=1.5lvl^lvl(1+atk/lvl)(1+h/lvl)(1+0.8c/lvl)(1+hp)(1+a/lvl)/(1+0.3/(1+ atk/lvl))

第三章:数值包装

上一章所述公式不太直观,本章把数据进行简单包装,使数据模型贴近实际游戏,更易理解。

1、属性转换率

1点属性=1点攻击=7.5血量=0.5急速等级=0.5暴击等级,
1急速等级提高10/lvl点急速率,1暴击等级提高10/lvl点暴击率

2、基础模型

玩家在lvl时 基础攻击=20*lv 血量=150*血量

3、属性投放

属性投放为20*(lvl+lvl*lvl/100),可以对装备固定属性等因素进行设定,使人物某种属性有最低值。

 


四、属性收益分析

本章分析在基础模型下的属性分析,实际情况中会因为技能、额外属性等因素改变,首先引(定)入(义)三个概念:
属性评分:每点属性对于基础攻击的提升
属性收益:当前条件下,每点属性对于战斗力的提升值(纯攻击职业只考虑有效攻击力)
属性收益率:每点属性对当前战斗力的提升比
我们以急速、暴击为例(本模型攻击会影响减伤比,另讨论),分别说明这三个概念,在只考虑攻击的情况下
△c趋近于零
暴击评分=(提升后有效攻击-基础攻击)/基础攻击/提升值=(lvl*(1+0.8(c+△c)/lvl))-lvl)/ lvl/△c =0.8
急速评分=1
怎么理解:每1%急速提升1%基础攻击攻击,每1%*lvl点急速等级提升1%lvl点攻击

暴击收益 =(提升后有效攻击-当前有效攻击)/提升值=(1.5lvl(1+atk/lvl)(1+h/lvl)(1+0.8(c+△c)/lvl)*受伤比-1.5lvl(1+atk/lvl)(1+ h/lvl)(1+0.8c/lvl)*受伤比)/△c

 

 

=1.5(1+atk/lvl)(1+h/lvl)*受伤比*0.8
=k*0.8(1+atk/lvl)(1+h/lvl) (k=1.5*受伤比)
而急速收益=k(1+atk/lvl)(1+0.8c/lvl)
由公式可见收益率与其他属性有关
理解:每点暴击收益为暴击评分乘以其他属性加成

暴击收益率 =(提升后有效攻击-当前有效攻击)/当前有效攻击(1.5lvl(1+atk/lvl)(1+h/lvl)(1+0.8(c+△c)/lvl)*受伤比-1.5lvl(1+atk/lvl)(1+h/lvl)(1+0.8(c+△c)/lvl)*受伤比)/(1.5lvl(1+atk/lvl)(1+h/lvl)(1+0.8(c+△c)/lvl)*受伤比/△c=0.8/(lvl+0.8c)
急速收益率 =1/(lvl+h)
防御收益率=1.5/(atk+1.5a)(atk为对方防御)
攻击收益率=(atk+2a)/(atk+a)/atk(a为对方防御,同等级下a<2atk)
理解:急速=0时每1%急速等级提升1%当前攻击 急速100%时,每1%急速提升1/(1+100%)=0.5%当前攻击。
由公式可见收益率只与本属性有关,
当两属性收益相等时,实际战斗力取最大值(证明略)
同样,当两属性收益率相等时,实际战斗力取最大值
通过两种方法求解均可得到h-c=0.25lvl 与程序模拟相同(只考虑暴击急速)
属性评分较为直观可见,可以作为装备评分、战力评分的标准,很多玩家会陷入一个误区:急速比暴击提升高,所以全力堆急速,而忽视了合理搭配属性的重要性属性收益反应了属性提升对当有效战斗力的提升值,可以直观展示属性-战斗力曲线属性收益率反应了属性提升对有效战斗力的提升比,适合横向比较属性收益。

 

此模型下属性收益率只与当前属性有关,可以做出不同属性的属性–属性收益率曲线来评估属性作用的变化趋势。
当所有属性收益率相等时,可获得最大战斗力。
综上,在同等级下,以属性收益率来评估属性作用大小是最好的方案。

五、成长曲线

1、同等级成长曲线

属性总和一定时,通过计算属性收益率来获得最大战斗力。选取敌方模型为1.5lvl攻击、具体计算方式略,
第一列:属性提升倍数=属性投放/lvl=k
综合战斗力= f1(k) =((k-1)/5+0.25+1)^4*(1+(k-1)/5) (k>=1时)
=(0.25k+1)^4 (K<=1时)

 

2、等级成长曲线

基础战斗力f2(lvl)=m*lvl*lvl (m为常数)
属性投放曲线为f3(lvl)= lvl+lvl^2/100 (等级1—100时,属性投放从1.01lvl上升至2lvl)
属性提升倍数=f4(lvl)= f3(lvl)/lvl=1+lvl/100
总战斗力=基础战斗力*属性提升的战斗力倍数
=基础战斗力*f1(属性提升倍数)
=f2(lvl)*f1(f4(lvl))
=m*lvl^2*f1(1+lvl/100)
= m*lvl^2*f1(1+lvl/100)



六、平衡性调整方案

1、纵向-属性投放调整

a.属性投放可以通过装备固有属性来设置属性最低值、可以增加稀有属性来调整各属性收益率曲线达到平衡,如暴击评分比急速低,可以在后期通过技能或者装备增加暴击伤害加成这一属性。
b.根据属性投放比-战斗力曲线来调整属性获取-消耗曲线(属性获取难度),让系统产出消耗、不同阶层玩家之间的关系达到设计值。
c.属性投放可以按权值分配在各个玩法系统中,如装备、加点、修炼、道具等
d….
2、横向-属性评分调整
a.可改变模型中各个属性的转换系数,来改变属性的收益率曲线
b.可通过技能、特殊属性来改变属性收益,如一定几率眩晕对手增加了急速的评分
c……..

七、题材包装、玩法及扩展

此章大概的讲述一下思考方向

1、可以作为宠物系统的基础数值模型,通过宠物资质调整属性转化率
2、由于有较高的平衡性,可以用在自由度较高的mmrp游戏,玩家可以随意选择成长方向、搭配技能
3、在基础模型上,可增加命中、闪避、招架、天赋等属性,具体分析方法相同,可以增加暴击伤害加成来改变暴击评分以及其收益率曲线
4、由于属性自由度很高,在关卡设计上有更多的灵活性、当然设计难度也会更大,玩家的策略性也会增加。



发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

(Spamcheck Enabled)

最新评论