薛永暉 溫偉航
摘要:保持游戲難度與玩家能力水平的匹配對玩家獲得最佳游戲體驗至關(guān)重要。本文提出了一種基于多目標強化學(xué)習(xí)的動態(tài)難度調(diào)節(jié)方法,該方法在算法層面對多目標強化學(xué)習(xí)的單一策略方法進行了創(chuàng)新,在結(jié)構(gòu)設(shè)計層面分為線下訓(xùn)練和在線學(xué)習(xí)2個層級。實驗結(jié)果表明,該方法能夠在勝任感、愉悅感和緊張感3個方面有效提升玩家的游戲體驗。該方法簡單直觀便于實現(xiàn),為游戲開發(fā)者帶來了一種新穎有效的開發(fā)思路。
關(guān)鍵詞:動態(tài)難度調(diào)節(jié);強化學(xué)習(xí);游戲體驗
引言
電子游戲在當今世界的地位正變得愈發(fā)重要,玩家通過與游戲系統(tǒng)進行交互可以滿足自身的許多心理需求。游戲設(shè)計者也把給玩家?guī)碜罴训挠螒蝮w驗作為一項重要任務(wù)。達到“心流”狀態(tài)對玩家的游戲體驗至關(guān)重要[1],這需要游戲難度與玩家的能力水平相匹配。一種解決方法是在游戲中設(shè)置不同的靜態(tài)難度等級供玩家選擇,但這種方法存在降低沉浸感、玩家無法準確評估難度等問題。動態(tài)難度調(diào)節(jié)方法改善了這一問題,它能夠根據(jù)玩家當下的能力水平對游戲難度進行實時調(diào)整。
傳統(tǒng)的動態(tài)難度調(diào)節(jié)方法需要開發(fā)者手動設(shè)計各種行為規(guī)則,比較依賴開發(fā)者的設(shè)計經(jīng)驗,而且隨著游戲復(fù)雜程度的增加,該方法會變得難以維護。人工智能方法中的監(jiān)督式學(xué)習(xí)方法直接利用數(shù)據(jù)進行建模,無需開發(fā)者手動設(shè)計,但是該方法需要獲取大量用戶數(shù)據(jù)并進行數(shù)據(jù)預(yù)處理,而且模型訓(xùn)練完成投入使用后無法對模型參數(shù)進行實時調(diào)整。強化學(xué)習(xí)方法通過 “觀測—行動—獎勵”這一過程對各種復(fù)雜的游戲環(huán)境進行學(xué)習(xí),學(xué)習(xí)者在游戲環(huán)境中嘗試各種行動并獲得反饋,據(jù)此對自己的行動策略進行調(diào)整。該方法簡單直觀,無需收集大量數(shù)據(jù),模型參數(shù)亦可以在使用時進行實時調(diào)整。本文即是利用了強化學(xué)習(xí)技術(shù)中的多目標強化學(xué)習(xí)方法提出了一種新型的動態(tài)難度調(diào)節(jié)方法。
1強化學(xué)習(xí)理論
1.1 強化學(xué)習(xí)原理
強化學(xué)習(xí)是一種機器學(xué)習(xí)方法,其靈感來源于人和動物通過與環(huán)境交互所獲得的(正面或負面)獎勵來學(xué)習(xí)做出決策的方式[2]。學(xué)習(xí)是一種傳統(tǒng)的強化學(xué)習(xí)算法,可用于求解馬爾可夫決策過程[3]。學(xué)習(xí)由表得名,用于存儲一系列的值。是在狀態(tài)中采取行動的預(yù)期獎勵,表示在在狀態(tài)中采取行動的價值。代理通過選擇行動并獲得獎勵來進行學(xué)習(xí),目標是在每個狀態(tài)采取正確的行動來最大化其預(yù)期獎勵。獎勵是指未來獎勵期望值的加權(quán)總和。學(xué)習(xí)以迭代方式對值進行更新。表的初值為設(shè)計者設(shè)定的任意值,代理每次從狀態(tài)選擇動作時,都會獲得獎勵,并訪問狀態(tài),更新其值。如下所示:
其中,α∈[0,1]是學(xué)習(xí)率,γ∈[0,1]是折扣因子。學(xué)習(xí)率確定算法對Q的新估值將在多大程度上覆蓋舊估值。折扣因子用于調(diào)整當下獎勵和未來獎勵所占的權(quán)重;γ越接近1,則未來獎勵的權(quán)重越大。Q學(xué)習(xí)會根據(jù)其對下一狀態(tài) 優(yōu)劣程度的評估來維持其對當前狀態(tài)Q(s,a)的評估。事實證明,通過使用上式的學(xué)習(xí)規(guī)則,Q(s,a)值能夠收斂到預(yù)期的未來獎勵[3],進而可以基于Q值得到最佳策略。代理在狀態(tài)s下會選擇具有最高Q(s,a)值的行動a。
1.2 多目標強化學(xué)習(xí)原理及其改良
多目標強化學(xué)習(xí)是傳統(tǒng)強化學(xué)習(xí)的重要變體,與傳統(tǒng)強化學(xué)習(xí)相比,他要求學(xué)習(xí)者可以對兩個或多個目標的行動策略同時進行優(yōu)化[4]??梢詫⒍嗄繕藦娀瘜W(xué)習(xí)視為多目標優(yōu)化和強化學(xué)習(xí)技術(shù)的組合,用來解決具有多個目標的順序決策問題。
圖 1展示了多目標強化學(xué)習(xí)的基本架構(gòu),其中一共有個目標,是與第個目標相對應(yīng)的獎勵信號。這種基本架構(gòu)展示了單個學(xué)習(xí)代理所面對的情況,它需要針對一組不同的目標來優(yōu)化自身的行動策略。
多目標強化學(xué)習(xí)方法可以分為兩類:單一策略方法和多策略方法。本文使用單一策略方法,該方法較為簡潔明了,使用頻率較高,既能夠滿足動態(tài)難度調(diào)節(jié)的需求,也節(jié)省了計算資源。單一策略方法的目的是獲得一種最佳策略,該策略能夠同時滿足用戶分配或是系統(tǒng)定義的多個目標的偏好。解決方法是設(shè)計一個綜合目標函數(shù),它可以適當?shù)卮矶鄠€目標的總體偏好。算法 1展示了多目標強化學(xué)習(xí)單一策略方法的解決方案。
最終的單一策略可以根據(jù)來確定,可以通過所有目標的值得出。各種單一策略方法之間的主要區(qū)別在于定義多個目標的總體偏好的方式。通過綜合目標函數(shù),每個目標的值都可以被合理利用于下一步行動的選擇。本文的綜合目標函數(shù)采用了加權(quán)求和的方法,為所有目標計算值的線性加權(quán)和。如下所示:
其中,Wi表示第i個目標所對應(yīng)Q值的權(quán)重,設(shè)計者可以調(diào)整這些權(quán)重來改變每個目標在整體目標中的重要程度。
前文所述的多目標強化學(xué)習(xí)的單一策略方法雖然滿足了基本需求,但可以明顯看到,在每個訓(xùn)練步長中,該算法會分別對每個子目標的值進行更新,過程較為繁復(fù),在子目標較多的情況下,容易變得難以維護。實際上,由于算法的基本需求是得到單一策略,所以我們最為關(guān)注的是綜合目標函數(shù),對每個子目標具體的值并不關(guān)注,在實現(xiàn)的過程中也完全無需計算出每個子目標的值,只需最終計算出綜合目標函數(shù)即可。接下來我們試著對該算法進行優(yōu)化。
將值的更新規(guī)則代入公式(2)可得:
與綜合目標函數(shù)TQ(s,a)相似,我們定義綜合獎勵TR為所有子目標獎勵的線性加權(quán)和:
于是我們得到綜合目標函數(shù)的更新規(guī)則:
這樣我們就得到了經(jīng)過優(yōu)化的改良方法:首先根據(jù)公式計算綜合獎勵,然后通過公式直接更新綜合目標函數(shù)的值。算法 2展示了通過計算綜合獎勵直接更新綜合目標函數(shù)的改良方法。
可以看到,經(jīng)過優(yōu)化后的算法無需對每個子目標的值逐個進行更新,而是通過綜合獎勵,直接對綜合目標函數(shù)進行一次性的更新。這種經(jīng)過改良的算法達到了與原始的多目標強化學(xué)習(xí)單一策略方法相同的效果,但在過程上更加簡潔直觀,需要的中間變量更少,節(jié)省了計算資源,而且容易實現(xiàn),我們采用該算法作為動態(tài)難度調(diào)節(jié)方法的核心算法。
2 動態(tài)難度調(diào)節(jié)方法的具體實現(xiàn)
2.1 框架結(jié)構(gòu)設(shè)計
本文提出了一種兩級強化學(xué)習(xí)動態(tài)難度學(xué)習(xí)框架,并且被實現(xiàn)在一款第一人稱生存射擊游戲中。游戲規(guī)則較為簡潔,玩家周圍會不斷生成AI智能體對手,玩家需要擊殺這些AI智能體對手來獲得盡可能長的生存時間。該框架的結(jié)構(gòu)設(shè)計如圖 2所示。游戲內(nèi)的AI智能體對手分為簡單、中等和困難3類,為了讓這3類AI智能體對手的具體行動策略產(chǎn)生難度區(qū)分,我們使用強化學(xué)習(xí)技術(shù)對這3類游戲AI智能體的具體行動策略(路徑策略和射擊策略)進行線下訓(xùn)練。為了達到動態(tài)難度調(diào)節(jié)的目的,我們引入更高一級的難度控制器,運用強化學(xué)習(xí)技術(shù),利用游戲內(nèi)實時產(chǎn)生的數(shù)據(jù)對玩家的特點進行在線學(xué)習(xí),根據(jù)玩家當下的技能水平實時調(diào)整各個難度AI智能體對手的生成概率,給玩家提供合適的挑戰(zhàn),使玩家進入心流狀態(tài)并獲得最佳游戲體驗。
2.2 智能體行為策略的線下訓(xùn)練
我們根據(jù)智能體AI與玩家前方視場的相對位置來對智能體AI的路徑策略進行訓(xùn)練。訓(xùn)練邏輯比較直觀:若敵人所處的位置在玩家正前方的視場內(nèi),玩家就會比較容易地射擊到該敵人。相反,若敵人的位置在玩家的視場之外,玩家射擊到該敵人就會變得困難?;谠撨壿?,我們得出AI智能體路徑策略訓(xùn)練的具體方案:3種難度AI智能體初始的路徑策略完全隨機。對于簡單難度的AI智能體,當它的位置到達了玩家視場之內(nèi),就會獲得正獎勵,當它離開了玩家的視場,則會獲得負獎勵。對應(yīng)地,對于困難難度的AI智能體,當它的位置到達了玩家視場之內(nèi),就會獲得負獎勵,當他離開了玩家的視場,則會獲得正獎勵。中等難度AI智能體無論處在何種位置都不會獲得獎勵。
我們通過子彈的擴散角來模擬子彈在真實情況下的彈道偏移,擴散角的取值范圍是0°-90°。當擴散角為0°時,子彈最終射出的方向即為初始方向,此時子彈總是能擊中玩家;當擴散角逐漸增大,子彈射出的最終方向與初始方向的偏移量也逐漸增大,擊中玩家軀體的概率逐漸變小?;谝陨系母拍?,我們得到AI智能體射擊策略訓(xùn)練的具體方案:3種AI智能體的初始擴散角完全隨機。對于簡單難度的AI智能體,當它擊中玩家就會獲得負獎勵,未擊中玩家則會獲得正獎勵。同理,對于困難難度的AI智能體,當它擊中玩家會獲得正獎勵,未擊中玩家則會獲得負獎勵。對于中等難度AI智能體,無論是否擊中玩家都不會獲得任何獎勵。
2.3 通過在線學(xué)習(xí)實現(xiàn)動態(tài)難度調(diào)節(jié)
我們選取玩家射擊的命中率、單位時間內(nèi)擊殺敵人的數(shù)量、單位時間內(nèi)損失的生命值這3個游戲內(nèi)參數(shù)作為動態(tài)難度調(diào)節(jié)的3個子目標。每個游戲內(nèi)參數(shù)都存在一個最優(yōu)的取值范圍,若參數(shù)
落在此范圍內(nèi),代表此時游戲提供的挑戰(zhàn)與玩家的技能水平相匹配,若游戲內(nèi)參數(shù)超出此范圍(過高或過低),說明游戲在此維度上提供的挑戰(zhàn)過易或過難。控制器通過改變3種難度AI智能體(簡單、中等、困難)的生成比例來對當前游戲難度進行調(diào)節(jié)。于是我們得到具體的在線學(xué)習(xí)方案:當某個子目標對應(yīng)的游戲內(nèi)參數(shù)恰好落在最優(yōu)范圍內(nèi)時,難度控制器會獲得正獎勵;若游戲參數(shù)超出此范圍,難度控制器則會獲得負獎勵。根據(jù)多目標強化學(xué)習(xí)思想,各個子目標被融合成為單一的總體目標,子目標的獎勵也被融合成為一個總體的獎勵,代表系統(tǒng)對當前AI智能體生成策略的判斷。若總體獎勵為正,表示此時的AI智能體生成策略是合適的,應(yīng)當繼續(xù)保持;若總體獎勵為負,表示此時的AI智能體生成策略已經(jīng)不再與玩家技能水平相匹配,需要進行調(diào)整。系統(tǒng)通過學(xué)習(xí),不斷更新當前最佳的難度調(diào)節(jié)策略,并對游戲難度進行實時調(diào)節(jié)。
3 實驗與結(jié)論
本文通過對比實驗的方法,對基于多目標強化學(xué)習(xí)的動態(tài)難度調(diào)節(jié)方法在提升玩家游戲體驗方面的有效性進行驗證。玩家分別在部署了動態(tài)難度調(diào)節(jié)系統(tǒng)和未部署動態(tài)難度調(diào)節(jié)系統(tǒng)(3種靜態(tài)難度)的情境下體驗一款自定義射擊游戲,并分別在每個游戲情境結(jié)束后填寫PENS問卷[5]和IMI問卷[6],對各個情境下的游戲體驗進行評估。通過對問卷結(jié)果的統(tǒng)計學(xué)分析可以得出,本文提出的基于多目標強化學(xué)習(xí)的動態(tài)難度調(diào)節(jié)方法相比靜態(tài)難度方法能夠顯著提高玩家的勝任感和愉悅感,并且把玩家的緊張感控制在較為適中的范圍。
由此我們可以判斷,本文提出的基于多目標強化學(xué)習(xí)的動態(tài)難度調(diào)節(jié)方法可以有效提升玩家的游戲體驗。該方法能夠?qū)τ螒螂y度進行精準調(diào)節(jié),使之與玩家當下的能力水平迅速匹配,讓玩家快速進入心流狀態(tài),體驗到強烈的勝任感和愉悅感,同時使玩家保持適度的壓力和緊張感,增強玩家游玩游戲的興趣與動力。此外,該方法較為簡單直觀,便于部署,為游戲開發(fā)者帶來了一種新穎有效的開發(fā)思路。
參考文獻
[1]Csikszentmihalyi M,Csikzentmihaly M.Flow:The psychology of optimal experience[M].New York:Harper & Row,1990.
[2]Sutton R S,Barto A G.Reinforcement learning:An introduction[M].MIT press,1998.
[3]Watkins C J C H,Dayan P.Q-learning[J].Machine learning,1992,8(3-4):279-292.
[4]Vamplew P,Dazeley R,Berry A,et al.Empirical evaluation methods for multiobjective reinforcement learning algorithms[J].Machine learning,2011,84(1-2):51-80.
[5]Ryan R M,Rigby C S,Przybylski A.The motivational pull of video games:A self-determination theory approach[J].Motivation and emotion,2006,30(4):344-360.
[6]Ryan R M.Control and information in the intrapersonal sphere:An extension of cognitive evaluation theory[J].Journal of personality and social psychology,1982,43(3):450.
作者簡介:
薛永暉(1995—),男,中國傳媒大學(xué)動畫與數(shù)字藝術(shù)學(xué)院,碩士研究生,研究方向為動態(tài)難度調(diào)節(jié)。
溫偉航(1988—),男,中國傳媒大學(xué)動畫與數(shù)字藝術(shù)學(xué)院,碩士研究生,研究方向為游戲用戶體驗。