作者:ZJU_moon
來源:俠客風雲傳吧
因為多數玩家玩遊戲並不會太過在意遊戲中的資料系統,喜歡鑽研的只是少數,不過考慮到另外一方面,mod製作非常的火熱,有可能再創金群mod百花齊放的場面,而mod製作者大多精於劇情、人物的設定,在資料系統上並不擅長,因此特意寫了這麼一個貼子,詳盡的分析如何創造一個合理的資料系統以及戰鬥系統。
一.前言
由於本貼名為詳談,為了邏輯的嚴謹性,請允許我在細節上多廢話幾句。首先我們要明確什麼叫做“合理”。不同的玩家有不同的愛好,有不同的需求,而我們要做到的合理,就是要讓遊戲體驗符合遊戲面向的玩家群體中的多數。就以俠客為例,玩家群體可以大致分為這麼幾種:
1.休閒玩家,以看劇情、體驗遊戲生活為主。對於戰鬥系統要求是儘量簡化,尤其不能卡關,讀檔重複一遍不能跳過的劇情是這種玩家深惡痛絕的。
2.武俠情懷党。這種玩家最希望得到遊戲體驗是還原一個心目中的武俠江湖,比較重視遊戲中資料系統的“真實性”。所謂的真實性並不是要求跟現實世界吻合,而是戰鬥系統中體現出來的江湖儘量跟劇情設定保持一致,假如劇情設定中的武林前幾高手在戰鬥中打不過幾個山賊,那麼對於這類玩家來說體驗就非常糟糕。
3.追求難度的自虐黨。對於這類玩家來說,所有的遊戲體驗就是追求自虐,真實與否並不重要。難度越高越好,挑戰極限就是這類玩家最喜歡做的事情。
4.龍傲天型,追求一路碾壓。修改器可以滿足此類需求,因此戰鬥系統不需要考慮這類人。
還有其他類型的我就不細分了。所謂眾口難調,要同時滿足各個類型的玩家需求是比較困難的,本文重點從資料系統入手,來談一談如何在現有的系統上合理化資料,以及提出現有系統的改進意見。
二.戰鬥系統的分析和合理化建議
現在進入正題,談一談現在的戰鬥系統及數值系統存在哪些問題,怎樣改動才能變得更合理。下一部分則談談在不改變當前系統的條件下,mod製作者要如何設計資料才能實現合理化。
1.先來定義一下最基本的概念。所謂收益必須是一個可以量化的數值,對於玩家來說,最好是一個可以直觀感受的最終變數。最常見的錯誤理解是把減傷百分比理解為收益,比如認為30%減傷到40%減傷,和40%減傷到50%減傷的收益是等同的,這顯然是錯誤的。
舉一個具體的例子。比如1000生命值的一個角色,傷害值為100、沒有減傷的情況下需要攻擊10下。減傷10%的時候需要11.11下(實際為12,表現為傷害溢出,暫不討論,下同),減傷20%的時候為12.5下,減傷50%的時候為20下,減傷100%的時候為無窮多下。用哪個數值能更直觀的衡量人物的抗擊打能力呢?顯然並不是減傷百分比,而是傷害值不變的情況下能承受多少次攻擊。
定義 EHP(Effective Health Point)= HP/(1-減傷百分比)
EHP係數 = 1/(1-減傷百分比)
在這個定義下,我們可以很方便的把所有抗擊打能力歸結為一個值EHP,在比較人物抗擊打能力的時候用這個數值即可。在引入其他變數的條件下,相同EHP、不同HP的人物亦有可能表現出不同的生存能力,比如1000HP和100HP、90%減傷的EHP相同,但在回復量固定的情況下顯然是後者的生存能力更強。但這並不影響把EHP作為最直觀的衡量人物生存能力的單一數值。
(1)當我們需要表述某一個防禦屬性的收益的時候,需要將其轉化成EHP,或者EHP係數處理。一般討論收益的變化的時候,是指某一個數值本身的變化;當需要討論收益的百分比變化的時候,最好在表述上用“相對收益”的概念加以區分。
舉例:假定傷害=攻擊力*招式係數。那麼招式係數固定的情況下,傷害就跟攻擊力正相關。取招式係數=10,則傷害=10*攻擊力。這時候我們稱“攻擊力的收益是線性的”。當攻擊力為100的時候,增加10攻擊力,傷害百分比提高了10%;當攻擊力為200的時候,增加10攻擊力,傷害百分比提高了5%;所以我們稱“單位攻擊力的相對收益遞減”。注意,相對收益不變的情況,原函數為指數函數。
(2)當我們要表述一個變數相對於另一個變數遞增或者遞減的時候,嚴格明確所表述的變數的具體含義。舉例:傷害=sqrt(攻擊力)*招式係數,其中sqrt表示開根號。取招式係數=10,當攻擊力為1的時候傷害=10,當攻擊力為25的時候傷害=50,當攻擊力為50的時候傷害=70.71。這時候會有人稱“攻擊力的收益遞減”,這個表述是錯誤的。嚴謹的表述是“單位攻擊力的收益遞減”,或者“攻擊力收益函數的一階導數單調遞減”。
不能理解本條的人,請翻開高中數學教材或者高數教材,翻到函數和導數的章節,看看單調遞增和單調遞減的定義是什麼。
2.來分析一下遊戲中常見的兩種傷害結算系統。第一種是傷害=攻擊力-防禦力,第二種是先將防禦力轉為一個減傷百分比,然後計算傷害=攻擊力*(1-減傷百分比)。第一種公式在早期遊戲中用的比較多,現在已基本被淘汰,或者轉為成格擋系統輔助存在。第二種公式是目前絕大多數遊戲採用的計算方式。
(1)為何第一種公式基本被淘汰了呢?想像一下,攻擊力剛好等於防禦力的時候,則需要擊殺的攻擊次數是無窮大;當攻擊力-防禦力分別等於1和2的時候,則需要擊殺的次數前者是後者的兩倍。攻擊力以及防禦力的收益會在攻擊-防禦=0的附近發生極大的偏離,而在無窮大處則趨向於線性。用圖像來直觀的表示(假定生命值為10000,每秒攻擊1次):
那麼在什麼時候需要用來作為輔助存在的系統呢?當需要體現“蟻多也咬不死象”或者“你們這些渣渣,數量再多破不了我的防有什麼用”的時候,可以引入格擋系統(只是直觀的命名為格擋系統,遊戲裡未必要體現為格擋)。這點在武俠RPG裡沒有必要體現,在仙俠RPG或者魔幻RPG裡可以適當的使用,使得戰鬥系統更符合劇情邏輯。
(2)在有了第二種傷害結算公式的前提下,我們繼續討論減傷系統。目前俠客的減傷公式具體不明。將對應數值的散點圖畫出來,可以看出比較接近於在1000前後分別採用兩個函數,在兩個區間上,減傷百分比和防禦力近似線性相關。
如果這個貼子的資料沒有出錯的話,只能得到在1000的兩邊圖像近似線性,而不能得到精確的公式,因為Δy/Δx的變化較大,而線性函數的Δy/Δx是不變的。
我們來分析一下防禦力跟減傷百分比線性相關的情形。
假定減傷百分比=防禦力/1000,那麼在原始傷害=10,生命值為100的條件下,生存時間和防禦力關係的曲線圖如下(每秒攻擊一次):
圖像上直觀的判斷是,在800防禦以下,防禦的收益近似線性,而在800防禦以上,則防禦收益變化的非常快。
其實這很好理解,從公式上看無非就是一個倒數函數,從具體數值上看,減傷百分比從90%到100%,實際收益變化是無窮大。所以,當採用這種公式的時候,需要用幾種方式避免防禦的收益在某個範圍內過大。
常見的方法有兩種:
(2.1)設置減傷上限。從圖像上看這個減傷百分比最好不要超過80%,這也是為何過去十幾年不少歐美遊戲抗性上限普遍採用70%-80%的原因。
現在我們繼續用上述圖像中的資料,分別採用0-700、0-750、0-800的資料(防禦力每10取一個資料)進行線性擬合,來看看決定係數R^2。
如果資料增加到900,則R^2=0.7001,下降的非常快,990的時候R^2只有0.2305了。
(2.2)採用階梯函數。防禦力的數值越大,相應的係數就越小,以此來降低單位防禦力在數值較大時的收益。
舉例:當防禦力小於500時,減傷百分比=防禦力/1000;當防禦力大於500小於2000時,減傷百分比=50%+(防禦力-500)/5000,當防禦力大於2000時,減傷百分比=80%+(防禦力-2000)/40000。
在原始傷害=10,生命值為100的條件下,生存時間和防禦力關係的曲線圖如下(每秒攻擊一次):
圖像上可以明顯的觀察到,只有在中斷點右側單位防禦的收益會突然下降,其他所有點附近,單位防禦的收益都是單調增。用這種方法也能避免防禦收益上漲過快的問題,然而需要造一堆公式,也不是很方便。
(2.3)那麼怎樣的減傷公式才是合理的呢?從圖像分析重我們可以直觀的感受到,最好需要有一個減傷公式,使得EHP和防禦力的數值線性相關。事實上,目前的主流競技遊戲(dota2,LOL)都是採用這樣的護甲公式,以及暴雪的部分遊戲,如魔獸爭霸3、暗黑破壞神3。
令 減傷百分比 = 防禦力/(常數項+防禦力)
則 EHP = HP/(1-減傷百分比)= HP*(常數項+防禦力)/常數項
由公式可見EHP和防禦力線性相關,和(常數項+防禦力)正相關。
這樣做的好處是十分明顯的。例如我需要將一個NPC的抗擊打程度提升為原來的兩倍,只需要將(防禦力+常數項)的數值變為原來的兩倍即可,大大的節約了計算量和測試量。
3.再來看傷害公式(計算減傷前)。俠客中的傷害公式是明確的:
減傷前傷害=[無裝備攻擊力+(套路面板傷害(需要滿級)+武器攻擊(武器大師天賦*2))*套路加成係數*招式熟練度加成]*(1+武學/500*0.25+實戰/500*0.5+臭味相投/風流倜儻係數+帶頭大哥/俠義心腸/心如蛇蠍係數)
臭味相投的效果是每個男性友人生死之交0.03的加成,最多20人,0.6加成。風流倜儻的效果是每個女性友人生死之交0.03的加成,最多15人,0.45加成。
帶頭大哥名聲越高,攻擊力加成越多。滿名聲500加成0.5。
俠義心腸道德越高,攻擊加成越多。道德越低,攻擊減成越多。100道德以上加成0.25,0道德減成0.25。
心如蛇蠍道德越低,攻擊加成越多。道德越高,攻擊減成越多。0道德加成0.25,100道德減成0.25。
暴擊則最終傷害變為兩倍(似乎略小於兩倍,未實際測試)。另外面板上各類buff造成的百分比傷害增加或者減少是獨立調整項,即上述公式造成的傷害再經過這個係數的調整。比如被中毒影響傷害減少50%,則最終傷害*50%;被中毒影響傷害減少50%,由於狂怒buff增加100%,則面板顯示為傷害加50%,最終傷害*150%。
總的來說,我們可以把公式寫成D = (A+(B+C)*D)*E 的形式。
其中A是人物的裸攻,B是招式面板傷害,C是武器傷害,D是套路和招式加成係數,E是其他係數。從公式構架上來看是比較合理的,也符合武俠世界觀:如果人物的武功足夠高(即攻擊力很高),那麼即使用普通武器(武器加成)也有普通人用神兵利器的效果,所以在公式上,人物裸攻和招式公式用加法是沒有問題的,如果一個人天生神力,用羅漢拳也有普通人用降龍十八掌的威力,這是符合武俠的世界觀的。不過把套路和武器攻擊直接相加,卻是不太解釋的通。因為人物攻擊力既可以解釋為武學功底,也可以解釋為膂力大小,但兵器的攻擊力似乎只能解釋為鋒銳程度。
不過這些都不是重點,細枝末節罷了。公式本身不存在問題,然而數值範圍卻存在一定的問題。由於主角存在各種加成而NPC沒有,故而NPC的全部攻擊力都體現在招式傷害上,這樣就使得追求“真實感”的玩家感覺很糟糕。雖然說不求每個NPC都有跟玩家一樣的數值系統,也沒有必要,但在套路上統一卻是不難。一個方法是給NPC設定初始攻擊力(NPC都是0,少數NPC的功體會增加攻擊力,不過大多數是百分比增加,只有少數如柯降龍是數值增加),二是給每個NPC設定一個係數,最終傷害結算乘以係數即可。
我們來看一下遊戲中玩家所能學到的所有招式的傷害。可以看到,無視屬性外的最低招式傷害為250,野球拳外最高招式傷害為850,大多數玩家能用的套路傷害都差不多,在選取套路的時候基本不考慮面板傷害因素而以特殊效果為主,這是否算的上是傷害系統的主客易位,喧賓奪主?
4.接下來是閃避、反擊、暴擊屬性的分析。
先說閃避。閃避和減傷百分比類似,區別在於減傷很穩定,而閃避則非常不穩定(尤其是隨機函數寫的很糟糕的時候)。而俠客中的閃避還有一個額外的效果,就是閃避的情況下招式本身附帶的buff和debuff不會發動。
閃避的收益期望計算同減傷。EHP = HP/【(1-閃避)(1-減傷百分比)】。從公式也可以明顯的得到結論,單位閃避的收益遞增(相對收益和絕對收益都遞增)。且不談遊戲中謎一般的閃避判定幾率,少數NPC的閃避累加可以說是喪心病狂,夜叉的閃避甚至能達到80%。姑且認為這個80%就是真實閃避幾率,有一個遊戲策劃會認為回合制的遊戲中平均5回合才能打中一次的情況會讓玩家不暴走麼?
當然玩家有辦法可以解決這個問題,比如吃青龍散,比如用東方寶典給隊友加命中,比如用眩暈和內傷招式(還得先打中)。但是有解決辦法不代表這是合理的設定:因為吃藥不是武俠體驗。沒有一本小說會說大俠打不過敵人磕了一個藥就打贏了。這也不是說遊戲中就不能有藥物系統,而是說不要強制讓玩家作出某種選擇。當然玩家也可以用眩暈、必中、內傷招式,這涉及到另一個層面的問題,也就是說沒有眩暈和內傷等招式的NPC都打不過這個NPC了?這也是相當破壞設定、破壞武俠體驗感的情況。NPC的強度設置,最好不要設置成單方面的絕對無敵,這樣會造成強制玩家作出選擇的情況也是非常破壞遊戲體驗的。舉例來說,暗黑2中地獄難度有各種屬性的免疫怪,還有物免怪,玩家遇到了只能繞道,所幸劇情BOSS都不具備這些屬性,不然玩家肯定罵娘。暗黑3中早期有無敵嘍囉的屬性,不過後來被暴雪以“破壞遊戲體驗”為理由刪掉了,還有一個護盾的屬性,也被大幅削弱,同樣的理由。這點還得感謝暴雪爸爸發明了“破壞遊戲體驗”這個詞。用在俠客中,就是“
破壞玩家的武俠體驗感”。
為什麼俠客玩家會如此反感閃避?因為這是一個回合制的遊戲,而且是一個快節奏的回合制遊戲,閃避會極大程度的打斷遊戲節奏,不可避免的對玩家體驗造成嚴重的破壞。解決辦法有二:一是把大多數人物的閃避都設定為0,並且取消正面攻擊+5%閃避的設定,只有少數需要符合人物特性的人物保留閃避屬性,例如夜叉和陳公公。並且閃避的數值不宜過高,最好不要超過30%,累積不超過50%,人物削弱的部分則在其他地方加強,例如血量和防禦。二是重寫閃避系統為招架系統,招架發動後減少傷害50%,buff不影響。然後相應的提高各人物的招架數值。
反擊沒有問題。但是需要增加無限反擊的功體。單回合的反擊傷害期望為反擊率*單次傷害*反擊次數,是跟反擊率線性相關的。另外數值系統上,需要增加某些人物的初始反擊數值,以體現人物特性(如大師兄)。
暴擊總體來說沒有問題。但我認為在當前的傷害系統下,遊戲後期節奏過快(即使沒有連斬),傷害相當於血量來說太高了,NPC互相之間都是兩三下打死,出暴擊的情況更影響戰鬥結果的導向。建議將暴擊倍率調整為1.7倍,並且適當的增加部分NPC的初始暴擊率,以體現人物特色。
關於閃避、暴擊對於戰鬥節奏的影響,可以用MATLAB進行類比測試,只要模型寫的好,可以快速模擬遊戲中各種戰鬥,分析閃避暴擊數值的變化對於勝負不確定性的影響,然而估計大多數玩家並不能看懂,這裡就不深入了。
還有很重要的一點,連斬要削弱,建議改成每回合只能觸發一次。
5.再來看俠客中最重要的戰鬥系統:buff系統。從遊戲正式發售的前一天,亞古爆料的武林通鑒圖中,我看到buff設定圖就心中一涼,如此多而雜的buff效果,估計戰鬥系統很難做好,事實上我玩了一周目就發現這個遊戲玩家自己的套路面板傷害基本不重要,最重要的是套路的附帶的buff。這很難給人一個很好的真實武俠體驗:賽飛鴻真的能一腳把龍王踢出內傷嗎?
(5.1)一個很重要的因素就是目前的buff判定是必定生效的。建議改成buff必定發動,debuff則需要經過兩者的內力值調整。這樣也使得內力這一在武俠世界觀中最重要的屬性發揮它的作用。具體公式可以這麼寫:
debuff判定幾率 = (攻擊方當前內力值-被攻擊方當前內力值)/被攻擊方內力上限*判定係數+基礎判定值
我舉具體的數字來說明一下為什麼用這樣的公式,數字未必合理,僅供舉例用。
比如內傷的判定,在武俠世界觀中我們可以認為只跟雙方內力深厚程度相關,因此給定基礎判定值0
內傷判定幾率 = (攻擊方當前內力值-被攻擊方當前內力值)/被攻擊方內力上限*0.5
在這個公式下,內力為1萬的天王和內力為9000的龍王被內傷的概率很低,大約每1000的內力差才有5%的判定幾率,而5000內力水準的NPC,則大約每1000的內力差有10%的判定幾率。
流血的話效果較弱,可以給定一個基礎判定值30%
流血判定幾率 = (攻擊方當前內力值-被攻擊方當前內力值)/被攻擊方內力上限*0.7+30%
這樣只要攻擊方當前內力大於被攻擊方當前內力,流血至少也有30%的判定成功率,最大則是100%
如果要這樣改的話,數值方面的調整是一個比較大的工程。方便起見也可以用統一的判定公式,然後在buff的效果上做另外平衡,這樣是比較簡單的。
(5.2)來具體談談目前遊戲中的過於強力的buff,以下內容會帶有一點個人的喜好因素在內:
目盲,命中率從100%變成60%。建議看一下閃避公式,命中率從100%降低到60%,意味著在初始命中100%的情況下,傷害期望從100%降低到了60%,對對方來說就是EHP提升了1/60%-1=66.7%,然後再次重複第4條閃避帶來的各種問題,這個buff最好是刪掉,或者閃避改成上述的招架系統之後就沒有問題,但是效果依然要削弱。遊戲中一群小兵帶目盲技能的設定除了噁心人之外沒有任何正面遊戲體驗,即使玩家用史燕,也只會覺得史燕的閃避過於強大。
閃避,不用多說了。
中毒,效果太強了。任何沒有清buff的人物,疊幾個不同類型的毒之後各種屬性基本降到0,太不合理。建議削弱中毒的單
回合效果,並且不同類型的中毒不能相互疊加。
恐懼。恐懼一下減傷40%,天龍八部功疊20個回合加40%傷害,有人覺得這樣的設定合理嗎?建議改成數值削弱,並且效果跟套路面板傷害正相關。這樣對於不同實力的NPC恐懼的削弱程度不同,也符合武俠的世界觀。
反傷。建議反傷受到防禦值調整,並且只跟實際造成的血量減少相關,而不是顯示的傷害相關。相應的為了平衡數值增大反傷的百分比。這樣防禦較高的人物受到的反傷也比較小,比較符合武俠世界觀。
狂怒,100%傷害加成過高了。建議調整為50%-70%左右。
聚氣:單回合10%-14%的回復量後期顯得略強了,建議增加單回合回復數值800的上限。
左右互搏:1.0.1.7是兩回合必定攻擊兩次。建議改為僅限當前招式當回合攻擊兩次。為了平衡相應招式可以在其他地方做出調整。
破甲和無視:建議在修改防禦公式的基礎上破甲改成固定數值的削減。無視則改為忽視50%的防禦力。
三.mod製作者如何設定資料
1.首先要明確的是你這個mod的面向群體。如果你是單純的為了某一個類型的愛好者而做,那麼自然要符合這個群體的遊戲體驗。如果你的mod的群體是大多數玩家,那麼則需要多方面考慮。下面給出的建議是面向群體是多數玩家的情況。
2.如何設定套路攻擊力。
(2.1)對於玩家來說,根據二中的第3條,我們可以把傷害公式寫成
D = (A+(B+C)*D)*E ,其中A是人物的裸攻,B是招式面板傷害,C是武器傷害,D是套路和招式加成係數,E是其他係數。
如果你要區分不同套路的攻擊力,那麼B的波動範圍就要相對於A和C要大一些。要比較單一的A(或者B、C、D)的值對於最終傷害的影響,只要計算A/(A+(B+C)*D)的變化即可(對應的要比較B、C、D則把分子上的A替換即可)。在EXCEL裡把表列好,計算在固定其中三個量的情況下,另一個量的變化對於整體傷害幅度的變化,這樣如何調整套路攻擊、武器攻擊心裡就有數了。
(2.2)對於NPC來說,沒有那麼多的加成係數,只要計算套路攻擊力+人物初始攻擊力即可。NPC的初始攻擊力都是0,如果要把NPC的招式傷害調整為和玩家差不多的程度,只需要賦予NPC不同的初始攻擊力即可。
3.如何設定人物防禦力和血量。
閱讀二中的1、2、4條。
對於人物的生存能力,一般只需要計算相應的EHP即可。另外要考慮防高血低的人物會被無視克制。生存能力還需要考慮人物的續航能力,比如回血方面的能力。儘量不要給血量很高的NPC增加聚氣的buff。
4.建議把大多數人的buff改成0,把大多數增加閃避的功體和buff替換掉。除非你有抖M傾向,否則你一定不會喜歡回合制的遊戲攻擊被閃避。
5.在具體套路招式附帶的效果上,儘量避免完美無缺的組合。這樣會使得玩家只用一種套路,多樣性就失去了。
6.儘量避免必須採取某種方式才能過關/打贏的情況。除非你是深度自虐+限制愛好者。
7.套路中少用過於強力的buff,如狂怒、大閃避等。
8.沒有CD的第一個招式,儘量不要賦予太強的debuff,如內傷。
9.由於目前沒法改動連斬的效果,最好不要讓玩家在常態下獲得連斬效果,特定戰鬥給予buff是可以考慮的。
10.多列表、多建模計算,少測試。能用計算的就不要測試。
四.其他建議和雜談
講完了資料系統,再來隨便談談,還有那些細節可以改進。
1.謹慎的設置“必敗的戰鬥”。這裡有兩層含義,一是戰鬥必敗(分為鎖數值和不鎖數值),二是劇情必敗。具體的說則是,戰鬥結果要和劇情保持邏輯一致性,在不鎖數值、不修改遊戲資料的情況下,戰敗和戰勝理應設置不同的對話使得劇情邏輯符合戰鬥結果。鎖數值這點會破壞一部分玩家的遊戲體驗,因此最好是不要設置。
舉幾個俠客中的實例。譬如第一年東方和荊棘切磋、第二年東方和虛真戰法王,這些都是劇情邏輯上“合理的必敗”,畢竟在時間節點上主角分別修煉了不到半年和一年,如果能戰勝荊棘和利空法王,在劇情合理性上說不過去(暫且不談主角三年天下無敵)。但如果設置成不修改的情況下主角必敗,那這樣玩家的參與感和自由度同樣會受到破壞。一個比較好的解決辦法是,在人物介面上添加一個描述,例如“受傷的”、“未出全力的”、“五成功力的”等等。由於資料不同的同一個遊戲角色在資料庫裡通常是存儲為多個角色,因此這點在實現上非常簡單,也利於mod製作者的辨認。另外,在劇情對話中把相應的關鍵字用紅字強調,譬如利空戰敗後說一句“小子不錯,竟能接住我五成功力”,其中“五成功力”幾個字可以加紅加粗,讓玩家明白這是劇情的關鍵字,就會減少不真實感。
戰敗後需要讀檔的設置在俠客中基本不存在(除了最後的劇情,就只有唐冠南了),我認為這是俠客非常重要的一個優點,儘管在自由度上還有所欠缺,戰勝與否對劇情的影響性比較小,相信這是豐富劇情和線路很重要的一個方向。
2.資料實力和劇情設定保持一致性和連貫性。玩家的武俠情懷中,江湖排名是非常重要的一個方面,即便是其他類型的遊戲,玩家也熱衷於討論人物實力,自編排行榜,因此排名系統如果做的好,則能很大程度上的滿足玩家的武俠和江湖情懷。這裡先不說俠客中的江湖人物相對較少,畢竟金群是現成的人物而俠客要原創設定,儘管可以有原型借鑒,要創造一個像金群一樣豐富的江湖在本作還是不太可能,只能寄希望于續作。
我們這裡只討論排行榜。要想所有人物實力都完美的符合排行榜,這是不太可能實現的(除非戰鬥系統過於簡單),也是沒有必要的。只需要在重要的排行上做到基本不出偏差,將江湖分為幾個大層次的高手,同一層次排名相近的各有勝負,不同層次的要跨越則較為困難,這樣就能營造出一個立體感十足的江湖來。另外,將穿越人物從排行榜中移除是十分有必要的,
理由不贅述。
還是以俠客為例,實體版贈送的武林通鑒中有提到“當世五大高手”的設定,結合遊戲中排名我們知道這五個人分別是龍王、天王、劍聖、無瑕子、柯降龍。而實際遊戲數值中第一梯隊的高手則分別是天王、龍王、劍聖、陳公公四人。由於劇情上無瑕子沒有全力出手過,所以劇情設定跟實際戰力不符的有龍王和天王的先後,以及柯降龍的實力。和其他人物相比,天王贏在超高的血量、50%反傷和清除負面這三點上。對於玩家來說,最大的問題則是清除負面,相比之下龍王疊加各種debuff就變成了聾王。柯降龍的問題則是血量太低(當然,對於玩家來說吃debuff的NPC都不是問題)。
總的來說,在排行榜前面俠客處理的還是比較不錯的,但是到了中後面就一團糟了,本身變數極多的buff系統導致人物實力極其不穩定(合理的是相對穩定,而不是絕對穩定),極其糟糕的閃避系統也導致某些人物實力嚴重偏離定位(例如史燕),這點會在後面的戰鬥系統裡詳談。如上文所言,要做到一個百分百精細和準確的排行榜是沒有必要的。
比較合理的做法是,排行榜先列做的精細化,後面則模糊化處理,籠統的給出一個評價和排名範圍。比如說絕頂高手設定為江湖前5,一流高手設定為前6-20,二流高手設定為前21-40,三流設定為前41-100,後面的為不入流。排名前20的高手資料設定的比較準確,相互之間的勝負比較穩定,前21-40設定的不用太準確,有一定的差距即可,後面的則模糊化處理,不給出具體的排名位置(相應的NPC也不用設置,只給出層次),只給出一個評價和排名大致範圍。
比如說,排名145的時候(按一定的評分)徐子易給出評價:你現在的排名是不入流(121-150),離成為三流高手還有一定的距離,要努力練功哦。排名105的時候給出評價:你現在的排名是不入流(101-120,離成為三流高手還有一步之遙,再加把勁就可以稱得上江湖好手了。排名靠前的時候則給出具體的排名和評價,以及附近的人物。比如排名第6的時候徐子易評價:你現在的排名是第6,僅次於丐幫幫主柯降龍,可以稱得上當世絕頂高手!第一的時候也可以順便玩個武俠梗:東方兄,你已經天下無敵了!另外,劇情設定上,我贊同把陳公公和上述5人並列,稱為當世六大絕頂高手。
由於玩家的可操作性比較大,所以主角的實力定位不需要太符合排名,否則戰鬥系統需要遷就,這樣就本末倒置了。
3.承接上一條,再來談談主角的實力定位問題。執著於真實性的玩家會認為主角三年就成為天下第一不太符合武俠世界的邏輯,因為劇情上也沒有太多表現主角是千古一見的武學奇才(當然領悟庖丁解牛刀、霹靂刀、天龍八部功什麼的說明主角已經非常天才了),最主要的是江湖人物不會因為主角的實力而產生不同的互動,例如即使在龍王線,NPC也大多只會從道德角度批判主角,而很少表現出實力上的畏懼。
這一點要做到的話也是個細節上的大工程,並不指望能實現,不過有一點我跟很多玩家保持觀點相同,就是養成時間太短(劇情意義上)。沒有必要把一個月分為5個回合,一回合還能做很多事情,這樣劇情上遊戲時間被壓縮到了三年(第一年9月到第四年8月底,武林中則是四年),劇情安排上過於緊迫了,尤其是主角剛拿到少年英雄會冠軍,過了半年就成了武林盟主,跨度太大了。
我認為一個月分為上和下即可,在豐富養成劇情的同時增加一回合的體力,將各個主線劇情的事件重新安排時間線,整體上三年則可以拉長到8-9年左右,這樣主角的出谷年齡大約是25-26,也不算太老。劇情上唯一不好處理的就是少年英雄會,因為主角要在原定的年齡內參賽的話實力會比改動前弱很多,一個合適的處理方式就是把規則改成24歲及以下參加,發生在養成時間的第5年,即整個時間線的一半左右。其他劇情上矛盾則視情況相應改動,比如前幾屆誰參加,誰奪冠,幾年一參加,等等。
就寫到這裡,希望俠客能越做越好。
五.關於防禦公式的補充
測試與公式:點擊進入
這裡直接引用結論,原帖應該是搞錯了減傷係數和傷害係數的區別,字面理解減傷係數應該是“減免傷害的百分比”,所以這裡經過了修正
面板傷害的減傷係數 = sqrt(防禦)*(sqrt(防禦))/2000
實際傷害的減傷係數 = sqrt(防禦)/100+min{3*防禦/10000, 0.3}
受到的傷害 = 原始傷害*(1-減傷係數)
如果有筋骨堅實天賦,則最終傷害再乘以0.75
從公式中可以直觀的看出來,1000的中斷點是由min{3*防禦/10000, 0.3}這個函數得到的
我們將公式寫成分段函數的形式:
實際傷害的減傷係數 = sqrt(防禦)/100+3*防禦/10000 ,當防禦<1000;
= sqrt(防禦)/100+0.3,當防禦>1000
則其減傷曲線如下圖:
我們再計算相應的防禦對EHP係數的公式
EHP係數 = 1/(1-減傷百分比)
= 1/(1-sqrt(防禦)/100-3*防禦/10000),當防禦<1000;
= 1/(1-sqrt(防禦)/100-0.3,當防禦>1000),當防禦大於等於1000小於等於4900
對其求導,得到一階導數,即單位防禦的收益係數:
單位防禦的收益係數 = (1/(200*sqrt(防禦))+0.0003)/(1-sqrt(防禦)/100-3*防禦/10000)^2,當防禦<1000;
= 1/(200*sqrt(防禦)*(0.7-sqrt(防禦)/100),當防禦大於等於1000小於4900
畫出其函數圖像:
這個圖像的含義可以理解為,當防禦增加一點,相應的增加的HP係數。例如當生命值為1000,防禦等於500時,增加一點防禦相當於增加1000*0.001334=1.334生命。
從圖像中可以看到單位防禦的收益在(0,1000)上先降低後增加,在1000點處突然下降,在(1000,4900)上單調遞增。單位防禦收益的最低點在防禦=168的時候,收益係數為0.00102。防禦等於1000的時候,單位防禦的收益係數為0.00107。
從二的討論中我們可以看出,又是分段函數,又是開根號,吃力不討好,單位防禦的實際波動比較大,還是用防禦收益線性函數比較好。
補充一張圖,當防禦數值在0-3000時單位防禦的收益圖
去掉了3000防禦以上的部分使得資料更加清晰