《原神》爲例のRPG數值核心設計思路梳理

目錄

1 遊戲數值的基本設計方法

1.1 搭數值框架的方法

1.2 推數值細節的方法

2 RPG數值——成長

2.1 成長標杆

2.2 戰鬥屬性成長

2.3 戰鬥屬性分配

2.4 細化成長

3 RPG數值——戰鬥

3.1 傷害公式

3.2 戰力公式

3.3 職業設計

3.4 怪物設計

3.5 戰鬥測試

4 RPG數值——經濟

4.1 資源流轉結構

4.2 消耗模型

4.3 產出模型

4.4 價值體系

寫在前面:

筆者閱讀了《遊戲數值百寶書》、《平衡掌控者》、《遊戲數值設計》、《遊戲策劃工作手冊》四本和遊戲數值相關的書,瀏覽了多個網絡平臺上大量與遊戲數值相關的文章,發現不同公司不同策劃的建表步驟和計算方法差異很大,造成差異的原因是大家所用的數值模型是不統一的,每個人都有自己的慣用模型和建表習慣,這對於剛接觸遊戲數值的新人(比如我)來說並不友好。

但讀得多了就會發現,雖然具體細節上的算法和公式存在差異,細節背後的設計目的和設計思路卻是一致的。這也很容易理解,因爲大家要解決的問題是類似的,故而摸索出來的方法也都殊途同歸。本文基於自己的思考梳理了一下RPG數值共通的設計思路,希望能對和我一樣剛開始學習遊戲數值的小夥伴有些許幫助。有不對的地方歡迎評論或者私信討論和指正,希望問題說得具體一些,多謝大家。

需要強調的是,數值策劃的工作分爲“建”和“調”,前期把表建出來,中後期反覆測試和調數。“建”更多的是技能上的東西,而“調”則需要大量的遊戲閱歷和工作經驗做支撐。本文梳理的是與“建”相關的核心設計思路,並不包含調數的內容。此外,文中的例子主要來自遊戲《原神》,所有與《原神》相關的圖表都只是筆者自己的粗略反推,不代表真實數據。

1 遊戲數值的基本設計方法

1.1 搭數值框架的方法

對於原創玩法和成熟玩法,搭數值框架的方法有所差異:

對於創新型原創玩法:搭建簡易系統進行快速迭代,即,根據核心玩法確定屬性框架→給出具體公式→驗證體驗→調整核心玩法及屬性框架→進行新一輪迭代。

對於有成熟原型的玩法:找到市面上的同類型遊戲,反推其數值架構和數值細節→分析其設計目的和實際效果→根據自己的項目特點對已有的框架做調整。

由於數值會多次調整,搭框架時可以採取一些能提高效率的建表習慣:

把每個excel的首頁作爲參數頁,或者在每個頁面的頂部設置一個參數區,把需要手填的參數單獨放在參數頁或參數區中,其他版塊從這裏引用,方便後續調參。

設置一個控制數值量級的參數,做表的時候給所有相關數值乘上這一參數,方便後續隨時對數值的量級做調整。

用excel裏的“數值驗證”功能設置單元格的填寫限制,對於該功能實現不了的需求隨手編寫檢查函數,避免後續改數時出現錯誤。

在做概率分配時(要求概率總和爲100%,比如將屬性分配給養成渠道、將產出分配給玩法模塊等),用權重而非直接用概率,方便後續調整。

1.2 推數值細節的方法

建表的核心就是根據各種設計需求反推數值細節,數值推導的一般步驟如下:

STEP1明確求解對象:找到能夠撐起數值體系的關鍵參數,將其作爲求解對象。

STEP2明確設計需求:設計需求即一些關係到玩家體驗的基礎參數的值,也可能指一些特殊的設計要求,每個設計需求都會對求解對象產生一定的約束。比如在設計屬性投放比例時,“生存時長=20s”就是一個需要滿足的設計需求。

STEP3求解:根據第二步中的設計需求反推出第一步中的未知參數。如果約束條件個數少於參數個數(存在無窮多個解),可以拍腦袋給出部分未知參數的值然後求解其他未知參數的值,只要滿足設計需求就行。

在設計有遞增趨勢的數值時(如屬性成長等),需要根據變量之間的關係確定曲線的形狀,下面列舉了一些常用的曲線類型:

線性:一次函數

邊際效應遞增:高次冪函數(指數>1,最常用的是二次函數),指數函數(底數>0)

邊際效應遞減(無趨近):低次冪函數(指數<1),對數函數

邊際效應遞減(趨近):指數函數(底數<0),反比例函數(x/(x+a))

注:確定曲線類型時儘量不要使用太過高深的數學,對程序來說負載太大,容易跑不動,最好只用加減乘除和min/max,然後通過不同的參數取值來實現不同的效果。此外,爲了在不同遊戲階段保證不同的遊戲體驗,實際遊戲中大都採取分段函數的形式,由於玩家對小數值比較敏感,遊戲前期要摳得細一點,多分幾段,必要時可以放棄使用公式,每個點都當作特殊情況來手填,後期數值變大且影響因素變多,玩家逐漸不敏感,再用公式。

在設計包含概率的數值時(如強化/合成等養成數值、掉落/抽獎等產出數值、暴擊/閃避等戰鬥數值),爲了防止玩家流失,需要控制極端負面概率的出現,下面列舉了一些常用方法:

讓概率不斷增加:如果本次不中,下一次增加固定大小或固定比例的概率,初始概率和每次增加量的取值可以根據設定的最多中獎次數和平均中獎次數來反推。例如原神的抽卡概率就是採用這個方法,角色池五星概率爲0.006,自74抽開始每抽增加0.06的概率,第90抽時設定概率爲1。

把概率變成頻率:有兩種方法可以把概率固定爲頻率,一是預存結果的方法,如果概率是5%,60次保底,則就在1-60中隨機抽3個數作爲中獎次數,如果概率不變,改爲100次保底,則就在1-100中隨機抽5個數作爲中獎次數。把概率變成頻率進行預存後,隨機性不復存在,可以有效避免玩家通過讀檔反覆賭概率。二是計數器或獎金池的方法,當有人殺怪或有人抽獎時計數器加一,如果概率是千分之一,則殺到第1000只怪時或抽到第1000次獎時掉落,同時計數器歸零。也可以給不同的怪或不同的獎券設置不同的權重,計數器每次加的數不一樣,殺掉首領怪的人或用優質獎券抽獎的人更容易把計數器頂滿。該方法常用於大型MMO的稀有物品掉落,優點是可以完全通過刷新頻率控制服務器中稀有物品的產出數量。

2 RPG數值——成長

RPG遊戲中玩家的各方面能力會不斷成長,成長數值的設計目的就是把玩家各方面的成長量化出來,同時把玩家的成長速度規劃出來。設計思路如下:

