游戲數(shù)值策劃-二分法
最近在做一個游戲的最終boss,因為要平衡各種東西,比如難度,需要對不少地方的數(shù)值進行調(diào)整,其中我用了一個非常方便而且簡單的方法輔助調(diào)整 --- 二分法
當然平衡是一直在調(diào)整的,不是做完之后對所有東西調(diào)整,那樣完工之后的工作量未免太大了,比如在做最終boss登場的時候,要考慮到最終boss開場動畫的時長,以及最終boss最后要出現(xiàn)在什么地方,還有包括最終boss的大小之類的數(shù)值都要進行調(diào)整。以大小為例,比如現(xiàn)在的大小是原素材尺寸的2x,而我覺得太小了,那么就先放大到4x看看效果,如果覺得還是太小了,那么就調(diào)整到8x,如果覺得太大了,那么就取中間值,4 + (8 - 4)/2 = 6,這個時候大概到差不多滿意的時候了。如果是一倍一倍的調(diào)整,我們需要調(diào)整一共6 - 2 = 4次,用剛才的方法我們只調(diào)整了3次。當然會有更多其他的情況,或許用二分法我們能節(jié)省更多的次數(shù)。
包括對血量的調(diào)整也是一樣的,比如玩家對boss的傷害是1,boss某一個階段有20血,如果覺得打的太快了我們可以對玩家的傷害縮短一半,即0.5,又或者是對boss血量增加至原來的兩倍,然后如果還有不符的情況再進行調(diào)整。不過要注意的是,如果一個數(shù)值對另一些數(shù)值有一定的聯(lián)系,那么在調(diào)整的時候一定要注意,另一批數(shù)值是否也需要做對應的調(diào)整,或者通過調(diào)整這一個數(shù)值是否能達成更理想的目標。還是玩家的例子,假如玩家對這個敵人造成的傷害和對其他敵人造成的傷害是同一個變量。
- 那么對這個變量進行調(diào)整會不會影響玩家打其他敵人的體驗?
- 它是更好還是更壞?
同時,為了方便后續(xù)的調(diào)整,在寫代碼的時候最好留出多余的接口,方便對數(shù)值進行調(diào)整,最常見的方法是創(chuàng)建一個變量,然后后續(xù)寫代碼的時候都對這個變量進行操縱,下面用lua做個簡單的例子
如果玩家的速度過快,那么第一種情況下我們可以直接對speed變量進行調(diào)整,變量名很直觀,我們能快速調(diào)整,如果后面多段代碼用到了speed變量,那么我們的工作會比第二種情況輕松不少,第二種情況下,如果要調(diào)整一個地方,可能連著多個地方要一起調(diào)整。所以很多情況下,我們寫的代碼邏輯部分比起成堆的數(shù)字,應該是成堆的變量名出現(xiàn)的更多,如果你的代碼中出現(xiàn)的是成堆的數(shù)字,或許要好好思考一下是否需要優(yōu)化自己的代碼。
(又水了一篇~)