當前位置: 華文星空 > 電競

在英雄聯盟中為什麽要分上單,中單,打野,ADC和輔助這些角色?能證明這種陣容比其他陣容更有效嗎?

2017-02-05電競

謝邀,首先覺得這是一個數學問題,完全可以使用模型來解決。有兩種研究思路,一種是基於數據模型,透過大量的對戰數據分析,證明不同陣容的勝率是否存在差異。另一種是基於一定的假設,建立機理分析模型,將對戰雙方體系看成一個微分動力學系統,並進行模型求解。前者比較簡單,得到的結論也真實直觀;後者相對復雜,但是可以更深入問題實質。

英雄聯盟作為一個團隊遊戲,顯然,該問題的實質是探討不同協同作戰組合的效率,並基於模型求解的結果選擇最優組合。這可以建立一個運籌最佳化模型。不過由於此問題太過復雜,進行適當的簡化也是非常必要的。

下文是本人於2015年十一假期期間完成的一篇探討該問題的學術論文(全文撰寫大概花了3-4天),文中討論了協同作戰的蘭徹斯特方程式,並基於該方程式建立了一個例項模型,模型比較簡單,後續研究可以在此基礎上更加深入(本人一沒時間,二沒經費,只能放棄)。

註:該論文曾經投到了一篇國內的套用數學類雜誌,一審稿人贊賞有加,另一審稿人只說寫的不深入,沒提具體意見。修改後覺得投出去也沒意思(畢竟該論文對我畢業沒任何用處),撤稿後讓該論文在硬碟裏睡了一年多,如今拿出來,或許能為該問題的回答提供個方向。

轉發請務必註明出處!!!請勿將本文內容摘抄發表,侵權必究。

(感謝@張浩馳 在本文上傳過程中,對論文格式做的辛勤修改)


=============================分割線=============================

基於蘭徹斯特方程式的多人線上競技遊戲研究

摘要: 針對當前多人線上競技遊戲普遍缺乏定量描述的數學模型這一問題,首先使用經典蘭徹斯特方程式對遊戲雙方的獲勝概率進行初步探討。基於多元蘭徹斯特方程式,並考慮遊戲玩家之間的協同配合因素,建立描述多人線上競技遊戲對戰過程的微分方程式模型。透過使用Vensim軟件對多人線上競技遊戲「英雄聯盟」進行系統動力學模擬,可以形象地展現遊戲行程並進行結果預測。

關鍵詞: 蘭徹斯特方程式;多人線上競技遊戲;協同配合;系統動力學

0 引言

隨著經濟的發展和網絡的普及,網絡遊戲逐漸成為人們業余生活中消遣的重要形式之一,據有關部門估計,2014年中國網絡遊戲市場規模已達1108.1億元,首次突破千億元大關,並連續多年保持12% 以上的增長,是一個目前正蓬勃發展的朝陽產業[1]。與傳統觀念中網絡遊戲僅僅是娛樂活動不同,其競技性開始逐漸被人所重視,2003年11月18日,經國家體育總局正式批準,電子競技被列入中國第99個正式體育競賽專案[2]。經過十余年的發展,各項電子競技比賽正如火如荼地開展,但傳統觀念中電子競技比賽的勝負往往被認為只與雙方選手的經驗和操作熟練度有關,缺乏使用數學模型對遊戲本身的研究。

在諸多網絡遊戲中,多人線上競技遊戲占據了網遊市場相當大的比重,其中,拳頭公司開發的網絡遊戲「英雄聯盟」平均每天的玩家數量超過2700萬,是目前玩家最多的網絡遊戲[3]。建立數學模型對該類遊戲的攻防策略與勝負關系進行探討,不僅能使玩家增進對遊戲的理解,也可推動遊戲的不斷研發升級。由於多人線上競技遊戲(特別是其中的推塔類遊戲)以擊殺敵方角色並摧毀敵方建築(如防禦塔)為目的,因此,基於傳統戰爭分析中常用的蘭徹斯特方程式,結合不同遊戲本身的特性建立數學模型,無疑是解決此類問題的最佳方法之一。