STEP1:選定成長標杆,規劃整體成長節奏。這一步的設計目的是利用成長標杆把玩家的成長與遊戲時長聯繫起來,後續設計其他成長板塊時,錨定成長標杆就相當於錨定了遊戲時長,從而能讓玩家按照提前設計好的節奏來成長。

STPE2:確定戰鬥屬性有哪些,設計屬性投放比例及屬性成長曲線。戰鬥屬性是RPG的核心屬性,這一步的設計目的是確定每個戰鬥屬性在每個成長階段的總投放量。

STEP3:確定養成渠道有哪些,規劃每個屬性在每個渠道的投放比例。這一步的設計目的就是把第二步中規劃好的總投放量分配到不同的養成渠道中去。

STEP4:細化每個養成渠道的成長數值。根據前幾步中的規劃把表拉出來。

2.1 成長標杆

成長標杆用於錨定遊戲時長,其他任何關乎遊戲節奏的板塊(屬性成長、內容投放、資源投放等)都錨定等級,從而也錨定了遊戲時長。

最常見的成長標杆是角色等級,根據世界觀不同還可以將角色等級包裝成其他形式,比如《鬥戰神》的修煉年數,《千年》的年齡等。

選定等級作爲成長標杆後,需要規劃每個等級升級所需的遊戲時長(小時或天),具體思路參照1.2中的三個步驟:

STEP1明確求解對象:一般來說每級耗時應該是逐步遞增的,可以採取幾級一個跳變的方式遞增,也可以採取一次函數或二次函數遞增。要求解的對象就是函數中的未知參數。

STEP2明確設計需求:每級耗時需要滿足的設計需求是已設定的遊戲生命週期、首日等級、首周等級、首月等級等。

STEP3求解:根據已設定的遊戲生命週期、首日等級、首周等級、首月等級等條件反推函數中的未知參數。

以《原神》爲例,由於《原神》中角色的養成方式是混合式養成(既有橫向收集要素也有縱向數值要素),一個玩家可以快速養成多個角色,因此用作成長標杆的並不是角色等級,而是冒險等級。

假設普通玩家每天只玩1小時,不使用脆弱樹脂(每天消耗180點樹脂),遊玩內容是每日委託+4個寶箱+60個大世界物產+1次藏金之花+1次啓示之花+1次武器祕境+1次天賦祕境+1.5次聖遺物祕境+40個普通小怪+20個精英怪+1個首領怪+1個周boss,則該普通玩家的升級耗時如下圖所示(筆者自己的粗略反推,不代表真實數據):

可以看到,《原神》的耗時曲線是“分段線性+加速遞增”的,升級耗時=a+b*等級,但每隔5-10個等級參數a和b都會發生一次跳變,“Δ耗時(天)”一列其實就是參數b的取值,上表中每次變色,就是參數a和b發生了跳變。

2.2 戰鬥屬性成長

注:在一些書裏,規劃屬性成長用的是力量、智力、靈巧等基礎屬性,但個人認爲用戰鬥屬性更好,因爲除角色外的所有養成渠道養成的都是戰鬥屬性,用基礎屬性的話後續分配屬性時還需要再轉化一次,相對比較麻煩。

RPG的戰鬥屬性可以分爲以下幾類:

核心戰鬥屬性:攻擊力、防禦力、生命值上限,即攻防血鐵三角,是RPG必不可少的屬性。

高級戰鬥屬性:高級戰鬥屬性可以分爲攻擊類、防禦類和生命類三類,主要設計目的是豐富傷害計算的機制,增加戰鬥系統的深度,爲戰鬥增加驚喜感。每個遊戲的高級戰鬥屬性不盡相同,取決於該遊戲的戰鬥設計。以《原神》爲例,《原神》中的高級戰鬥屬性有:元素精通(攻),暴擊率(攻),暴擊傷害(攻),某元素傷害加成(攻),物理傷害加成(攻);護盾強效(防);某元素抗性(防),物理抗性(防);治療加成(血),受治療加成(血)。

速度類戰鬥屬性:影響DPS分母的戰鬥屬性,在RPG中的重要程度不高,大都是隱性屬性(不顯示在面板上的屬性)。以《原神》爲例,《原神》中的速度類戰鬥屬性有:攻擊速度;冷卻縮減,元素充能效率;移動速度,體力上限。

設計成長數值時只需要規劃出標準人的戰鬥屬性成長即可,後續戰鬥數值模塊在設計不同職業和不同怪物時,會以這裏的標準人爲基準。規劃戰鬥屬性成長一般分兩步,第一步確定屬性投放比例,第二步確定屬性成長曲線。第一步給出戰鬥屬性的總投放量,第二步給出成長標杆每一級所對應的戰鬥屬性投放量。

屬性投放比例:

參照1.2中給出的三個步驟:

STEP1明確求解對象:各個戰鬥屬性總投放量之間的比例關係。

STEP2明確設計需求:約束屬性投放比例的設計需求主要是生存時長和免傷率。1)生存時長:戰鬥中最重要的指標,雙方的生存時長反映了戰鬥的勝者,也間接反映了角色的戰力。假設兩個標準人互毆,通過對生存時長的設計要求,能夠確定血量與傷害之間的數值比例。2)免傷率:如果傷害公式(關於傷害公式的介紹參見3.1)是乘法公式的話,確定屬性投放比例時可以不考慮免傷率,因爲通過調參數就能將免傷率控制在任意範圍內。如果是減法公式的話,則需要通過對免傷率的設計要求來確定攻防之間的比例關係。

STEP3求解:不妨設攻擊力爲1,則1)如果傷害公式用乘法公式:拍腦袋確定其他攻擊類屬性與攻擊力之間的比例關係→根據傷害公式和已經設定的免傷率算出傷害→根據已經設定的生存時長推出血量與攻擊力之間的比例關係。乘法公式下防禦力可以看作是單獨的體系,攻防之間的比例可以隨意設定。2)如果傷害公式用減法公式: 拍腦袋確定其他攻擊類屬性與攻擊力之間的比例關係→根據已經設定的免傷率推出攻擊力與防禦力之間的比例關係→根據傷害公式算出傷害→根據已經設定的生存時長推出血量與攻擊力之間的比例關係。

《原神》的屬性投放比例比較特殊,“標準人互毆的生存時長”這一設計需求對於《原神》來說並不重要,實際上,如果原神中的兩個輸出型角色互毆,生存時長只有不到3s,這看似很不合理,但放在《原神》中卻是合理的,原因在於《原神》是純PVE遊戲,標準人互毆的生存時長並不能反映實際戰鬥情況,實際上,爲了覆蓋更加廣泛的玩家羣體,《原神》中的角色數值對於玩法是明顯溢出的,玩家的血防數值應對攻低血高的怪物綽綽有餘。此外,《原神》是團隊作戰,玩家實際擁有的其實是四個角色的血量,團隊中還存在能力突出的盾輔奶輔,整個隊伍循環起來後基本不存在生存問題。

屬性成長曲線:

