因?yàn)槲易龅挠螒蚨紱](méi)有加點(diǎn)這個(gè)概念,所以我都是直接用生命、攻擊、防御、暴擊這些屬性種類(lèi),自己做著方便,玩家也容易理解。
幾乎所有游戲中的屬性類(lèi)型都由血攻防這樣的基礎(chǔ)屬性和暴擊格擋穿透之類(lèi)的高級(jí)屬性組成,個(gè)人建議再規(guī)劃一個(gè)“超級(jí)屬性”。“超級(jí)屬性”指的是對(duì)PVP有決定性影響且十分難升滿的屬性,超級(jí)屬性可以承載大R玩家的追求和消費(fèi),比如《拳皇98OL》在傳統(tǒng)卡牌的基礎(chǔ)上將“先手值”獨(dú)立出來(lái)作為“超級(jí)屬性”,其中很多的大R玩家為了追求“先手值”這一項(xiàng)屬性消費(fèi)了幾萬(wàn)甚至十幾萬(wàn)。
戰(zhàn)斗公式
戰(zhàn)斗公式不是本文的重點(diǎn),相關(guān)的文章也很多,不再細(xì)述,簡(jiǎn)單說(shuō)幾點(diǎn)自己的體會(huì):
1.沒(méi)有最好的,只有最合適的:剛?cè)胄械臅r(shí)候覺(jué)得像《WOW》、《暗黑》之類(lèi)的戰(zhàn)斗公式才叫牛逼,第一次看到damage=atk^2/(atk+def)的時(shí)候雖然看不懂,但是感覺(jué)簡(jiǎn)直屌爆了。當(dāng)時(shí)最鄙視的就是減法公式,damage=atk-def,尼瑪小學(xué)生都會(huì)算,一點(diǎn)都不高端。后來(lái)發(fā)現(xiàn)《放開(kāi)那三國(guó)》用的是減法、《傳奇》用的是減法、暢銷(xiāo)榜惡霸《夢(mèng)幻西游》用的也是減法,自己用了一次之后才深深地體會(huì)到了減法公式易做反饋、適合做小差距、適合做小數(shù)值的特點(diǎn),拿來(lái)做MMORPG十分好用。但如果是做MOBA,需要計(jì)算大量的平衡關(guān)系,就最好選用damage=atk*(c/(def+c))這種公式,因?yàn)檫@種公式下確定一個(gè)英雄的強(qiáng)弱只需要這個(gè)英雄自身的屬性就可以。
2.關(guān)鍵在于怎么用: 同樣是減法公式,《傳奇》和《傳奇xxx私服》的體驗(yàn)完全不同。合適的公式確實(shí)會(huì)讓之后的工作舒爽一些,但最終的體驗(yàn)如何還是要看如何使用。
3.多動(dòng)手: 網(wǎng)上有很多戰(zhàn)斗公式相關(guān)的文章,一般都是寫(xiě)一下公式,找個(gè)例子算一下,再做幾個(gè)函數(shù)圖,最后總結(jié)一下。我自己就看了很多這樣的文章,收獲不小,不過(guò)還是有很多疑惑沒(méi)有解開(kāi)。其實(shí)很多時(shí)候遇到公式上的疑惑,自己算一算,對(duì)比對(duì)比,在相關(guān)游戲中跑一跑,會(huì)獲得更深入更透徹的理解。
數(shù)值框架中要明確地列出都有哪些屬性和這些屬性的詳細(xì)說(shuō)明,也要將詳細(xì)的傷害判定流程和傷害計(jì)算公式寫(xiě)出來(lái)。這樣既能防止自己不小心遺忘,也能方便以后的交接。下面這張圖是個(gè)簡(jiǎn)單的展示:
職業(yè)設(shè)定
職業(yè)設(shè)定一般而言有三個(gè)基本的目的:
1.職業(yè)之間相對(duì)平衡(或是循環(huán)克制)
2.職業(yè)差異化:不同職業(yè)的作用和體驗(yàn)不同
3.整體戰(zhàn)斗體驗(yàn)好:戰(zhàn)斗節(jié)奏好,戰(zhàn)斗時(shí)長(zhǎng)能夠接受
在數(shù)值框架中職業(yè)設(shè)定主要包含兩大模塊:屬性模型,技能設(shè)定。
屬性模型主要是為了方便調(diào)整平衡、戰(zhàn)斗時(shí)長(zhǎng)和職業(yè)差異化,其本質(zhì)就是各職業(yè)屬性的比例關(guān)系,個(gè)人的習(xí)慣是將屬性模型中加入【技能輸出系數(shù)】和【技能生存系數(shù)】?jī)蓚€(gè)數(shù)值,分別代表算上技能之后輸出會(huì)變?yōu)閹妆逗蜕婺芰?huì)變?yōu)閹妆?,然后在技能設(shè)定中根據(jù)這兩個(gè)系數(shù)去調(diào)整具體的技能數(shù)值。
技能設(shè)定時(shí),需要運(yùn)算多種技能的實(shí)際數(shù)值影響。其中倍數(shù)傷害、屬性類(lèi)buff、眩暈等類(lèi)型的技能是可以直接轉(zhuǎn)換成有效輸出的,相對(duì)比較好算,如果不會(huì)的話找個(gè)數(shù)值策劃群?jiǎn)栆幌戮涂梢浴6?lèi)似于加速、位移、陷阱之類(lèi)的技能難以量化,需要不斷地實(shí)測(cè)調(diào)整。各種技能的具體處理方式不再展開(kāi)描述。
一些游戲?qū)⒉煌殬I(yè)的屬性比例做的完全相同,然后通過(guò)技能設(shè)定達(dá)到平衡和差異化的目的,十分簡(jiǎn)單粗暴,各位可以嘗試用一下。
屬性分配
個(gè)人習(xí)慣用最大模型和系統(tǒng)分配比例來(lái)做不同系統(tǒng)間的屬性分配,再在各個(gè)系統(tǒng)內(nèi)細(xì)調(diào),這樣做的好處是大的改動(dòng)比較快,細(xì)節(jié)體驗(yàn)也能調(diào)。
系統(tǒng)間分配
為了方便說(shuō)明,我們假設(shè)不同職業(yè)的屬性比例現(xiàn)在完全相同,這樣我們只需要做一套最大模型。將最大屬性模型中的每一項(xiàng)屬性與對(duì)應(yīng)的各個(gè)比例相乘即可得到每個(gè)系統(tǒng)應(yīng)分配的具體屬性。大致結(jié)構(gòu)如同下表:
說(shuō)是“最大”屬性模型,但往往擴(kuò)展系統(tǒng)時(shí)會(huì)發(fā)現(xiàn)屬性不夠大,因此到后期屬性比例中一些屬性的比例總和會(huì)超過(guò)100%。
最大屬性模型一般都是通過(guò)將職業(yè)直接放大得到,但要注意一些公式將各職業(yè)屬性等比放大后會(huì)破壞平衡,比如damage=atk*(c/(def+c))。
系統(tǒng)內(nèi)分配
某個(gè)系統(tǒng)的的屬性分配主要包含4個(gè)模塊:
1.可分配屬性:對(duì)應(yīng)系統(tǒng)間分配出來(lái)的屬性、
2.分配思路:文字描述,記錄自己在這個(gè)養(yǎng)成系統(tǒng)是用怎樣的思路分配每級(jí)的屬性的,否則到后面自己都會(huì)忘記為何這樣分配,如果有特殊的計(jì)算公式的話我也會(huì)記錄在這里。
3.分配參數(shù):即使是幾百上千級(jí)的成長(zhǎng),也可根據(jù)幾個(gè)參數(shù)和公式來(lái)調(diào)控。
4.最終屬性表:通過(guò)上面三個(gè)模塊計(jì)算得出的最終結(jié)果,如下圖
經(jīng)濟(jì)關(guān)聯(lián)
做經(jīng)濟(jì)系統(tǒng)時(shí),我會(huì)將每天把消費(fèi)產(chǎn)出全部拿完的玩家定為標(biāo)準(zhǔn)玩家,然后可以通過(guò)產(chǎn)出和消耗預(yù)算出標(biāo)準(zhǔn)玩家的成長(zhǎng)情況。因?yàn)闆](méi)有辦法確定玩家具體會(huì)進(jìn)行什么樣的操作,所以這里的一切計(jì)算都是估算,比如玩家可能優(yōu)先把材料全用來(lái)升武器,也可能材料全都放背包里不用,沒(méi)有辦法確定,所以我就按照玩家將所有材料平均分配到每一件裝備上培養(yǎng)來(lái)估算玩家的裝備培養(yǎng)等級(jí)。
所有系統(tǒng)的經(jīng)濟(jì)做完后,我們可以得到一張表,里面有玩家在每個(gè)等級(jí)時(shí)各個(gè)養(yǎng)成系統(tǒng)的等級(jí)和玩家的總屬性,類(lèi)似下圖:
怪物屬性
有了通過(guò)經(jīng)濟(jì)關(guān)聯(lián)算出的玩家屬性,我們可以很輕松地得出各個(gè)等級(jí)對(duì)應(yīng)的每種怪物屬性。為了調(diào)整方便,我用怪物被玩家打時(shí)的生存時(shí)間和怪物打死玩家要用的時(shí)間來(lái)做參數(shù)。最終會(huì)得到一個(gè)類(lèi)似于下圖的表:
如果沒(méi)有特殊需求的話,所有怪物都可以從這個(gè)表中直接取值。
做怪物數(shù)值時(shí)需要注意的點(diǎn):
1.上圖中的表格沒(méi)有技能,實(shí)際使用時(shí)需要注意技能的計(jì)算
2.沒(méi)有特殊需求的話,就將所有種類(lèi)怪物的防御統(tǒng)一為一個(gè)值,比如玩家攻擊的80%或是直接用0。
3.表中是以“格斗家”為標(biāo)準(zhǔn)做的怪物數(shù)值,在一些職業(yè)特性比較強(qiáng)的游戲中需要注意各個(gè)職業(yè)的戰(zhàn)斗體驗(yàn),否則可能出現(xiàn)治療職業(yè)半分鐘殺一個(gè)小怪之類(lèi)的問(wèn)題
配置導(dǎo)出
將計(jì)算結(jié)果按照配置的形式關(guān)聯(lián)到另一張表,然后通過(guò)VBA導(dǎo)出配置表,并不是很難,一會(huì)提供代碼,先簡(jiǎn)單說(shuō)下使用我的導(dǎo)出需要注意的地方:
1.要在b1單元格填入導(dǎo)出后的表名
2.需要導(dǎo)出的工作表的命名中需要有“-3”
3.代碼的本質(zhì)是將第六行以下所有有內(nèi)容的單元格復(fù)制到另一個(gè)EXCEL中,并將該EXCEL重命名存在與數(shù)值框架相同路徑下的output文件夾中
4.用這種方式導(dǎo)出的表需要另建一個(gè)文檔寫(xiě)相關(guān)的配置說(shuō)明
5.需要注意一些美術(shù)資源的配置
6.要養(yǎng)成在數(shù)值框架中改表導(dǎo)出的習(xí)慣
這個(gè)導(dǎo)表VBA并不是很強(qiáng)大,使用不熟練時(shí)很容易出錯(cuò),但一旦用順手之后效率會(huì)提升很多倍。
VBA代碼如下:
聯(lián)系客服