1 經典蘭徹斯特方程式簡介

蘭徹斯特方程式最早是由英國工程師F.W.Lanchester 在第一次世界大戰期間提出的,用於研究戰爭模型確定性解的問題。該模型的假設非常簡單,只考慮作戰雙方兵力數量和戰鬥力的強弱。由於蘭徹斯特方程式沒有考慮作戰雙方政治、經濟等因素,因此只對單一的局部戰役的討論有意義。使用蘭徹斯特方程式,成功地分析和預測了歷史上一些著名的戰役和戰爭,其中包括越南戰爭和美日硫磺島之戰[4]。經典蘭徹斯特方程式對近代戰爭中兩種情況分別進行研究,第一種模型稱為平方率模型,該模型假設戰鬥雙方完全暴露在對方視野下,且可以及時將火力從已經擊毀的目標轉移到未擊毀的目標上,該模型一般適用於分析正規戰,平方率方程式為[5]

\frac{dx}{dt}=\begin{cases} -ay,x>0,x(0)=x_{0}\\ 0,x=0 \end{cases}

\frac{dy}{dt}=\begin{cases} -bx,y>0,y(0)=y_{0}\\ 0,y=0 \end{cases} (1)

透過分析可得,雙方平局條件為b(x^2-x_{0}^{2})=a(y^2-y_{0}^{2}) ,其中,x ,y 分別表示作戰雙方甲、乙的兵力數量,a 表示乙方每個作戰單位對甲方作戰單位的殺傷率,稱為乙方單位的作戰效能(或戰鬥有效系數、損耗率系數、毀傷系數等),同理,b 為甲方單位的作戰效能。

蘭徹斯特方程式研究的第二個模型為線性率模型,該模型假定作戰雙方不能及時獲取敵方目標的資訊,因此攻擊具有一定的隨機性。己方兵力的損失不僅與對方兵力有關,也與單位面積上的己方兵力數量有關。顯然,該模型更適用於遊擊戰。線性率方程式為˜

\frac{dx}{dt}=\begin{cases} -cxy,x>0,x(0)=x_{0}\\ 0,x=0 \end{cases}

\frac{dy}{dt}=\begin{cases} -dxy,y>0,y(0)=y_{0}\\ 0,y=0 \end{cases} (2)

透過分析可得,雙方平局條件為,x ,y 的定義同上,c 表示乙方單位的作戰效能,d 表示甲方單位的作戰效能。

2 基於蘭徹斯特方程式的多人線上競技遊戲對戰模型

2.1 多人線上競技遊戲對戰模型的簡單探討

上文對經典蘭徹斯特方程式進行了簡要介紹,該模型是針對近代戰爭中兩種不同的作戰形式分別建立的。多人線上競技遊戲與蘭徹斯特方程式所描述的戰爭場景有諸多相似之處,為了更具體地進行探討,不妨以當前最為流行的推塔類網絡遊戲「英雄聯盟」為例,探討兩者之間的相似性。

「英雄聯盟」遊戲的對戰雙方分別為藍方和紫方,每方擁有11個防禦塔,3個召喚水晶和1個水晶樞紐,遊戲的獲勝條件為摧毀對方的水晶樞紐。「英雄聯盟」遊戲地圖如圖1所示(圖片來自維基百科)。對戰雙方各有5名玩家分別控制5個不同的「英雄」,比賽中本方5名玩家需要協同配合,透過擊殺敵方英雄、小兵和野怪獲取金錢,不斷更新裝備並摧毀敵方建築物,最終取得比賽的勝利。比賽中,一方取勝的關鍵點往往在於一次「團戰」(即有多名雙方「英雄」參與的戰鬥)的勝利。「團戰」的勝負與雙方「英雄」的裝備、玩家的操作熟練度和所控制的遊戲地圖的視野等因素有關。其中,前兩項因素可以對應於蘭徹斯特方程式中的作戰效能系數,而後一項可對應與蘭徹斯特模型中的不同作戰類別(正規戰與遊擊戰)。