戰鬥屬性的投放有兩種方式,一種是連貫的,一種是階段性的(在某幾個節點集中投放)。連貫的投放對應縱向數值型的養成方式,階段性的投放對應橫向收集型的養成方式。

核心戰鬥屬性(攻防血)是連貫投放的,一般爲線性遞增,後期由於升級耗時變長且玩家逐漸麻木,可能需要通過一些跳變實現加速遞增(例如,1-50級每級提高90點攻擊力,50-100級每級提高180點攻擊力)。

高級戰鬥屬性可能是連貫投放的,也可能是階段性的,一般爲加速遞增,越後期的節點投放的量級越大,從而給玩家提供指數級增強的數值刺激。

《原神》中最主要的三個養成渠道(角色、武器、聖遺物)都是混合式的,既有縱向數值的元素也有橫向收集的元素。前期資源少,可收集的角色/武器/聖遺物也較少,養成更偏縱向,主要靠升級來進行緩慢的線性提升;後期隨着玩家的資源越來越多,角色/武器/聖遺物基本收集到就能拉滿,養成更偏橫向,主要靠收集來進行階段性的大幅增強,強力角色/武器/聖遺物的加入大大拔高了基礎數值,不同系別角色的加入則豐富了可利用的元素反應,使玩家能夠更遊刃有餘地面對不同環境。

注:表中的“+”表示隨着版本更新,可收集的種類還在不斷增加。

在做好養成規劃後,把屬性成長按照百分比分配給不同的養成大類,然後在養成大類內部再進行二次或三次分配。分配時要參考每個養成渠道的重要程度,比如規劃時希望玩家喜好的優先級是A渠道>B渠道,在分配時就要給A分配更多的比例,此外也要把A渠道做得更加外顯、更加簡單、隨機性更小,方便玩家認知和感受。

同樣以《原神》爲例,以極限投放(指投放至遊戲中的所有屬性點,不考慮可獲得性)爲標準進行統計,屬性分配比例大致如下圖所示(筆者自己的粗略反推,不代表真實數據)。可以看到,基礎生命值、基礎防禦力、某元素傷害加成、治療加成四個屬性主要來自角色和聖遺物;基礎攻擊力、物理傷害加成兩個屬性主要來自武器和聖遺物;其他屬性的主要來源都是聖遺物。這印證了上文的推測(聖遺物是養成深度的主要來源),玩家如果想堆什麼屬性實現畢業的話,還得在聖遺物上下功夫。

極限投放不考慮可獲得性,事實上玩家在通過養成獲取屬性點時面臨着諸多限制,一個角色只能有一個副屬性,一個武器只能有一個副詞條,聖遺物只能戴五個,聖遺物副詞條的位置和強化次數都有限,這就使得《原神》中畢業角色的屬性分佈跟上表大不相同。對於這種包含大量自選的養成,在估計真實投放比例時可以先評估該養成渠道所包含的隱性引導,即,策劃希望玩家去追求哪個屬性、哪個屬性的實際收益最高。對不同職業和不同流派的玩家來說實際收益高的屬性不盡相同,此處以輸出類角色爲例,角色和武器的副屬性分別選暴擊和暴傷,聖遺物在提供大量雙暴詞條的同時提供少量的其他屬性,一個典型輸出角色的實際屬性分佈大致如下圖所示(筆者自己的粗略反推,不代表真實數據):

根據2.2中的分析,《原神》作爲純PVE遊戲,角色數值對於玩法是明顯溢出的,非自選的養成所提供的血防屬性已經足夠,再加上強悍的盾輔奶輔,基本不存在生存問題。因此玩家的選擇往往是把可自選的養成都用來提升攻擊類屬性,力求快速殺怪。由於玩家基本只追求DPS,輸出類角色堆雙暴,增傷類角色堆雙暴和元素精通,除了某些奶媽要稍微堆一下治療加成外,防禦類、生命類屬性基本無人問津。策劃解決這一問題的方式主要是轉模,即,讓技能倍率乘上別的屬性而非面板攻擊力,從而把該屬性轉化爲攻擊傷害,目前《原神》中生命轉模的角色有胡桃,防禦轉模的角色有荒瀧一斗、阿貝多。

2.4 細化成長

在完成前三步之後,成長體系的框架已經搭好,下一步要做的就是把具體的數拉出來。

首先用對標成長標杆的方法得出每個養成渠道在每個階段的戰鬥屬性投放量:對於橫向養成,把不同物品的投放節點和成長標杆對應起來;對於縱向養成,把該養成渠道的等級與成長標杆對應起來。由於戰鬥屬性成長和渠道等級同時對標了成長標杆,可以用成長標杆將二者聯繫起來,即,某渠道在某階段的某戰鬥屬性投放量=該戰鬥屬性在對應成長階段的總投放量*該戰鬥屬性在該渠道的分配比例。

其次,如果該養成渠道有自己的一套屬性,還需要設計屬性轉化公式並進行逆推。例如,在很多RPG中,角色這一養成渠道往往不直接養成戰鬥屬性,而是養成力量、智力、靈巧等基礎屬性,然後通過屬性轉化公式將其轉化爲物攻、魔攻、攻速等戰鬥屬性。在這種情況下就需要把分配給角色渠道的戰鬥屬性還原爲基礎屬性。

3 RPG數值——戰鬥

3.1 傷害公式

傷害計算公式的作用是結合攻方的攻擊類屬性值和守方的防禦類屬性值計算出攻擊造成的最終傷害。傷害計算公式可以分爲減法公式和乘法公式兩大類:

減法公式:傷害=攻擊-防禦。

此處的“攻擊”指的是所有攻擊類屬性放在一起計算後的結果,“防禦”指的是所有防禦類屬性放在一起計算後的結果。如果傷害公式用減法公式的話,“攻擊”和“防禦”一般會用加法來計算:攻擊=角色攻擊+武器攻擊+技能攻擊+…,防禦=角色防禦+裝備防禦+…。

設h表示傷害harm,a表示攻擊attack,d表示防禦defense,則減法公式可以表示爲h=a-d,h'(d)=-1<0,h''(d)=0,傷害隨着防禦的增大而減小,堆防禦的邊際收益不變。

減法公式的優點是方便玩家理解,僅靠心算就能直接算出傷害,缺點是堆防禦的邊際收益不變,玩家可能會大量堆防禦導致不破防。1v1的不破防很難解決,但1vN的不破防可以通過“防禦力隨圍攻人數的增加而衰減”的方式解決。

乘法公式:傷害=攻擊*(1-免傷率),其中免傷率=防禦/(防禦+參數表達式)。

此處的“攻擊”指的是所有攻擊類屬性放在一起計算後的結果,“防禦”指的是所有防禦類屬性放在一起計算後的結果。如果傷害公式用乘法公式的話,“攻擊”和“防禦”一般會用乘法來計算:攻擊=(角色攻擊+武器攻擊)*(1+技能作用百分比)*(1+裝備增傷百分比)*…,防禦=(角色防禦+裝備防禦)*(1+技能作用百分比)*…。

