桝田省治的JRPG戰鬥數值設計入門
遊戲設計師,代表作《俠隱行錄》、《Change》
知乎專欄地址:https://zhuanlan.zhihu.com/p/149134747
前言
入手遊戲數值最困難的地方,根本找不到一個切入點。
我之前看過一些關於數值平衡的文章,很多都是上來劈頭蓋臉的告知我該用什麼公式,怎麼在這個公式上進行調整。
但為什麼要用它,又希望達成什麼效果呢,又能否適合我的需求呢?很多都看的我一頭霧水。
後來在在網路上搜教程的時候,找到了一篇文章ゲームデザイナー桝田省治氏の「戦闘計算式初級講座」,如獲至寶。
桝田省治老師提供了一個思路——通過想象一個遊戲畫面,預想自己想要的效果,接著利用遊戲共識將他還原出來。
這套思路解決了我許多關於數值設計的問題,於是我將他的大概內容翻譯出來,希望可以幫到大家。
關於桝田省治
我知道桝田省治老師是因為『跨過我的屍體』。當年為了給『跨過我的屍體2』預熱,PSV上曾經可以免費體驗PS時代的『跨過我的屍體』。
『跨過我的屍體』絕對算的上JRPG史上的神作,可以被歷史銘記。
拋開遊戲中的一些奇特的設定,比如每個角色只能活兩年,家族延續需要和神交配……等等。這款遊戲的素質非常高。
他鼓勵玩家同時去刷好幾個關卡,而並非像傳統遊戲一樣,打完A關卡打關卡B。這種並行關卡的設定讓我初期的體驗非常豐富。(我非常非常推薦國內做商業遊戲的團隊可以考慮一下這種設計,的確會讓遊戲變得豐富很多)
他為每個關卡設計了一個走迷宮的訣竅,只要玩家通過初期幾次刷關記住了這些訣竅,以後隔了一段時間再刷,也不用擔心長時間不去了,忘了迷宮該怎麼走了。
這種做法又有解密遊戲的特性,難度又不高,又能給玩家一種“我發現了這個遊戲祕密”的感覺,一舉三得。
可惜『跨過我的屍體2』沒有延續他的輝煌,開發組似乎沒找到保持遊戲特性的情況下,如何將2D遊戲如何轉化成3D的方法,再加上優化問題PSV上掉幀很嚴重,導致關卡體驗非常糟糕。
不過『跨過我的屍體2』的音樂非常好聽,美術風格也非常棒,網易的『陰陽師』應該也受到了他的影響。
推薦有機會的小夥伴可以試試。
桝田省治的遊戲戰鬥數值入門
說回正題,以下為戰鬥數值入門的內容翻譯,為了更好的闡述桝田省治老師的觀點,我會對一部分內容按照我的理解進行調整,感興趣的朋友可以去看原文(ゲームデザイナー桝田省治氏の「戦闘計算式初級講座」)。地址:https://togetter.com/li/15113
遊戲中,戰鬥最常使用的是「攻擊」,如果好好設計了這方面的平衡,遊戲就能玩下去。因此我下面開始解說普通攻擊的戰鬥公式。
首先在腦袋裡要有一個概念「設計適合的平衡」,這裡所說的「設計適合的平衡」有兩層的意思。第一層意思是指「戰鬥中保持適當的緊張感」,第二層意思是指「確保設計師進行平衡調整的時候不會太麻煩」。
「戰鬥中保持適當的緊張感」是指,如果運氣不好、玩家操作失誤,或者不小心MISS了「玩家就會死」。
具體到設計層,則是「幾發打死敵人」,「被敵人打幾發會被打死」。
「幾發打死敵人」在遇到BOSS戰的時候肯定不一樣,同時還會受到地圖的大小、玩家的回覆手段等多個因素的影響。為了能讓大部分理解數值設計,所以我就假設一個標準的JRPG進行數值設計。
假設一個戰鬥場景,設計戰鬥公式
現在我們假設一個場景,玩家隊伍和雜兵相遇了。本方四個人,敵方四個人。
八方旅人的戰鬥截圖
一個雜兵敵人「2、3下就能打死」。
而一個本方角色「一場戰鬥差不多會被打兩下,如果玩家不給這個角色加血,差不多五次戰鬥,也就是被打10下會死」。
這對於一個JPRG而言是一個合理的假設,但這個假設至關重要。因為後面的公式便是建立在此之上的。
「被打10下會死」也就意味著,被打一次的傷害為最大體力的1/10。
「被打N下會死」,那麼一次的傷害為1/N。為了方便理解,我假設敵我雙方,攻擊、防禦和HP都為100。
也就是說傷害為攻擊力100- A X 守備力100。
傷害公式為:攻擊力- A X 守備力。
A是指「被打N下會死的補正」,也就是 1 -(1/N)。
實際公式也就是 攻擊力 - (1 -(1/N)) X 守備力。
這樣,每次攻擊,將扣除對方N%的血。
本方進行攻擊時,N為2.5(2、3下就能打死)。而對方進攻擊時N為10(被打10下會死)。
假設這是BOSS戰,本方需要20下才能打死BOSS。
這時候N就是20。A也就是(1-1/20),那麼玩家平砍BOSS一刀,傷害就是5點,也就是需要,如果BOSS有100點血需要20下才能打死,這樣就達到了我們的設計目的。
假設這個BOSS有加血技能,那假設這個BOSS在戰鬥中沒用加血技能,那差不多16下能打死。
如果BOSS攻擊本方,那不多三發可以打死一個本方角色,那麼N就是3,A就是(1-1/3),對本方的傷害差不多1發30點。
為你的數值設計尋找“基礎”
看到這裡,你一定和我有一樣的問題了。
“這裡是為了簡單理解,把所有屬性假設的是100,但實際每個角色數值可能都不一樣,而且角色會升級,屬性可能變成200或者500,這麼單純的數值公式能行嗎?”
桝田省治老師認為,越單純越好,因為這樣後面調起來就很簡單。
這裡假設所有屬性最大值是999,50級的時候是600,遊戲開始時候是100(玩家1級的時候)。
每升級1次加按理說差不多加10點屬性。不過攻擊和防禦,至少有一半是由武器和防具提供的,所以升級1次也就是5點左右。
以此為假設,一個20級的角色,HP差不多是300,攻擊力也差不多300點(角色力量200+ 劍100)。
為了維持20級時戰鬥的緊張感,同等級的敵人的HP、攻擊力、防禦也都是300,如果這樣進行設計,就可以直接使用剛才提到的公式:「攻擊力- A X 守備力」。
這樣,每個等級角色應該有的基礎屬性,該等級裝備的強度,敵人的強度就設計的標準了。
(這麼設計最重要地方在於給了設計的基礎。如果沒有這個基礎,基礎屬性怎麼定?每次升級屬性加多少?敵人難度怎麼設計?這些問題會讓你一頭霧水,最後只能看著網路上提供的公式照著用了。)
不同夥伴、敵人的屬性設計
當然,不可能所有角色的屬性都是100,不同角色都有自己的特性,要怎麼設計不同的特定呢?
簡單來說,主角是一切設計的標準(標準角色),而且角色都是主角的「變種」。
比如魔法師角色,他的HP大概是主角的80%,而魔法值則是主角的120%。
比如戰士角色,他的攻擊是玩家的110%,敏捷是主角的90%
這裡,對於主角(標準角色)屬性的百分比,我們稱之為B。(魔法師的HP的B為80%,MP的B為120%)
將這些數值帶入到 「攻擊力 - A X 守備力」 中去進行調整,為每一個職業找到符合預期的B,然後用之前提到的方法(假設裝備提供的屬性佔全部屬性的百分比),決定該職業武器和防具的數值。
敵人的屬性決定的方法基本一樣。想要設計類似防禦特別高的敵人,HP少但攻擊很高的敵人,只要找到一個預想的B,然後放入公式中進行調整,知道找到合適的B即可。
根據冒險的體驗,決定怪物等級
如何確定這個地方怪物應該多少級呢?
我們將「玩家玩到這個地圖,差不到到M級了吧?」的預想等級,與 「這個地宮比較大,玩家至少能升3級」、「這個地宮出去就是一個新的城市」等等,與玩家冒險的路線相關的路線結合起來。
以此預想等級M為基準,配置玩家在此處遇到的敵人。
當劇情比較平順的,可以地宮可以慢慢提升難度敵人的等級,下一層就是M+1。
當劇情發展到遇到一個強大惡魔的洞窟裡,希望玩家能夠多在洞窟刷一段時間,則可以要敵人的等級跳著來,變成M+2。
比如一層的敵人是10級,二層的敵人是12級。玩家最好在一層刷到12級之後在來二層,否則二層就舉步維艱。
不過這裡可能會出現一種極端情況「攻擊力< A X 守備力」。如果遇到這種情況,可以把公式改成「(攻擊力-A×守備力)+p」。P為的數值,在勇者鬥惡龍,差不多0~4點。而桝田老師,則是習慣把P設定為「本方攻擊力/60~本方攻擊力/32」左右。
關於HP的回覆
關於回覆HP的魔法,使用一次消耗多少MP、以及回覆HP的量要如何設計呢?
首先,我們在解決這些問題時,我們已經知道了此時每個等級角色的HP了,因此要怎麼設計已經有眉目了。
假設此時隊伍角色平均10級,平均HP是200點。
「一場戰鬥差不多會被打兩下,如果玩家不給這個角色加血,差不多五次戰鬥,也就是被打10下會死」這樣的假設也就是說玩家在實際玩的時候,5次戰鬥至少使用1次回覆魔法。
但玩家肯定不會等到HP已經沒有的時候才使用,也就說差不多第3次戰鬥結束時,會使用一次,補充的量會基本補滿血。
通過公式「攻擊力 - A X 守備力」,我們可以得知3次戰鬥差不多被打6下,那該目前該角色差不多還有80點血。
因此,該等級牧師的HP回覆魔法,1次回血差不多回復120點。
我們有了回覆技能的使用頻率:差不多每過了4次戰鬥,需要為1個角色使用1次加血魔法。
也就是說,平均每次戰鬥都要使用1次,我們也有了如何設計消耗MP的方法。
假設牧師的MP是240,玩家戰鬥10次需要喝藥來補充1次MP。
就可以得出,使用1次回覆魔法,大概會消耗24點MP(總MP/使用次數)。
日後玩家的MP越多,牧師會學到更厲害的回覆技能,消耗的MP也會更多,以此來達成平衡。
再說說暴擊
首先要暴擊有兩個意思「運氣好,正中要害」和「敵人正好被我逮到了弱點,正中要害」。
前者是純概率觸發,而後者則像劍道高手,通過長時間的練習,能過一招制敵。
兩者結果上來說「一不小心造成了大量的傷害」,但設計的時候應該區分開。
如果想要做出類似劍道高手一擊必中的體驗,可以設計一個玩家和敵人的等級差越高,暴擊率越高的設計。
當然這兩者可以同時存在遊戲裡,並且關於“暴擊”肯定也有別的含義。
但是如果沒有這些含義沒有表現出來,玩家會搞不清楚到底是因為什麼原因觸發的暴擊。因此在設計遊戲戰鬥系統的時候,應該考慮不同暴擊的表現形式。
另外,命中率和閃躲也有很多“含義”。
比如,騎士VS騎士,忍者VS忍者,其中的含義完全不同,計算公式也應該不同。
相比較“真實”,“這麼設計更好玩,更刺激!”更為重要。比如大人和小孩玩相撲,結果我們都知道了,但是如果這裡不小心出現了“暴擊”,或者出現了“閃躲”,則會讓過程更加有趣。
想想“魔法”——這種東西,本來世界裡就不存在,純粹想象的產物。這時候,你應該去思考自己做的遊戲裡,希望做成什麼樣的戰鬥畫面?然後試著用文字或者繪畫表現出來。
魔法師應該是那種憋大招的型別?還是說主要是戰士去攻擊,魔法師輔助呢?
指環王裡的甘道夫很少使用魔法
到了遊戲的中盤,角色的定位也可以改變。可以思考隊伍裡不同角色到底是怎麼搭配的,是像是網球裡的雙打選手?還是類似棒球的捕手和投手?
“將自己想表現的收集起來,再去調整平衡”,不要因為FF和DQ是這麼做的,所以我要這麼做,而是去思考自己想要的東西。
總結
用一句話來總結老師的設計之道是“數值是想象的具象化”,如果沒有對於遊戲的“想象”也就不存在“數值設計”了。
桝田省治老師的文章讓我意識到“遊戲數值設計,也是遊戲內容設計一部分”這個淺顯,但容易遺忘的道理。
很多時候,我們會把遊戲數值理解為一個純粹平衡的東西,而實際上數值的設計,其實是通過“數字”的維度,來思考遊戲應該有的樣子。
這個地宮裡“幾個”敵人,這個城裡的裝備賣“幾塊”錢……在設計遊戲的時候,不妨也從“數字”這個角度看看,這樣遊戲該使用的公式,也就有了眉目。
相關文章
- 戰鬥數值新手入門指北:MOBA基礎及裝備篇
- 如何做好回合制遊戲的戰鬥體驗? 戰鬥數值公式設計詳解遊戲公式
- 遊戲戰鬥力數值研究(一)遊戲
- 遊戲戰鬥的設計分析遊戲
- 遊戲的戰鬥體驗設計中,數值策劃是如何“為體驗服務”的?遊戲
- 遊戲數值乾貨:RPG戰鬥數值開源示範遊戲
- 【數值框架】戰鬥公式:傷害公式選擇框架公式
- 解構遊戲戰鬥:戰鬥元素分解與設計原則遊戲
- 談談戰雙的戰鬥機制設計趨同
- 從0開始的數值設計實戰(一)
- 戰神系列戰鬥設計師:給遊戲設計師的 50 條建議遊戲設計師
- TensorFlow快速入門與實戰-彭靖田-極客時間
- 如何設計一個好玩的競技遊戲——戰鬥空間設計遊戲
- 函數語言程式設計入門函數程式設計
- 【遊戲設計分析】戰鬥資源有哪些設計要點?遊戲設計
- 如何為射擊遊戲設計令人難忘的戰術戰鬥區域?遊戲設計
- 遊戲戰鬥設計:來自“手柄震動”的反饋遊戲
- 《APEX英雄》遊玩體驗&戰鬥設計分析
- RPG遊戲“關卡”&“戰鬥”設計祕籍遊戲
- 函數語言程式設計入門教程函數程式設計
- 從零開始實現放置遊戲(六)——實現掛機戰鬥(4)匯入Excel數值配置遊戲Excel
- ECMAScript 6入門 - 變數的解構賦值變數賦值
- 建立衝突:AAA遊戲的戰鬥設計之難度控制遊戲
- 拳打冥王腳踢地府——《Hades》戰鬥設計分析
- 程式設計正規化 —— 函數語言程式設計入門程式設計函數
- ES6入門之數值的擴充套件套件
- 設計模式入門設計模式
- UML設計入門
- 《全戰三國》資料統計 遊戲總戰鬥場數3.29億遊戲
- RxJava 2.x 程式設計實戰 - 01 入門之旅RxJava程式設計
- 舉例闡述遊戲戰鬥系統設計的基本規則遊戲
- 在避開“熱門”之前,先試試理解“熱門”——動作遊戲基礎戰鬥設計淺析(二)遊戲
- 在避開“熱門”之前,先試試理解“熱門”——動作遊戲基礎戰鬥設計淺析(一)遊戲
- 在避開“熱門”之前,先試試理解“熱門”——動作遊戲基礎戰鬥設計淺析(三)遊戲
- 從《劍與家園》中學習戰鬥策略設計
- 遊戲戰鬥設計易忽視環節:硬直動畫遊戲動畫
- 新人都能看懂的PVE戰鬥設計筆記(實戰經驗總結)筆記
- 函數語言程式設計入門實踐(一)函數程式設計