圖1 「英雄聯盟」對戰地圖

下面基於蘭徹斯特方程式對「英雄聯盟」遊戲中的「團戰」進行分析,為簡化模型,忽略某一方5名「英雄」之間的個體差異,認為每個「英雄」均代表了該方玩家的平均水平。在比賽中,團戰往往在地圖視野明亮的地方開展,雙方均可以看到敵方單位的動向,並可以及時將火力從已摧毀的敵方單位身上轉化到尚未摧毀的敵方單位上,因此,遊戲中的「團戰」顯然更接近與蘭徹斯特平方率模型。在某一次「團戰」中,若甲乙雙方投入的兵力數量不等,在此種條件下,根據方程式(1),透過分析蘭徹斯特平方率模型的相軌線[4],可以得到乙方獲勝的條件為

\left(\frac{y_{0}}{x_{0}}\right)^{2}> \frac{b}{a} (3)

根據(3)式,若在遊戲的某次「團戰」中,乙方由於種種原因僅僅有4名「英雄」參戰,而甲方有5名,則此時y_0/x_0=0.8 ,乙方若想取勝,必須滿足的條件是a>1.5625b 。也就是說,此時乙方每個英雄在單位時間內的作戰效能要達到甲方的1.5625倍,這是一個很大的差距,需要乙方每名玩家得到巨大的裝備優勢和嫻熟的操作熟練度的情況下才有可能完成。在實際遊戲對戰中,經常會遇到某方有一名玩家掉線的情況,在該種情況下,透過數學模型分析可知,另外4名玩家將很難取得比賽的勝利。此外,上述分析還說明了在某方裝備和操作技術落後的情況下,5名玩家采取「抱團」的方式往往更容易取得對戰的優勢。

2.2 多元蘭徹斯特方程式在多人線上競技遊戲對戰模型中的套用

2.2.1 多元蘭徹斯特模型

本文在2.1的討論中忽略了各方5名「英雄」之間的個體差異,該假設在分析一般的多人線上競技遊戲時顯得比較粗糙。由於一般情況下,各方選定的不同角色在對戰時有著不同的特性和分工,因此,各個「英雄」之間的個體差異必須考慮。

為解決上述問題,可以將遊戲雙方的10名「英雄」分別看成10個作戰單位,其中本方的5名「英雄」之間為協同作戰關系。紫方的5個作戰單位分別表示為P_1,P_2,\cdots ,P_5 ,作戰效能分別為\alpha_1,\alpha_2,\cdots ,\alpha_5 ;藍方5個作戰單位分別表示為B_1,B_2,\cdots ,B_5 ,作戰效能分別為\beta _1,\beta _2,\cdots ,\beta _5 。考慮到每個作戰單位並不是平均攻擊每個敵方目標,也不是只攻擊某一個敵方目標,因此,可以假定藍方的第j 個「英雄」對紫方第i 個「英雄」的攻擊力分配系數為\phi _{ji} ,紫方第i 個「英雄」對藍方第j 個「英雄」的攻擊力分配系數為\varphi _{ij} 。基於以上假設和定義,可以建立多元蘭徹斯特方程式[6]為

\begin{cases} \frac{dP_{i}}{dt}=-\sum_{j=1}^5\phi_{ji}\beta_{j}B_{j}\\ \frac{dB_{j}}{dt}=-\sum_{i=1}^5\varphi_{ij}\alpha_{i}P_{i} \end{cases} (4)

其中,P_i 可以代表紫色方第i 個「英雄」的血量,當血量降為0時,該「英雄」被擊殺。同理,B_j 表示藍色方第j 個英雄的血量。透過多元蘭徹斯特方程式,更科學地分析多人線上競技遊戲中各個作戰單位的相互關系,從而建立更加精確的模型。

2.2.2 基於協同配合的多元蘭徹斯特方程式在多人線上競技遊戲中的套用