設h表示傷害harm,a表示攻擊attack,d表示防禦defense,dr表示免傷率defense rate,pe表示參數表達式parameter expression,則免傷率公式可以表示爲dr(d)=d/(d+pe),傷害公式可以表示爲h=a*(1-dr(d)),該式有如下性質:

dr<100%,dr'(d)>0,h'(d)=-a*dr'(d)<0:免傷率隨着防禦的增大而增大,逼近100%,傷害隨着防禦的增大而減小,逼近0。實際遊戲中一般不會讓免傷率真的去逼近100%,而是會通過控制防禦類屬性的最大投放使其逼近一個小於100%的臨界值,一般爲60%或75%,這能夠避免不破防的問題,保證至少40%或25%的傷害。

dr''(d)<0,h''(d)=-a*dr''(d)>0:免傷率對臨界值的逼近是邊際遞減的,隨着防禦力的不斷增加,傷害的減小幅度越來越小,堆防禦的邊際收益遞減,這能夠促使玩家更加均衡地堆屬性。

pe可以是常數也可以與攻方等級、守方等級、攻方攻擊力等變量相關,下面舉幾個例子:


在遊戲《英雄聯盟》中,pe爲常數。此時會出現一個有趣的性質:有效生命值隨防禦的增加而線性增長。原因是有效生命值=實際生命值/(1-免傷率)=實際生命值/(pe/(d+pe))=實際生命值*(1+d/pe),pe取100的話防禦其實就是守方額外獲得的生命值加成百分比。

注:有效生命值(Effective HP,EHP)指實際生命值加上守方所有防禦類屬性(防禦、躲避、格擋、抗暴擊等)提供的等價血量。EHP=角色生存時長*(攻擊力*攻擊速度)=(實際生命值/(攻擊*(1-免傷率)*攻擊速度))* (攻擊力*攻擊速度)=實際生命值/(1-免傷率)。


在遊戲《原神》中,pe與攻方等級相關,PE=a*攻方等級+b。設l1表示攻方等級,dr'(l1)<0,h'(l1)=-a*dr'(l1)>0,在防禦不變的前提下,攻方等級越高,越能造成更大的傷害。在這一公式下,遊戲中存在等級壓制,這能夠製造出更強的成長感,比如《原神》中的世界boss,一開始等級遠高於玩家,壓迫感極強,後期卻不堪一擊。

在遊戲《魔獸世界》中,pe與守方等級相關,PE=a*守方等級+b。設l2表示守方等級,dr'(l2)<0,在防禦不變的前提下,守方等級越高,免傷率越低。在這一公式下,玩家等級越高,越要繼續堆防禦(不堆的話實際防禦力就會自動降低),從而給玩家提供了一個長線追求的點。

在遊戲《暗黑破壞神》中,pe與攻擊相關:PE=a*攻擊+b。對於上述其他公式來說,h''(a)=0,堆攻擊的邊際收益不變。但對於該公式來說,h''(a)>0,傷害隨着攻擊的增加而加速增長,堆攻擊的邊際收益遞增。這有利於攻擊方,常用於單機割草類PVE遊戲,對於PVP遊戲不友好,會放大玩家之間的差距導致角色生存時長不穩定。

從上面的分析中可以看到,不同的公式有不同的應用範圍,總結一下就是:

減法公式和pe包含攻擊的乘法公式做PVP會導致一些問題,一般都是做PVE,其中,減法公式適合比較硬核的PVE,pe包含攻擊的乘法公式適合割草類爽遊。

其他乘法公式做PVE和PVP效果都很好,其中,弱養成的PVP遊戲pe取常數就行,重養成又包含PVP的RPG一般會讓pe與角色等級相關聯。

注:實際遊戲中可以混合使用多種公式,比如在傳統RPG中,物理攻擊多爲近戰,技巧性強/不好躲,可以用減法公式,提高物防的收益讓玩家重視物防;法術攻擊多爲遠程,比較好躲,可以用乘法公式,讓玩家重視躲閃技巧而非靠法防硬上。

在一些遊戲中,爲了避免玩家進行一些和設計目的不符的行爲,或者爲了突出該玩法的設計特色和目標體驗,會對基礎的傷害計算公式進行一些調整,調整的方法是對玩家與目標數值之間的偏離進行懲罰:怪對玩家造成的最終傷害=原傷害*(1+f),f表示f((目標數值-玩家數值)/目標數值)或f(目標數值-玩家數值),前者懲罰的是相對偏離,後者懲罰的是絕對偏離。公式裏的目標數值取決於設計目的,對於考驗玩家的輸出能力的玩法,目標數值可以取目標攻擊力;對於考驗玩家生存能力的玩法,目標數值可以取目標防禦力…爲了防止玩家越級打怪,目標數值還可以取怪物等級。

此外,在一些遊戲中,爲了給玩家提供戰鬥的驚喜,會讓傷害在適當的範圍內進行浮動,浮動的方法是添加兩個參數——最大傷害係數和最小傷害係數,每次用傷害計算公式算完傷害後,在原傷害*最小傷害係數與原傷害*最大傷害係數之間隨機取一個數作爲最終傷害。

下面以《原神》爲例看一下實際遊戲裏的傷害計算公式。如下圖所示,《原神》採用乘法公式,共有七個乘區,前五個乘區用於計算“攻擊”,後兩個乘區用於計算“防禦”。

① 面板攻擊力=基礎攻擊力+攻擊力加成,基礎攻擊力=角色攻擊力+武器攻擊力,攻擊力加成=聖遺物主副詞條裏的攻擊力+基礎攻擊力*攻擊力百分比。部分角色(胡桃、一斗、阿貝多)的部分技能存在生命值上限或防禦力轉模的情況,這種情況下該乘區用的是生命值上限或防禦力而非攻擊力。

② 直接乘上對應的技能倍率就行,需要注意的是,對於落在該區的增傷類技能(如雲堇的飛雲旗陣),需要在“前臺角色面板數據*前臺角色技能倍率”的基礎上加上“增傷角色的面板數據*增傷技能的倍率”。

③ 增傷百分比=某元素傷害加成+物理傷害加成+其他傷害加成。其他傷害加成可能來自命座、武器特效、聖遺物特效、落在該區的增傷類技能(如莫娜的星異)。

④ 該公式是根據期望傷害得出的,未暴擊傷害*(1-暴擊率)+未暴擊傷害*(1+暴擊傷害)*暴擊率=未暴擊傷害*(1+暴擊率*暴擊傷害)。

⑤ 增幅反應總倍率=增幅反應基礎倍率*(1+元素精通加成+其他增幅反應加成)。增幅反應基礎倍率在後手元素剋制先手元素時取2,在先手元素剋制後手元素時取1.5。增幅反應元素精通加成=2.78*元素精通/(元素精通+1400)。

