2012年11月11日 星期日

別在瞎子摸象、事後諸葛,現在就開始視覺化你的數值公式



在遊戲公司混了一段時間,最另我好奇的是每次與企劃人員討論實做數值公式時,我總會納悶 “為什麼是這個公式?根據是怎麼來?”

也許剛好與我配合的企劃比較嫩些,回想起來答案大概是以下幾個:
  1. 直覺是這樣
  2. 看魔獸的
  3. 不知道,先試再說,不行以後再調整
  4. 上一個案子這樣設定的,感覺很OK
  5. D&D官方手冊來的
獨立開發後,兼著一點企劃面的東西才發現,媽的!這東西真的很難定義。討論時也許可以很清楚的在白板上畫出想要給玩家的感覺曲線,但真的要變成可以執行的數學公式,卻是遲遲下不了筆。

追根究柢的問題就是...

“數學太差,導不出公式!”

這也還好,或許翻翻教科書會有個答案。但問題又來了,定義出公式後曲線就真的是符期待?如何證明?要等遊戲發行後,再從玩家數據去證明?用 Excel 畫線?這好像有點不給力啊!這樣做。

舉個例子好了,以目前參予的案子 Wagon Shootout 為例:

“遊戲持續進行難度隨之增加,但希望遊戲裡的 Combo 贈品的取得難度隨著也隨之遞增,但上升速度又不能與難度等比例上升”

怎麼定義公式才能會符合以上描述?

只有一個辦法,就是把曲線畫出來。但問題又來了,用甚麼工具畫?最老派也最硬派的作風就是 “工程計算機”。但老實說自己念理工這麼久,學生時代也號稱 “工程計算機哥”,可惜現在連條 SinCos 都不會按了,更重要的是... 去哪裡找計算機啊!
 Q _ Q

好在敗 HTML5 所賜,一套用瀏覽器就能畫出美美圖案的軟體 Desmos 出現啦!這套軟體好用到國中生都會用。使用者只需鍵入所需的公式,在瀏覽器上自動幫繪出結果,如下圖:



回到 Wagon Shootout 的例子,根據描述最終提出這樣的公式:

“ num = floor( max(0.25, min(1.0, (2x/(15+x)))) * 50.0f ) ”



X軸為遊戲難度,Y軸為達成贈送禮物的Combo數,隨著遊戲難度的增加Combo也隨之增加,但幅度非一比一。透過工具,最終驗證了遊戲所需的數值公式符合遊戲設計的期待。我想這樣的數值企劃才符合大家的期待吧!

看到這有沒有覺得很興奮呢?現在就透過最科學的做法,視覺化你的數值公式,準確的描述所要的感覺,別在瞎子摸象亂扯一通啦!



小編碎碎念:
如果你覺得這篇文章對你有所幫助,請給我們一個“贊”吧!


UnityIN 總編輯:Bric Lin,
Email: ericlin09@gmail.com
曾任職台灣某遊戲公司研發Game Engine,為書籍“OGRE入門指南”譯者,專攻Rendering技術與遊戲開發,目前為獨立團隊CocosPlay主程式

沒有留言:

張貼留言