在多人線上競技遊戲比賽中,各方的不同作戰單位之間屬於協同配合關系,由於在協同作戰的過程中,己方可以透過相互配合消耗對方的作戰效能系數,由此產生的己方損耗的減少可以等價為己方血量的增加[7]。因此,可以將協同配合的這部份作用以加和的形式體現在多元蘭徹斯特方程式中,建立反映協同配合效應的多元蘭徹斯特方程式為

\begin{cases} \frac{dP_{i}}{dt}=-\sum_{j=1}^5\phi_{ji}\beta_{j}B_{j}+\sum_{k=1}^5p_{ki}P_{k}P_{i}(k=i,p_{ki}=0)\\ \frac{dB_{j}}{dt}=-\sum_{i=1}^5\varphi_{ij}\alpha_{i}P_{i}+\sum_{z=1}^5b_{zj}B_{z}B_{j}(z=j,b_{zj}=0) \end{cases} (5)

在上式中,p_{ki} 和b_{zj} 分別表示紫方和藍方各「英雄」間的協同配合系數,該系數越高,反映了隊伍中不同玩家之間的配合嫻熟程度。由該方程式可以看出,在多人線上競技遊戲中,玩家之間的相互配合對比賽的勝利起到了非常重要的作用。

2.2.3 模型參數確定方法的初步探討

以上討論了考慮協同配合的多元蘭徹斯特方程式,並將其套用到了多人線上競技遊戲「英雄聯盟」中,建立了較為完備的數學模型。但是,該模型中含有多個未知參數,而對於不同「英雄」和不同的遊戲對局,這些參數的取值將會不同。截止2015年10月1日,「英雄聯盟」已開發出126個「英雄」角色,這些「英雄」具備不同的特性和技能,需要考慮不同「英雄」之間協同配合的組合數。由於每局比賽每方需要選擇5名不同「英雄」,因此任一方都將會產生126!/121! 種不同選取組合,要準確確定每種組合之間的參數數值是很困難的,在實際套用中也沒有必要。針對多人線上競技遊戲中常見的對局組合和場景,本文對一種比較簡化的遊戲對戰情形進行具體的參數探討。

「英雄聯盟」遊戲中的5名英雄一般可分為五類角色,分別是上單、打野、中單、ADC和輔助,其中每類角色都對應著若幹相對固定的英雄選擇。為簡單起見,本文考慮一次雙方分別僅有兩個「英雄」參與的團戰:假定某次團戰中,對戰雙方分別僅有ADC和輔助參與,其他遊戲角色相距較遠且不對團戰結果產生影響。在「英雄聯盟」遊戲中,ADC的作用相當於火力輸出核心,射程遠且對敵方單位造成的傷害高,但由於自身的血量較少,容易被對方擊殺;輔助的作用則主要是保護ADC不被敵方單位擊殺和控制遊戲視野,其自身攻擊力較低但血量相對較高,且一般擁有控制技能。

設方程式(5)中的P_1,P_2 分別表示紫方ADC和輔助,B_1,B_2 分別表示藍方ADC和輔助。在實際的遊戲對戰中,作戰效能系數可以認為是單位時間內一方「英雄」單位血量對另一方「英雄」造成的傷害值,該值的大小與「英雄」的攻擊力大小和攻擊速度都有關系。從(5)式中可以看出,單位時間內一方ADC對敵方「英雄」造成的傷害與該ADC的血量成正比,這一假定看似並不科學,但是考慮到實際對戰情況中,若一方ADC血量降低,則該ADC必將十分註意自我保護並謹慎輸出傷害,因此一定會影響其攻擊力,所以,(5)式中體現出的單位時間內一方ADC造成的傷害與其血量成正比的假設是比較合理的。透過查詢相關「英雄」的基本數據,便可以基於上述分析可以確定相應的參數值。

3 多人線上競技遊戲對戰模型的系統動力學建模與仿真