⑥ 一般情況下抗性免傷率=抗性;當抗性>75%時,爲了防止不破防的情況出現,抗性免傷率=抗性/(25%+抗性);當抗性<0時,爲了控制減抗的超額收益,抗性免傷率=抗性/2。

⑦ 防禦免傷率=守方防禦力/(守方防禦力+5*(攻方等級+100)),怪物防禦力=5*(怪物等級+100)*(1-減防百分比)。從公式中可以看到,當角色等級等於怪物等級且不存在減防時,防禦免傷率=50%。

《原神》中的元素反應除了增幅反應還有劇變反應,增幅反應體現的是一種相互排斥的剋制關係,因爲剋制所以造成了超額的攻擊傷害;而劇變反應體現的則是一種環境交互,反應作爲第三方主體對場上對象產生傷害。劇變反應傷害的公式如下:

① 劇變反應基礎傷害錨定角色等級,曲線關係是“分段線性+加速遞增”。


② 劇變反應總倍率=劇變反應基礎倍率*(1+元素精通加成+其他劇變反應加成)。劇變反應基礎倍率是:超導1,擴散1.2,感電2.4,超載4,綻放4,超綻放6,烈綻放6。劇變反應元素精通加成=16*元素精通/(元素精通+2000)。

3.2 戰力公式

戰力由生存時長反映,生存時長由戰鬥屬性、技能屬性(技能的規則設定,如增傷、閃現等)、玩家操作這三個因素決定,由於玩家的操作水平參差不齊,設計數值時一般只討論角色戰力,戰鬥公式也只包含戰鬥屬性和技能屬性這兩個影響因素。

戰力的計算可以分爲兩步,第一步把無法納入傷害公式的技能屬性轉化爲APS或EHP,思路是先拍腦袋定加成比例,形成一個加成比例表,後續不斷通過測試來調整這張表,並連帶修正所有影響到的技能。第二步根據戰力公式計算出角色戰力。

注:DPS一般指每秒造成的傷害,DPS=傷害*攻擊速度=攻擊*(1-免傷率)*攻擊速度;這裏新定義一個APS(attack per second)來表示每秒輸出的攻擊量,APS=攻擊*攻擊速度。

將無法納入傷害公式的攻擊類技能屬性轉化爲APS:

注:CD時間有很多種不同的計量方式,這裏假設技能一經釋放CD就開始轉。

增傷:假設該BUFF能在技能持續時間內增傷a%,則ΔAPS= 原APS*a%*min{持續時間/CD時間, 1}。一般來說BUFF類技能的ΔAPS會略高於直接傷害類技能,原因是在對方血量較少的情況下,放直接傷害類技能可能會造成秒殺,而放BUFF類技能對方卻有可能被隊友救下。故需要再給一個加成比例,ΔAPS=原APS*a%*min{持續時間/CD時間, 1}*(1+加成比例)。

減抗:先把減抗轉化成增傷,再用增傷的公式。

硬控(目標被控後不能進行任何行動):技能持續時間內己方的傷害就是技能增加的傷害,ΔAPS=原APS*持續時間/(CD時間-持續時間)。

軟控:例如“沉默”(對方只能普攻不能用技能),先將其轉化爲硬控,與該屬性等價的硬控的持續時間=軟控的持續時間-軟控的持續時間*對方普攻的APS/對方使用技能後的整體APS),然後再用硬控的公式。

施法時間:有施法時間的技能可能會被打斷,因此不能穩定地提供 APS,可以設計一個基於施法時間的負向加成比例,ΔAPS=Δh/CD時間*(1+施法時間*加成比例),Δh是該技能所提高的傷害。

施法距離:站得越遠越不容易受干擾,有效輸出時間越長,可以設計一個基於距離的加成比例,ΔAPS=(Δh/CD時間)*(1+距離*加成比例)。

元素附着:因爲後續可能會引發元素反應,可以設置一個加成比例,ΔAPS=Δh*(1+加成比例)/CD時間。

閃現:先拍腦袋定加成比例,ΔAPS=原APS*加成比例,後續測試的時候再觀察帶閃現的組的APS比不帶閃現的組高多少。或者將閃現和一定量的攻擊力作爲對照進行測試,如果兩個組戰鬥表現差異很大,就調整攻擊力的量重新測試,最終將閃現對標到一個合理的攻擊力區間。

將無法納入傷害公式的防血類技能屬性轉化爲EHP:

硬控/軟控:控制類屬性不僅可以當做攻擊類技能屬性轉化爲APS,也可以當做防禦類技能屬性轉化爲EHP。以硬控爲例,能夠減免的傷害比例=減免的傷害/總傷害=對方的APS*持續時間/對方的APS*CD時間=持續時間/CD時間,ΔEHP=原EHP/(1-持續時間/CD時間)-原EHP=原EHP*持續時間/(CD時間-持續時間)。

治療:以一次性治療爲例,ΔEHP=治療量*(生存時長/CD時間)。

在把技能屬性轉化爲APS或EHP後,即可通過戰力公式計算角色戰力。計算戰力的公式五花八門,這裏列舉兩種最常見的:


公式一:戰力=∑屬性i的數值*屬性i的價值。

屬性價值可以理解爲該戰鬥屬性對角色戰力的貢獻大小,對於屬性價值的確定,不同的書有不同的方法,這裏演示其中一種。設生命值的屬性價值爲1,t表示生存時長,v表示攻擊速度,dr表示免傷率,h表示一次攻擊所造成的傷害,a表示攻擊力,d表示防禦力,x1...表示其他能夠影響傷害的屬性,則:

t=HP/DPS=HP/(v*h(a,d,x1...))→HP= t*v*h(a,d,x1...)→HP對影響h的各個屬性求偏導,結果如下:

HP'(a)=t*v*h'(a):若攻方增加1點攻擊力,守方必須同時增加t*v*h'(a)點生命值才能保證生存時長不變,故1點攻擊力和t*v*h'(a)點生命值的價值相同,攻擊力的屬性價值爲t*v*h'(a)。

HP'(d)=t*v*h'(d):若守方增加1點防禦力,其必須同時減少|t*v*h'(d)|點生命值才能保證生存時長不變,故1點防禦力和|t*v*h'(d)|點生命值的價值相同,防禦力的屬性價值爲|t*v*h'(d)|。

…(HP對等其他屬性求偏導,得出這些屬性的屬性價值)

t=HP/DPS=HP/(APS*(1-dr))→HP=t*APS*(1-dr)→HP對APS求偏導,結果如下:

HP'(APS)=t*(1-dr):1單位APS的價值爲t*(1-dr),由此可以得出之前轉化爲APS的技能屬性的價值,即ΔAPS*t*(1-dr)。(之前轉化爲EHP的技能屬性的價值爲ΔEHP*1)

