《從零開始的RPG遊戲製作教程》第三期:基礎的數值設計

往期回顧
前言
第一期:製作基礎場景
第二期:讓勇者和怪物登場請添加鏈接描述


上期回顧
在【第二期:讓勇者和怪物登場】中,我們已經制作了一個自定義的勇者克里夫。
《從零開始的RPG遊戲製作教程》第三期:基礎的數值設計
很顯然,相比我們先前所放置的怪物,我們的主角實在是太弱了。
《從零開始的RPG遊戲製作教程》第三期:基礎的數值設計
《從零開始的RPG遊戲製作教程》第三期:基礎的數值設計
如果我們不希望克里夫在走出村子的時候什麼都沒做就被殺死,要麼我們讓怪物變弱,要麼讓克里夫帶上全村最好的劍和最好的盾出發。
解決辦法有很多,不過本期,讓我們先從【數值】的角度下功夫。






第三期:基礎的數值設計

1+1=2,這是我們對數學的第一個印象。最初我們從個位數開始學習計算,然後到十位數,到百位數。從加減法開始,到乘除法,然後引入分數和方程,以及更遠。
一個能夠戰鬥的RPG遊戲是基於數學的,怪物的移動速度、***頻率、***力、護甲範圍、傷害公式、不同類型護甲的傷害規則等等。

《從零開始的RPG遊戲製作教程》第三期:基礎的數值設計

數值設計是遊戲圈內常談的問題,要麼用於確保新手前期能夠放心進行遊戲而不被輕易擊殺,要麼確保後期玩家可以爽快釋放技能大殺四方。當然,如果人們想,他們也可以通過修改公式來實現無論玩家強大到什麼程度,也仍然會被各種活動BOSS虐待。
無論是宏觀的賬號成長線、長線的角色等級成長線,還是微觀一些的單局類遊戲的單位制造速度、英雄的升級速度,或是更微觀一些的,某場具體的1級角色對抗1級低等小怪的戰鬥速度,或對抗1級稀有怪物的戰鬥速度,以及怪物死亡後的掉落率,這些都是數值。

《從零開始的RPG遊戲製作教程》第三期:基礎的數值設計

數值本身只是工具,這工具會一定程度地影響玩家的【體驗】。用來做什麼,是讓遊戲更好玩還是讓環境更惡劣,是激發玩家的快樂還是讓玩家陷入焦慮和瘋狂,完全取決於設計者、決策者。

讓我們迴歸到教程。
我們希望勇者不要剛踏出村子就被一大堆怪物直接貼臉打死,這樣我們的玩家才能夠走出村子,能夠通過擊殺怪物來獲得經驗值,或者獲得一些怪物身上的寶物,從而展開旅途。

在上一期中,我們放置了一堆怪物到場景裏,這些怪物的數值全部是由《魔獸爭霸3》自身提供的。如果我們直接使用這些怪物的數值——要麼我們能提供一個符合魔獸爭霸3數值體系的主角以及相關的數值設計,要麼我們由於使用了強於或弱於這套體系的數值,使得我們的主角能夠輕鬆虐待這些怪物,或者被這些怪物輕鬆虐待。

在本期教程中,讓我們簡單地直接基於《魔獸爭霸3》的數值體系,進行數值的實驗。

爲了實驗,我們把勇者放在一片空地。
《從零開始的RPG遊戲製作教程》第三期:基礎的數值設計
然後假設村子外主要的敵人是狗頭人,我們將勇者和狗頭人單獨放在一起。
《從零開始的RPG遊戲製作教程》第三期:基礎的數值設計
保存後進入遊戲,我們可以通過單獨讓勇者面對一個單獨的怪物,來計算出勇者是否能夠在理想情況下擊敗怪物,在這過程中會受到多少傷害,擊殺怪物需要多少時間。
《從零開始的RPG遊戲製作教程》第三期:基礎的數值設計
這種實驗的數據,是我們進行數值計算的基礎。





另外,在魔獸爭霸3中,你可以通過在遊戲裏按下F10打開遊戲菜單後進入【選項】、【遊戲性】,在遊戲性設置中勾選【是否始終顯示生命值條】來打開生命條,便於觀察血量。
《從零開始的RPG遊戲製作教程》第三期:基礎的數值設計
《從零開始的RPG遊戲製作教程》第三期:基礎的數值設計
目前來看,等級1的勇者想要擊敗一個狗頭人還是綽綽有餘的。