系統動力學(System dynamics,SD)最早於1956年由美國麻省理工學院的福瑞斯特(J.W.Forrester)教授為解決生產管理和庫存管理等問題而建立,最初稱為工業動態學。經過幾十年的發展,該學科已發展成為一門綜合自然科學和社會科學的重要橫向學科,有著廣泛的套用[8]。系統動力學方法可以對系統的內部機制進行清晰地反映,並且可以在小數據條件下進行動態仿真,從而完成具體復雜系統問題的求解[9]。本文中基於多元蘭徹斯特方程式建立了多人線上競技遊戲對戰模型,該模型中涉及到多個單位之間的相互影響,且兩兩之間的關系使用微分方程式進行描述。因此,若采用傳統解析解法進行分析求解會十分復雜,且所得結果並不直觀。采用系統動力學軟件對遊戲對戰模型進行數值仿真,可以更為形象地對結果進行展現。

常見的系統動力學仿真軟件有Vensim、DYNAMO、STELLA等,其中,美國Ventana系統公司開發的Vensim軟件具有界面友好、功能強大且操作相對簡單等特點[10],因此本文采用該軟件進行遊戲對局的模擬仿真。

3.1 多人線上競技遊戲例項模擬與分析

在2.2.2和2.2.3中基於多元蘭徹斯特方程式分別進行了模型建立與參數估計,在進行模擬和仿真時不妨仍討論一種較為簡單的情形,即2.2.3中描述的雙方分別僅有兩名「英雄」參與的團戰。此種情況下,遊戲對戰模型可表示為

\begin{cases} \frac{dP_{1}}{dt}=-\phi_{11}\beta_{1}B_{1}-\phi_{21}\beta_{2}B_{2}+p_{21}P_{1}P_{2}\\ \frac{dP_{2}}{dt}=-\phi_{12}\beta_{1}B_{1}-\phi_{22}\beta_{2}B_{2}+p_{12}P_{1}P_{2}\\ \frac{dB_{1}}{dt}=-\varphi_{11}\alpha_{1}P_{1}-\varphi_{21}\alpha_{2}P_{2}+b_{21}B_{1}B_{2}\\ \frac{dB_{2}}{dt}=-\varphi_{12}\alpha_{1}P_{1}-\varphi_{21}\alpha_{2}P_{2}+b_{12}B_{1}B_{2} \end{cases} (6)

其中,P_1,P_2 分別表示紫方ADC和輔助,B_1,B_2 分別表示藍方ADC和輔助。根據(6)式所確定的對戰模型,使用Vensim軟件繪制的遊戲對戰系統流圖如下所示。

圖2 多人線上競技遊戲對戰模型系統流圖

根據不同「英雄」的數據分析,在下面的仿真中,模型參數值的選取分別為:\phi _{11}=\phi _{12}=\phi _{21}=\phi _{12}=0.5 ,\varphi _{11}=\varphi _{21}=0.6 ,\varphi _{12}=\varphi _{22}=0.4 ,b_{12}=b_{21}=1.1\times 10^{-5} ,p_{12}=p_{21}=3.7\times 10^{-6} ,\alpha _1=0.103 ,\alpha _2=0.025 ,\beta _1=0.122 ,\beta _2=0.027 。為簡單起見,在本文參數確定過程中,假設藍方ADC與輔助攻擊造成的傷害平均分配到對方兩名「英雄」身上,而紫方ADC與輔助攻擊造成傷害的60%分配到對方ADC身上。仿真時假定藍方ADC和輔助的初始血量為1500和2300,紫方ADC和輔助的初始血量為1700和2000。從確定的參數中可以看出,紫方輸出傷害的分配更佳,而藍方攻擊力更強且協同配合做得較好。使用Vensim進行仿真,所得結果如下圖所示。

圖3 雙方各「英雄」血量變化結果

從仿真結果可以看出,在上述參數條件下,紫方ADC血量在20秒內迅速下降至300以下,處於被「擊殺」的邊緣,作為團隊傷害輸出的核心,紫方ADC幾乎失去了繼續輸出傷害的能力。因此可以判定,藍方取得了此次「團戰」的勝利。透過Vensim仿真,可以隨時調整不同的參數以預測不同條件下「團戰」的行程與結果。