從上面的演算示例中可以看到,屬性價值並不是一成不變的,而是隨着t、v等變量的變化而變化,如果用變化的屬性價值來計算戰力,則每次算戰力之前都得先算一次屬性價值,非常麻煩。而如果用固定的屬性價值來計算戰力,雖然計算很方便,但算出的戰力卻是不準確的,例如,代入畢業數值所求得的暴擊率的屬性價值是很高的,但前期由於玩家的攻擊力很低,暴擊率能提供的收益很小,用固定的屬性價值去算前期的角色戰力時,往往會導致算出的戰力虛高。一個解決的辦法是,根據集中投放屬性的節點將養成劃分爲幾個階段,每個階段求一次屬性價值,從而減少一些誤差。

除了屬性價值會變化的問題,這一戰力公式的結構也有問題,加法的結構使得即使攻和血中有一個爲0,只要另一個夠大,角色還能有不俗的戰力,顯然不合常理。

公式二:戰力=EHP*APS。

設t表示生存時長, dr表示免傷率,則t=HP/DPS=EHP/APS,故:

比較A與B的戰力 ⇔ 比較A與B的生存時長 ⇔ 比較A的EHP/B的APS與B的EHP/A的APS的大小 ⇔ 比較A的EHP*A的APS與B的EHP*B的APS的大小,故可以令戰力=EHP*APS。

注:之所以不直接用t=HP/DPS,是因爲DPS不僅與攻方的攻擊類屬性有關,還與守方的防禦類屬性相關,僅靠一方的屬性求不出HP*DPS。

一般來說EHP*APS會是一個非常大的數值,不利於觀察比較,可以定義一個相對戰力來輔助理解,相對戰力=戰力/戰力基準,戰力基準取某個基準小怪的戰力。相對戰力爲3表示在戰鬥中連續單挑3個基礎怪物後會被殺死,假定一個首領怪的相對戰力爲5,兩個相對戰力爲3的玩家組隊即可通關。

與公式一相比,這一戰力公式更自然也更準確,如果A的戰力大於B的戰力,則A的生存時長必然大於B的生存時長,相對戰力的意義還要更加直觀(詳見上文)。此外,乘法的公式結構使得攻和血都不能太小,兩類屬性比較均衡時戰力最大。

3.3 職業設計

參照1.2中給出的三個步驟:


STEP1明確求解對象:職業設計要給出的是每個職業的每個戰鬥屬性相對於標準裸體人(不帶任何武器裝備的標準人)屬性的換算係數,某職業某屬性的投放量=標準裸體人該屬性的投放量*相應的換算係數。

STEP2明確設計需求:職業設計的設計需求是保證各個職業戰力平衡。

STEP3求解:基本思路是先根據每個職業的特點給出基礎屬性和技能屬性,然後根據“該職業的戰力=標準裸體人的戰力”這一設計需求對給出的基礎屬性和技能屬性進行整體放縮,得到最終的換算係數。


3.4 怪物設計

參照1.2中給出的三個步驟:


STEP1明確求解對象:怪物設計要給出的是每個怪物的每個屬性相對於玩家屬性的換算係數,某怪物某等級某屬性的數值=對應等級下玩家的該屬性數值*相應的換算係數。值得注意的是,怪物屬性對標的是玩家屬性而不是標準人的屬性投放,因爲大部分玩家並不能獲取全部投放,玩家的屬性數值=標準人的屬性投放*預估的玩家平均獲取比例。預估的玩家平均獲取比例也可以估得細一點,即,分別估一下每個投放渠道玩家的獲取比例,然後乘以該渠道的投放再彙總,這樣後期驗證和修正的時候也更方便。

注:由於玩家的屬性數值是在不斷成長的,一般會把怪物等級與角色等級對應起來,也可以對標遊戲中的其他等級,只要這些等級能索引出玩家的屬性數值即可,比如《魔獸世界》中怪物等級對標的是玩家的裝備評分等級(一個戰力指標),《原神》中怪物等級對標的是世界等級(世界等級的突破需要打通特定副本,故世界等級間接反映了玩家的戰力水平)。

STEP2明確設計需求:怪物設計的設計需求是怪物生存時長和玩家生存時長之間的比例,這一比例的直觀意義是“一個玩家能挑幾個怪”。該比例可以用戰力比來反映,因爲在應用公式二的前提下,怪物生存時長/玩家生存時長=怪物的戰力/玩家的戰力,也可以用損血期望(玩家殺一個怪所損失的血量百分比)來反映,因爲損血期望=怪的DPS*怪的生存時長/玩家的HP=怪物的生存時長/玩家的生存時長。

STEP3求解:基本思路是先根據每個怪物的特點給出基礎屬性和技能屬性,然後根據對戰力比/損血期望的設計要求對給出的基礎屬性和技能屬性進行整體放縮,得到最終的換算係數。

3.5 戰鬥測試

戰鬥測試就是通過內部測試和公開測試驗證設計需求的實現情況,並根據測試結果進行數值調優的過程。

內部測試一般有三種方法:VBA模擬,真實遊戲模擬,AI大數據模擬。其中,VBA模擬適用於簡單的戰鬥,是戰鬥模型要過的第一關;真實遊戲模擬用貼近上線後真實情況的遊戲原型做測試,是複雜戰鬥必不可少的驗證環節;AI大數據模擬指用高智能AI模仿真實玩家進行大量戰鬥並生成海量參考數據,目前應用得很少。

公開測試主要指遊戲的測試服測試,通過測試數據和玩家反饋驗證設計需求的實現情況以及玩家對設計細節的接受程度,進一步優化數值模型。此外,遊戲正式上線後的戰鬥數據和玩家反饋也可以看做一種公開測試,能夠對之後版本的設計起到一定指導作用,少量情況下,還可對已上線的數值進行調強或暗中削弱。

調數需要大量經驗積累,但VBA模擬卻是可以快速學習的技能,因此這裏主要討論VBA模擬器的寫法,基本步驟如下:

STEP1:定義玩家類,技能類,實例化玩家數組和技能數組,聲明其他要用到的公共變量。

STEP2:編寫主過程,內部順序爲初始化→{CD計算→技能檢測→傷害計算→死亡判斷},大括號表示循環,如果死亡則用End結束程序。每100ms進行一次循環就行,因爲人的平均反應時間在300ms,極限反應時間也不低於100ms。

STEP3:編寫初始化模塊,要實現的功能是數據載入→清除之前的戰鬥日誌→清除技能CD→顯示hp和mp等信息。

STEP4:編寫CD計算模塊,循環所有技能,當冷卻時間爲0時不作處理,當冷卻時間大於0時減少100ms的冷卻時間。如果有公共CD還要再循環一遍公共CD。

STEP5:編寫技能檢測模塊,循環所有角色,針對每個角色循環其所有技能,如果技能冷卻時間爲0且當前mp大於技能所需mp,則給攻方、守方、攻擊技能這幾個公共變量賦值→重置技能CD和公共CD→進入傷害計算模塊→跳出當前的技能循環(對於同一個玩家,一回合只能出一個技能)。

