您当前的位置:首页 >> 头条 >  
游戏数值策划-二分法-天天即时
来源: 哔哩哔哩      时间:2023-03-19 23:04:44


(相关资料图)

最近在做一个游戏的最终boss,因为要平衡各种东西,比如难度,需要对不少地方的数值进行调整,其中我用了一个非常方便而且简单的方法辅助调整 --- 二分法

当然平衡是一直在调整的,不是做完之后对所有东西调整,那样完工之后的工作量未免太大了,比如在做最终boss登场的时候,要考虑到最终boss开场动画的时长,以及最终boss最后要出现在什么地方,还有包括最终boss的大小之类的数值都要进行调整。以大小为例,比如现在的大小是原素材尺寸的2x,而我觉得太小了,那么就先放大到4x看看效果,如果觉得还是太小了,那么就调整到8x,如果觉得太大了,那么就取中间值,4 + (8 - 4)/2 = 6,这个时候大概到差不多满意的时候了。如果是一倍一倍的调整,我们需要调整一共6 - 2 = 4次,用刚才的方法我们只调整了3次。当然会有更多其他的情况,或许用二分法我们能节省更多的次数。

包括对血量的调整也是一样的,比如玩家对boss的伤害是1,boss某一个阶段有20血,如果觉得打的太快了我们可以对玩家的伤害缩短一半,即0.5,又或者是对boss血量增加至原来的两倍,然后如果还有不符的情况再进行调整。不过要注意的是,如果一个数值对另一些数值有一定的联系,那么在调整的时候一定要注意,另一批数值是否也需要做对应的调整,或者通过调整这一个数值是否能达成更理想的目标。还是玩家的例子,假如玩家对这个敌人造成的伤害和对其他敌人造成的伤害是同一个变量

那么对这个变量进行调整会不会影响玩家打其他敌人的体验?它是更好还是更坏?

同时,为了方便后续的调整,在写代码的时候最好留出多余的接口,方便对数值进行调整,最常见的方法是创建一个变量,然后后续写代码的时候都对这个变量进行操纵,下面用lua做个简单的例子

如果玩家的速度过快,那么第一种情况下我们可以直接对speed变量进行调整,变量名很直观,我们能快速调整,如果后面多段代码用到了speed变量,那么我们的工作会比第二种情况轻松不少,第二种情况下,如果要调整一个地方,可能连着多个地方要一起调整。所以很多情况下,我们写的代码逻辑部分比起成堆的数字,应该是成堆的变量名出现的更多,如果你的代码中出现的是成堆的数字,或许要好好思考一下是否需要优化自己的代码。

(又水了一篇~)

标签:

X 关闭

X 关闭