3.2 模型靈敏度分析與遊戲策略研究

為了測試模型系統的穩定性,可以調整模型參數值進行對比仿真,從而研究不同初始條件對遊戲「團戰」結果的影響。在3.1所設定的參數條件下,紫方輸掉了團戰。若不改變紫方和藍方的攻擊力及火力分配,紫方ADC與輔助之間協同配合的好壞將成為決定「團戰」勝負的重要因素。在其他參數均不變的條件下,增強紫方協同系數,仿真結果如下圖所示。

圖4 增強紫方協同系數條件下紫方ADC血量變化對比

由上圖可以看出,紫方ADC在與輔助分別增加30%、100%和200%協同系數的情況下,其在團戰開始20秒後的血量值由原來的250.9分別增加到了303.7、440.7和673.7,由此分析可知,在「英雄」裝備有限的情況下,增強與本隊隊友之間的配合,可以顯著提高「團戰」效果,增大遊戲獲勝概率。

4 結論

本文基於多元蘭徹斯特方程式對當前最為流行的多人線上競技遊戲「英雄聯盟」進行建模分析,考慮遊戲玩家之間的協同配合等因素,建立了較為完善的多人線上競技遊戲對戰模型。透過對模型的系統動力學模擬,形象地展現了遊戲「團戰」的進展過程,並可由此進行結果預測。透過對模型的靈敏度分析,可以討論在不同參數取值對模型執行結果的影響,從而為更加科學的遊戲策略的制定提供參考。

參考文獻

[1] 艾瑞網. 艾瑞:2014年中國網絡遊戲市場規模1108.1億[EB/OL]. http:// report.iresearch.cn/htm l/20150204/246130.shtml
[2] 百度百科. 電子競技_百度百科[EB/OL]. http:// baike.baidu.com/link? url=P7G4CwsU_dOHnPHZO_pp39IdevH-s0OfF0y56dHpGi8r-zAa5-kKY4vBf0QRpIBwZsFwOrf0T-e_nEjPFtjq
[3] 中關村線上. 【英雄聯盟】日活躍使用者突破2700萬[EB/OL]. http:// game.zol.com.cn/486/486 9310.html
[4] 姜啟源,謝金星,葉俊. 數學模型(第四版)[M]. 北京:高等教育出版社, 2011.
[5] 王勇, 孫濤, 李小偎,等. 基於Lanchester方程式的作戰過程建模及仿真研究[J]. 系統工程與電子技術, 2009, 07期(7):1677-1679.
[6] 張嘯天, 李誌猛, 鄧紅艷. 多維戰爭中蘭徹斯特方程式探討[J]. 火力與指揮控制, 2008, 第2期:5-7.
[7] 彭文成, 周電傑, 張文. 基於協同作戰的兵力損耗蘭徹斯特方程式[J]. 運籌與管理, 2009, 18:128-131.
[8] 張波, 虞朝暉, 孫強,等. 系統動力學簡介及其相關軟件綜述[J]. 環境與可持續發展, 2010, 第2期:1-4.
[9] 陶立, 楊磊, 顏丙政,等. 垃圾減量分類中社會及個體因素的量化分析[J]. 數學建模及其套用, 2013, Z1期:23-26.
[10] 孔紅山, 張明清, 唐俊. 蘭徹斯特方程式的系統動力學模型研究[J]. 電腦工程與設計, 2011, 32:2789-2791.

Multiplayer Online Battle Arena Games Research Based on Lanchester Equation

Abstract: In view of the problem of current multiplayer online battle arena games generally lack of quantitative description of the mathematical model, this paper uses the classical Lanchester equation to discuss the winning probability of both side. Based on multi-dimensional Lanchester equation and considering factors in synergy among players of the game, the differential equation model is built to describe the war process of multiplayer online battle arena games. Through the system dynamics simulation for the multiplayer online battle arena game League of Legends by Vensim, it can show the game process and the results forecast.

Keywords: Lanchester equation; multiplayer online battle arena; coordination; system dynamics