STEP6:編寫傷害計算模塊,基本流程是判斷命中/暴擊(逐層法/圓桌法)→計算傷害/治療→輸出戰鬥日誌(某某時間,某某的某技能對某某造成多少點傷害)→計算新的mp和hp,若計算結果小於0則令hp爲0→顯示新的mp和hp,如果守方死亡則在日誌中輸出死亡時間和死亡者。其中像“判斷命中/暴擊”和“計算傷害/治療”這種比較複雜的步驟也可以單獨封裝爲函數。

在傷害計算模塊中,計算傷害之前要先判斷本次攻擊的概率判定情況(命中/格擋/暴擊等),一般來說有兩種判定方法——逐層法和圓桌法。假設傷害流程中共有三個需要判定的概率:命中率70%→格擋率8%→暴擊率10%,則兩種判定方法的判定過程如下:

逐層法:實際發生未命中的概率=1-70%=30%,實際發生格擋的概率=70%*8%=5.6%,實際發生暴擊的概率=70%*(1-8%)*10%=6.44%,實際發生普通攻擊的概率=100%-30%-5.6%-6.44%=70%*(1-8%)*(1-10%)=57.96%。優先極高的判定獲益更高,處於低優先級的判定在計算其實際概率時,總要乘上若干個(1-n%)的因子,使之低於原始概率數字。優先級越低,這種衰減就越嚴重。

圓桌法:實際發生未命中的概率=1-70%=30%,實際發生格擋的概率=8%,實際發生暴擊的概率=10%,實際發生普通攻擊的概率=100%-30%-8%-10%=52%。如果未命中率和格擋率各自提高1%,暴擊率還是10%,普通攻擊減少爲50%,所有除普通攻擊外的判定概率在普通攻擊被擠出圓桌前都是不會相互影響的。如果各自提高30%,普通攻擊被擠出圓桌,暴擊率就會減少爲2%,在圓桌計算中優先級仍然存在,優先級低的判定會被率先擠出圓桌。

圓桌計算適合嚴格控制投放的模型,對概率值的變化很敏感,長期投放更適合用逐層計算,低優先級的屬性可以投放很高的百分比數值,優先級越低,投放的值域範圍就越大。

4 RPG數值——經濟

所謂經濟就是資源管理,在RPG遊戲中,資源由玩法模塊產出再由養成模塊消耗,形成了完整閉環的I/O結構。經濟數值的設計目的就是規劃好遊戲中資源的消耗與產出,同時建立一套價值體系來衡量不同資源的價值。設計思路如下:

STEP1:確定資源流轉結構。確定每個養成渠道消耗哪些資源、每個玩法模塊產出哪些資源,畫出資源流轉結構圖或黑點結構圖。

STEP2:細化消耗模型的數值。確定每個養成渠道下每個被消耗資源的消耗曲線,結合2.1中規劃好的成長節奏推出每個資源的日消耗量。

STEP3:細化產出模型的數值。確定每個資源的產出在不同玩法間的分配比例,結合第二步中得到的日消耗量推出每個資源在每個玩法上的日產量,再結合每個玩法每天的遊玩次數推出每個玩法每次的具體產出數值。

STEP4:建立資源的價值體系。用資源價值作爲橋樑把戰力收益和時間成本聯繫起來,求出養成性價比、玩法性價比和潛在付費深度。

在做經濟數值之前,還需要明確一下游戲的經濟類型,常見經濟類型如下:

計劃經濟:只允許玩家與系統交易,缺點是玩家之間的交互性差,遊戲內的社區性會下降,適合偏單機的遊戲,如《原神》。

市場經濟:允許玩家之間自由交易,系統不參與。缺點是存在價格崩盤和遊戲內容迅速消耗的風險,工作室、遊戲商人等黑色產業也很容易滋生,對運營控制的要求極高,一旦崩盤玩家將快速流失,遊戲壽命將大幅縮短。基本沒有遊戲是純市場經濟。

計劃經濟+市場經濟:允許玩家間交易,但系統進行宏觀調控。有一定交互性,風險也比市場經濟小,適合絕大多數MMORPG,如《夢幻西遊》。

如果是純粹的計劃經濟,按照前述的設計思路建表即可。如果加入了市場經濟,則還需要重點考慮以下兩個設計難點:

盤活玩家交易:雖然遊戲中會自然發生交易(例如,有時間沒錢的玩家生產大量基礎材料賣給有錢沒時間的玩家,高等級玩家淘汰的裝備道具賣給低等級玩家),策劃仍可以通過複雜化生產端的方式進一步盤活交易,即,設計大量產出不同的玩法,玩家無法兼顧所有的玩法,自然會通過交易來獲取資源,《夢幻西遊》就是用的這種方式。

控制物價風險:控制物價最根本的是擴大消耗,因爲隨着運營時間的增長,產出會一直增加,消耗端不變的話一定會通脹,故需要持續不斷地通過提高現有養成渠道等級上限或引入新養成渠道的方式製造新的消耗。設計養成渠道時需要讓其容納儘可能多的消耗,可以通過低概率極品的方式,比如《夢幻西遊》的煉妖系統,《原神》的聖遺物系統,通過概率設計使得數值追求變得幾乎無上限,養成深度大大加深。此外,爲了緩解經濟週期的波動、控制囤貨炒作等操縱市場的行爲,系統也需要對物價進行暴力干涉,手段有:限制個人每日的可交易遊戲幣上限、交易後物品需要凍結一段時間才能再次交易、交易價格區間限制、系統以設定好的價格參與買賣等。

4.1 資源流轉結構

遊戲中的資源可以分爲養成類資源和玩法類資源,由於玩法類資源不在覈心的I/O循環裏,設計玩法系統時單獨設計即可。這裏主要討論養成類資源。

資源流轉結構是指遊戲中資源流轉的路徑。設計時一般從養成模塊逆推,先回答“每個養成渠道消耗哪些資源”,再回答“每個玩法模塊產出哪些資源”,原因是設計遊戲時一般會優先設計養成模塊,且設計完成後基本不會再做調整。

資源流轉結構有兩種表示形式,一種是資源結構流轉圖,另外一種是黑點結構圖。黑點結構圖又可以分爲消耗黑點結構圖和產出黑點結構圖。

以遊戲《原神》爲例,不考慮塵歌壺等相對比較邊緣的系統,其資源結構流轉圖如下圖所示:

可以看到,資源流轉結構圖只適合比較簡單的經濟系統,遇到《原神》這樣稍微複雜一點的系統後就會變得特別亂,因而更常用的其實是黑點結構圖。《原神》的消耗黑點結構圖如下圖所示:

《原神》的產出黑點結構圖如下圖所示:

4.2 消耗模型

細化消耗模型一般分爲兩步,第一步確定每個養成渠道下每個被消耗資源的消耗曲線,第二步結合2.1中規劃好的成長節奏推出每個資源的日消耗量。

注:由於橫向收集型養成並不消耗資源,消耗模型只關乎縱向數值型或混合式的養成方式。