《從零開始的RPG遊戲製作教程》第三期:基礎的數值設計
在受到一個狗頭人的持續***時,勇者能夠擊殺它,但自身也會損失近一半的血量。
因此,我們可以通過理論推測勇者對抗2只狗頭人在不操作情況下的戰鬥結果。
假設勇者單獨殺死一個狗頭人的戰鬥時間爲t,狗頭人的***力爲a。
我們把【兩隻狗頭人】算作一個單獨的聯合體。
當【兩隻狗頭人】***時,則敵人總***力爲2a。如果同樣經過戰鬥時間t,勇者會瀕臨死亡。
因此推測,在玩家不操作的情況下,如果勇者同時面臨2只狗頭人,則勇者能夠在瀕臨死亡時殺死其中1只狗頭人。





因而如果我們想要勇者可以活着逃跑,就要確保勇者殺死1只狗頭人後逃跑時不被追趕上致死,因而勇者的移動速度應當大於或等於狗頭人的移動速度。

在物體編輯器中我們可以查看勇者和狗頭人的移動速度。
《從零開始的RPG遊戲製作教程》第三期:基礎的數值設計
《從零開始的RPG遊戲製作教程》第三期:基礎的數值設計
目前他們的移動速度相等,滿足了瀕死逃生的條件。


因此讓我們再放一隻狗頭人到場景裏,開始實驗。
《從零開始的RPG遊戲製作教程》第三期:基礎的數值設計
《從零開始的RPG遊戲製作教程》第三期:基礎的數值設計
然後勇者被打死了,這說明數值結果不正確,沒有達成我們想要的結果。
不過我們觀察到在勇者死之前,其中一隻狗頭人也幾乎快死亡了,因此大體數值是符合我們的推測的。



狗頭人的***力爲10-11,查看物編可知道其***間隔爲1.35秒。
《從零開始的RPG遊戲製作教程》第三期:基礎的數值設計
同時我們的勇者***間隔爲2.2秒。
《從零開始的RPG遊戲製作教程》第三期:基礎的數值設計


根據狗頭人殘存的血量,我們可以粗略的認爲,只要勇者能夠再站3秒,他就能給出最後一刀,成功殺死狗頭人並開始跑路。
而這意味着我們要勇者能夠再承受至少2輪來自2只狗頭人的合擊。
2輪狗頭人***的傷害爲20-22,兩隻則爲40-44,在忽略勇者【護甲】對狗頭人傷害的削減的情況下,我們需要增加44點生命值,勇者就可以再頂2輪。
讓我們試試。


找到勇者的數據,然後修改下列數據:

《從零開始的RPG遊戲製作教程》第三期:基礎的數值設計
《從零開始的RPG遊戲製作教程》第三期:基礎的數值設計
保存,進入遊戲。
《從零開始的RPG遊戲製作教程》第三期:基礎的數值設計
測試結果符合預期。



我們可以粗略地推測:
勇者可以輕易殺死1只落單的狗頭人;
勇者可以在遭遇2只狗頭人時殺死其中一個並跑路;
勇者可以通過走位、利用地形等戰鬥技巧使得自己在面對2只狗頭人時不落下風,甚至把2只狗頭人都殺死。
如果我們給予勇者生命藥水,那他可以結合上述技巧殺死3只抱團的狗頭人。
當勇者在開闊地帶對抗超過3只狗頭人時,可能會有大麻煩。




顯然,推論和實驗這些數值並沒有花費我們太多時間,同時我們也沒有使用什麼特別複雜精妙的數學公式,我們只是做了簡單的乘法、加減法,然後把它們交給遊戲去演算。
我們現在可以對數值設計有一個基礎認知,即數值設計並不是什麼特別玄妙的東西,它仍然是一種設計,用於解決特定的問題。

我們現在有了狗頭人的放置數量和其可能對玩家造成的影響的認知。基於我們的實驗結果,我們就可以放心地在野外放置狗頭人了。

《從零開始的RPG遊戲製作教程》第三期:基礎的數值設計
讓我們對先前的場景進行修改。刪除掉先前的所有怪物,然後按照我們剛纔得到的數值結果,將修改過數值的狗頭人放置到場景上。

觀察我們的場景,顯然村莊是有衛兵駐守的。因此我們可以推測,玩家一開始可以將狗頭人引誘到村子裏,通過依靠衛兵的力量來進行最初的戰鬥。隨後當玩家選擇向左邊的道路進發時,他會挑戰逐漸變強的狗頭人羣,而向右時,戰鬥稍微簡單一些,但會更多地需要他採用引誘的方式,逐個擊破這些零散的狗頭人。
——在完成了怪物的數值設定後,我們就能展開基本的關卡設計了。

在下一期,我們將繼續介紹基本的關卡設計。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章