確定消耗曲線:

消耗曲線就是資源消耗量關於渠道等級的函數,一般來說每一級的消耗都是遞增的,區別只在於遞增的方式。加速遞增比線性遞增更爲常見,前期用小額消耗製造高頻反饋從而吸引玩家,後期用鉅額消耗保證養成深度。

以《原神》爲例,其各資源的消耗曲線如下圖所示(筆者自己的粗略反推,不代表真實情況):

4.3 產出模型

細化產出模型一般分爲兩步,第一步確定每個資源的產出在不同玩法間的分配比例,第二步結合消耗模型中的日消耗量和每個玩法每天的遊玩次數推出每個玩法每次的具體產出數值。

確定產出分配比例:

其實就是把產出黑點結構圖中的黑點換成分配比例。給比例的時候要注意給那些核心的、耗時長的、可玩次數少的玩法分配更高的比例,否則會出現激勵扭曲,即,玩家爲了高獎勵去玩一些不重要也不有趣的玩法,進而厭煩遊戲。此外,要儘量使每個資源的產出都集中在少數玩法上,每個玩法的產出都以少數資源爲重心,形成資源與玩法的強對應,從而降低玩家的理解成本,促使玩家更有針對性地去做某件事,目標更明確。

以《原神》爲例,其產出分配比例大致如下圖所示(筆者自己的粗略反推,不代表真實數據):

可以看到,《原神》中的每個資源都有1-2兩個最主要的來源(紅字部分),冒險閱歷主要來自每日委託,摩拉主要來自藏金花和運營活動,原石主要來自每日委託和運營活動,經驗書主要來自啓示花,鍛造石主要來自每日委託…比例框架中蘊涵着資源與玩法的強對應關係,降低了玩家的理解成本。值得注意的是,《原神》給每日委託和運營活動這兩個非核心也不那麼有趣的玩法分配了較高的產出比例,這可能會產生一定程度的激勵扭曲,是其作爲長線運營遊戲,爲保證月活與日活的無奈之舉。

推出單次產出數值:

某玩法每次的A資源產出=A資源的平均日消耗量*A資源對該玩法的產出分配比例/該玩法每天的遊玩次數。實際計算並沒有這麼簡單,因爲會有一些需要控制的設計需求,例如:

固定產出和隨機產出的比例:如果事先設定了固定產出和隨機產出的比例(這一比例對於不同的玩法可能不同),則某玩法每次的A資源固定產出= A資源的固定產出比例*A資源的平均日消耗量* A資源對該玩法的產出分配比例/該玩法每天的遊玩次數。

可流通產出和不可流通產出的比例:如果事先設定了可流通產出和不可流通產出的比例(這一比例對於不同的玩法可能不同),某玩法每次的A資源可流通產出= A資源的可流通產出比例*A資源的平均日消耗量* A資源對該玩法的產出分配比例/該玩法每天的遊玩次數。

針對不同程度付費玩家的投放比例:不同程度付費玩家的成長節奏是不一樣的,因而資源的日消耗量和單次產出量也是不一樣的,需要對免費玩家的單次產出量進行放大。

4.4 價值體系

所謂建立資源的價值體系就是確定遊戲中各個資源的價值。把I/O模型當做一個整體來看,玩家付出的直接成本是時間,獲得的最終收益是戰力,玩家在玩法模塊付出時間成本獲取一定價值的資源,在養成模塊付出一定價值的資源獲得戰力收益,資源作爲連接時間成本和戰力收益的橋樑,其價值的衡量顯然有兩個思路:

用戰力收益衡量資源的價值(從養成模塊向玩法模塊逆推):假設每點戰力的價值爲n,資源A,資源B,資源C…的價值分別爲a,b,c…。挑選部分養成渠道,令升級的成本與收益相等,可得方程組:某養成渠道升級所提高的戰力*n=該養成渠道升級所需的A資源個數*a+該養成渠道升級所需的B資源個數*b+…,解多元方程組即可得到每個資源的價值。

用時間成本衡量資源的價值(從玩法模塊向養成模塊正推):假設每小時時間價值爲m,資源A,資源B,資源C…的價值分別爲a,b,c…。挑選部分玩法,令遊玩的成本與收益相等,可得方程組:某玩法完成一次所花的時間*m=該玩法產出的A資源個數*a+該玩法產出的B資源個數*b+…,解多元方程組即可得到每個資源的價值。

注:實踐中思路一用得更多,原因是設計遊戲時一般會優先設計養成模塊,且設計完成後基本不會再做調整。

建立資源的價值體系有兩個最主要的用途,一是衡量不同養成渠道、不同玩法的性價比,二是預估遊戲的付費深度。

計算性價比:

玩法性價比=該玩法產出的資源收益/該玩法耗費的時間成本,玩法性價比一般用於對比不同玩法的划算程度,不同玩法的性價比應當儘可能均衡,差異過大的話部分玩法將會變成雞肋。此外,越核心越有趣的玩法,其性價比也應當越高,否則會出現激勵扭曲,即,玩家爲了高獎勵去玩一些不重要也不有趣的玩法,進而厭煩遊戲。

需要計算的養成性價比有兩種,一是養成渠道整體的性價比,渠道整體性價比=該渠道獲取的所有戰力收益/該渠道消耗的所有資源成本,渠道整體性價比一般用於對比不同養成渠道的划算程度,不同養成渠道的性價比可以不用那麼均衡,渠道間的性價比差異可以使遊戲的養成模塊整體呈現出邊際收益遞減的趨勢,從而適配不同深度的玩家。二是性價比曲線,算出渠道內每一次升級的性價比並將其繪製成一條曲線,性價比曲線一般用於觀察某個養成渠道內部的性價比趨勢,根據2.2的討論,屬性成長一般都是線性的,即每一級增加的戰力是相等的,而根據4.2的討論,每一級消耗的資源卻是遞增的,故性價比曲線大都呈現波動遞減的趨勢,這能夠在遊戲初期給到玩家最大的收益刺激,從而吸引更多的玩家。

注:在確定資源價值時如果採用了思路一,則對於那些被挑選的養成渠道,其性價比一定爲1,其他養成渠道的性價比會在1附近波動,玩法性價比的量級取決於n的大小,爲了方便觀察,最好通過取合適的n讓玩法性價比也在1附近波動。如果採用了思路二,則對於那些被挑選的玩法,其性價比一定爲1,別的玩法的性價比會在1附近波動。養成性價比的量級取決於m的大小,爲了方便觀察,最好通過取合適的m讓養成性價比也在1附近波動。

預估付費深度:

遊戲付費可以分爲養成模塊付費(購買養成資源)和玩法模塊付費(購買玩法資源)。RPG遊戲大都以養成模塊付費爲主,付費深度=∑養成渠道i所消耗的全部資源的價值*養成渠道i預設的付費比例。

更多遊戲資訊請關註:電玩幫遊戲資訊專區

電玩幫圖文攻略 www.vgover.com