動態難度調控

出自維基百科,自由嘅百科全書
跳去導覽 跳去搵嘢
一個玩家聚精會神打機;一般認為,適度挑戰能夠令玩家進入呢種狀態。

動態難度調控粵拼dung6 taai3 naan4 dou6 tiu4 hung3英文dynamic difficulty adjustment),又叫動態遊戲平衡dynamic game balancing),係電子遊戲設計上嘅一個諗頭,指將一隻遊戲程式設計成曉即時噉按玩家嘅能力,調整隻遊戲嘅難度相關參數-個程式一發覺隻遊戲對個玩家嚟講難得滯就降低難度,一發覺隻遊戲對個玩家嚟講易得滯就提高難度[1][2]

舉個例說明,任天堂嘅名作《孖寶賽車系列》(Mario Kart)就用咗動態難度調控:孖寶賽車係一系列嘅競速遊戲,俾玩家彼此之間或者同人工智能對手賽車,而响賽車中途,玩家同人工智能對手都有得抽同用道具,啲道具有「幫使用者提升速度」同「阻礙使用者嘅對手」呢啲對使用者有利嘅效果;孖寶賽車系列有多部作品都會噉樣做-當一個玩家落後對手好多嗰陣,遊戲程式會俾佢抽到啲勁嘅道具,而當一個玩家拋離咗對手好多嗰陣,遊戲程式淨係會俾佢抽到啲渣嘅道具-「抽到乜道具」係一個會影響隻遊戲有幾難玩嘅參數,而遊戲程式會按玩家嘅能力調整呢個參數[3]

動態難度調控嘅理論基礎係心流體驗(flow experience):心流係遊戲設計好重視嘅一個概念;簡單講,想像一個人做緊樣嘢;實證嘅心理學研究表明咗,如果樣嘢易得滯,佢會覺得,而如果樣嘢難得滯,佢會覺得有挫折感,兩種情況都會搞到個人冇癮;但如果樣嘢唔係太難又唔係太易,噉個人就會進入心流呢種特殊心理狀態;喺心流狀態下,個人會變得高度專注,而且事後仲會覺得好過癮[4]-動態難度調控正正就係想盡可能令玩家打機嗰陣進入呢種狀態[5][6]

理論基礎[編輯]

一個細路仔喺度好專心噉觀察緊隻蝴蝶
內文:心流體驗
睇埋:有意義嘅玩
英文原文:"[A]s players work with a game, their scores should reflect steady improvement. Beginners should be able to make some progress, intermediate people should get intermediate scores, and experienced players should get high scores ... Ideally, the progression is automatic; players start at the beginner's level and the advanced features are brought in as the computer recognizes proficient play."
粵文翻譯:當一個玩家玩一隻遊戲嗰時,佢哋嘅得分應該要反映穩定嘅改進。(隻遊戲應該要設計成)新仔有能力進展,中階嘅人得到中階分數,而富有經驗嘅玩家得到高分數... 最理想嚟講,呢種進展係自動噉,玩家喺新仔級開始,而當部電腦發覺(玩家做到)熟練噉玩隻遊戲,就要引入進階嘅遊戲特徵(指新異能、新角色同新武器等俾玩家享用嘅嘢)。
美國著名遊戲設計師基斯·古羅霍(Chris Crawford)[7]

動態難度調控嘅理論基礎係所謂嘅心流體驗(flow experience)。心流體驗係一種俾人譽為「最佳體驗」(optimal experience)嘅心理狀態。經歷心流嘅人通常係做緊一樣會考佢技術、而且有返咁上下難度嘅活動(例如係打機嗰陣打一隻有一定挑戰性嘅遊戲),嗰樣活動具有以下三大特徵[4][8]

  1. 有明確嘅目的
  2. 會對做嗰個人俾清晰嘅回輸(feedback)-即係會明確噉話佢知佢掂唔掂;
  3. 適度挑戰(optimal challenge)-即係會為佢提供一定程度嘅挑戰,唔係太易又唔係太難。

根據心流理論(flow theory),如果嗰樣活動有齊呢三樣特性,做嗰個人嘅心理狀態就會起以下嘅變化[4][9]

... 等等。當中「事後持續自發噉再做嗰樣活動」呢點俾人指對遊戲設計(game design)嚟講好有用-遊戲設計師想達致嘅正正就係想玩家開心過癮,玩完想再玩[註 1][14][15]。呢個就係動態難度調控嘅基本諗頭:想令個遊戲程式曉自動噉幫玩家進入心流-一個用咗動態難度調控嘅遊戲程式會按玩家嘅表現(玩家表現反映佢哋嘅技術水平)嚟調整自身嘅難度,如果玩家表現太差(遊戲對玩家嚟講難得滯)就降低難度,而如果玩家表現太好(遊戲對玩家嚟講易得滯)就提升難度,務求想為玩家提供適度挑戰,進入「玩隻遊戲→適度挑戰→經歷心流→持續噉玩→技術提升→可以應付更高難度嘅挑戰→重複」噉嘅循環[16][17]

技術實現[編輯]

睇埋:遊戲編程遊戲分析同埋玩家體驗模擬

要喺技術上實現動態難度調控,最基本要諗嘅係表現指標同埋難度參數。除此之外,動態難度調控仲可以配以搜集描述玩家行為嘅數據:例如研究者可以做遊戲測試,搵班玩家返嚟試玩隻遊戲,攞一啲描述玩家表現同難度之間嘅關係嘅數據,再喺呢啲數據上用機械學習(machine learning)嚟教個遊戲程式點樣做動態難度調控。

表現指標[編輯]

玩家嘅得分喺左上角;得分提供一個輕易噉量度表現嘅指標。
睇埋:學習曲線

動態難度調控必需要用某一啲指標睇住玩家嘅表現,估計玩家嘅技術-一般認為,一位玩家嘅表現反映佢嘅技術,佢表現太差表示隻遊戲對佢嚟講難得滯,而佢表現太好就表示隻遊戲對佢嚟講易得滯。即係話喺任何一個時間點,「玩家有幾受到隻遊戲挑戰」()由以下呢個函數挑戰函數;challenge function)計出[7]

當中柞 係難度指標。响廿一世紀初嘅電子遊戲界,可能嘅 包括咗以下呢啲[7]

  • 得分(數值低表示隻遊戲對佢嚟講難);
  • 攻擊敵人嗰陣嘅命中率(數值低表示隻遊戲對佢嚟講難);
  • 完全一件工作要嘥幾多時間(數值高表示隻遊戲對佢嚟講難);
  • 喺一段時間內喪失咗幾多生命值(數值高表示隻遊戲對佢嚟講難);

... 等等。順帶一提,除咗用玩家嘅表現之外,亦都有研究嘗試用玩家嘅情緒嚟做難度調節嘅基礎-例如係直接問玩家有乜感受或者用架生量度玩家嘅表情(可以睇吓肌電圖),並且靠噉嚟監察住玩家係咪覺得(悶通常表示易得滯)或者有挫折感(有挫折感通常表示難得滯)[6]

難度參數[編輯]

睇埋:心理壓力

响知道咗玩家係點之後,隻遊戲就要調整隻遊戲嘅難度(表現太好就提升難度,表現太差就降低難度)。喺基本嘅動作遊戲當中,以下呢啲遊戲參數都可以攞嚟做難度調整[1]

  • 玩家角色嘅火力(數值愈低隻遊戲就愈難);
  • 威力提升出現嘅頻率(數值愈低隻遊戲就愈難);
  • 關卡嘅特性,例如(喺射擊遊戲入面)戰場上有幾多掩護物可以俾玩家匿埋喺後面[註 2][18]
  • NPC 嘅特性:
    • 敵人嘅速度(數值愈高隻遊戲就愈難);
    • 敵人嘅血量(數值愈高隻遊戲就愈難);
    • 敵人出現嘅頻率(數值愈高隻遊戲就愈難);
    • 敵人嘅火力(數值愈高隻遊戲就愈難);
    • 人工智能嘅水平[19]

... 等等。而實際應用上嘅動態難度調控系統好多時會用多過一個遊戲參數嚟做難度調控[18]

有遊戲設計方面嘅研究者指出,「揀邊啲參數做難度調整」會對玩家嘅投入感(immersion)造成具體影響:想像家陣個遊戲程式發覺隻遊戲難得滯,於是決定俾玩家喺環境入面得到更多武器、生命值回復得快啲、或者敵人嘅數量下降呀噉;雖然噉做係會令難度作出適當嘅改變,但同時又可能會破壞玩家嘅投入感-電子遊戲好多時都會想玩家覺得遊戲個虛擬世界係有返咁上下真實(有返咁上下投入)嘅,即係話要確保個難度調控系統唔好引起玩家嘅注意,確保玩家嘅腦海唔好浮現「我身處喺一個俾人設計嚟氹我開心嘅假世界」(睇埋暫停懷疑)或者「我喺遊戲入面過到關只不過係隻遊戲就緊我」等嘅諗法[18]:p. 2;「自己生命值低嗰陣,突然有埲牆出現保護自己」噉嘅嘢會容易搞到玩家個腦海出現呢種諗法[20],而「自己生命值低嗰陣,敵人嘅命中率係噉咦低咗」(甚至玩家可能根本察覺唔到呢個變化)就俾人認為冇咁易會搞到呢種情況出現。呢啲研究者指出因為噉,動態難度調控演算法當中「揀邊啲參數做難度調整」都要有技巧[21][22]

邏輯迴歸[編輯]

睇埋:邏輯迴歸

動態難度調控涉及嘅運算可以用邏輯迴歸(logit regression)嘅諗法嚟想像:想像家陣有一隻結果二元(即係話玩家一係輸一係贏)嘅遊戲;而邏輯迴歸簡單講係一種統計技術,能夠由數據嗰度估計出以下呢條式裏面嗰啲 嘅數值:

當中 係指個玩家贏嘅機會率,會反映隻遊戲嘅客觀難度,柞 係個統計模型嘅參數,當中 會反映玩家嘅技術(一個隨機效應),柞 係嗰啲要調整嘅難度相關參數(一個固定效應);假想分析師做遊戲測試,搵班人返嚟試玩吓隻遊戲,用由呢班人身上得到嘅數據做邏輯迴歸(機械學習嘅一種形式),搵到 等嘅數值,噉喺跟住落嚟嘅運作當中,個程式就可以攞住呢個模型[註 3],估計「乜嘢 數值大機會能夠令 接近 50%」[16]-一般認為,玩家 0% 機會贏嘅遊戲係完全困難嘅,而玩家 100% 機會贏嘅遊戲係完全容易嘅,得 50% 機會贏就最接近適度挑戰[23][24]

應用例子[編輯]

一隻高卡車競速遊戲嘅截圖;畫面中間嘅係玩家角色,玩家角色同電腦對手喺度賽車鬥快。一個直接嘅難度參數係「電腦對手嘅速度」。

喺廿一世紀初,動態難度調控仲未算係電子遊戲業界嘅標準:有好多遊戲設計師製作師都主張,動態難度調控嘅做法會搞到玩家因為覺得自己俾隻遊戲操控緊而唔高興,所以呢啲設計師同製作師都比較偏好俾玩家手動噉揀隻遊戲嘅難度。不過,亦都有多隻出名嘅遊戲經已用咗動態難度調控嘅技術,包括係[25]

孖寶賽車[編輯]

睇埋:孖寶賽車系列同埋橡筋人工智能

孖寶賽車系列》(Mario Kart)呢個高卡車競速遊戲系列用咗兩種動態難度調控技巧:

  • 《孖寶賽車系列》俾玩家用《馬利奧系列》當中嘅角色嚟玩揸高卡車競速。同現實世界嘅賽車競速唔同嘅係,呢隻遊戲俾參賽者喺比賽途中由分佈喺賽道上嘅道具盒嗰度抽道具-道具包括咗蕉皮(可以擺喺賽道上面,令唔小心車到塊蕉皮嘅對手架車失控)、能量蘑菇(幫使用者喺短時間內加速)同埋閃電(使用者嘅對手冚唪唥俾雷劈,因而喺一段時間內速度急跌)呀噉。呢啲道具有啲勁啲有啲渣啲,所以「抽到乜道具」係一個會左右難度嘅遊戲參數,而廿一世紀初嘅《孖寶賽車系列》遊戲都會按玩家嘅能力調控「抽到乜道具」:如果玩家落後對手好多(隻遊戲對玩家嚟講難得滯),隻遊戲就淨係會俾佢抽到啲勁嘅道具(降低難度),而如果玩家領先對手好多(隻遊戲對玩家嚟講易得滯),隻遊戲就淨係會俾佢抽到啲渣嘅道具(提高難度)-達到動態難度調控嘅效果[3]
  • 除此之外,《孖寶賽車系列》仲出咗名用到所謂嘅橡筋人工智能(rubber band AI)技術。橡筋人工智能係競速遊戲專用嘅一種難度調控技術,指「電腦控制嘅賽車手嘅速度」-一個會左右難度嘅遊戲參數-取決於玩家嘅表現:如果玩家領先電腦對手好多,個遊戲程式就會俾電腦對手加速(提高難度),相反嘅話電腦對手就會減速(降低難度),所以無論玩家表現幾咁好,電腦對手都梗會有機會追返上嚟,反之亦然;橡筋人工智能嘅做法俾人比喻成橡筋-根據呢個比喻,玩家同電腦對手之間嘅距離就好似條橡筋噉,如果是但一方表現唔及對手搞到距離拉開,遊戲程式就會調節電腦對手嘅速度,嘗試將距離縮窄返。不過,呢種做法受到唔少遊戲設計界嘅人批評,話噉做會搞到技術好嘅玩家覺得啲電腦對手喺度出茅招,因而覺得冇癮[註 4]

第啲遊戲[編輯]

  • 古惑狼系列》(Crash Bandicoot)係一個系列嘅平台遊戲。响呢個系列嘅多隻遊戲當中,遊戲程式都會留意住玩家喺一入面死咗幾多次(一個反映玩家能力嘅變數),並且會按照呢個數值調節關卡裏面嘅各種難度參數-包括咗檢查點(玩家輸咗會自動返去嘅地點)嘅數量同埋啲障礙物嘅移動速度呀噉;而《古惑狼系列》嘅其中一個開發者就曾經噉講過:「勁嘅玩家、渣嘅玩家,係人都鍾意古惑狼遊戲。佢哋永遠都唔知,噉係因為佢哋每個人都喺度各自玩緊一隻有些少唔同咗嘅遊戲,按每個人嘅特別需要嚟平衡咗」[註 5][26]
  • 生化危機 4》(Resident Evil 4)係恐怖生存遊戲系列《生化危機系列》响 2005 年出嘅一部作品。喺呢隻遊戲裏面,玩家要穿過佈滿喪屍等嘅敵人嘅關卡,呢啲敵人會攻擊玩家,而俾敵人打中玩家會喪失生命值,生命值變 0 就死;個遊戲程式會監察住玩家喺遊戲入面死咗幾多次同埋攻擊嘅命中率有幾高,然後就再按預先設低嘅準則,俾個分數(1 至 10)嚟表示個玩家嘅技術有幾掂,分數愈高表示個玩家愈掂;如果一個玩家分數低,遊戲程式會郁手改變啲由電腦控制嘅敵人嘅行為令隻遊戲易啲,例如係啲敵人嘅反應會變慢同埋攻擊會變得冇咁準呀噉;而如果個玩家分數高,遊戲程式就會做相反嘅嘢,令隻遊戲變得難啲[27]
  • 惡靈勢力》(Left 4 Dead)係喺 2008 年出嘅一隻恐怖生存第一身射擊遊戲。喺呢隻遊戲入面,玩家要一齊合作,用嚟對付進犯嘅大羣喪屍。呢隻遊戲嘅程式有一個所謂嘅人工智能主管(AI Director),個主管會掌控「喪屍幾時同喺邊出現」(喪屍出現嘅位置永遠唔會喺玩家嘅視線之內)同「武器會喺乜嘢位置搵到」等嘅嘢,用程序生成(procedural generation)嘅做法確保呢啲變數次次玩隻遊戲嗰陣都有啲唔同,而且呢啲變數仲會受到玩家嘅表現(以「玩家消耗咗幾多資源」等嘅變數衡量)調整[28][29]

... 等等。

爭議[編輯]

註釋[編輯]

  1. 不過都有研究者指出,唔係個個玩家都鍾意受到挑戰-玩家之間有個體差異,有啲玩家想遊戲完全冇難度。
  2. 不過有研究指,用關卡特性嚟做動態難度調控會嘥好多系統資源
  3. 再唔係仲可以教個遊戲程式一路行、一路按玩緊嗰啲玩家嘅數據調整柞
  4. 可以睇吓 Giant BombRubber Band AI
  5. 原文如下:「Good player, bad player, everyone loved Crash games. They never realized it is because they were all playing a slightly different game, balanced for their specific needs」。

睇埋[編輯]

文獻[編輯]

AI 文獻[編輯]

  • Andrade, G., Ramalho, G., Santana, H., & Corruble, V. (2005, September). Challenge-sensitive action selection: an application to game balancing. In IEEE/WIC/ACM International Conference on Intelligent Agent Technology (pp. 194-200). IEEE.
  • Chanel, G., Rebetez, C., Bétrancourt, M., & Pun, T. (2011). Emotion assessment from physiological signals for adaptation of game difficulty. IEEE Transactions on Systems, Man, and Cybernetics-Part A: Systems and Humans, 41(6), 1052-1063.
  • Demasi, P., & Adriano, J. D. O. (2003). Online Coevolution for Action Games. Int. J. Intell. Games & Simulation, 2(2), 80-88.
  • Spronck, P., Sprinkhuizen-Kuyper, I., & Postma, E. (2004, November). Difficulty scaling of game AI (PDF). In Proceedings of the 5th International Conference on Intelligent Games and Simulation (GAME-on 2004) (pp. 33-37).
  • Yannakakis, G. N., & Hallam, J. (2006, May). Towards capturing and enhancing entertainment in computer games. In Hellenic Conference on Artificial Intelligence (pp. 432-442). Springer, Berlin, Heidelberg.
  • Wheat, D., Masek, M., Lam, C. P., & Hingston, P. (2015, October). Dynamic difficulty adjustment in 2d platformers through agent-based procedural level generation. In 2015 IEEE International Conference on Systems, Man, and Cybernetics (pp. 2778-2785). IEEE.

[編輯]

  1. 1.0 1.1 Hunicke, R. (2005, June). The case for dynamic difficulty adjustment in games (PDF). In Proceedings of the 2005 ACM SIGCHI International Conference on Advances in computer entertainment technology (pp. 429-433).
  2. Zohaib, M. (2018). Dynamic difficulty adjustment (DDA) in computer games: A review (PDF). Advances in Human-Computer Interaction, 2018.
  3. 3.0 3.1 GAMES YOU DIDN'T KNOW FEATURED DYNAMIC DIFFICULTY. SVG.
  4. 4.0 4.1 4.2 Csikszentmihalyi, M., & Csikszentmihalyi, I. S. (Eds.). (1992). Optimal experience: Psychological studies of flow in consciousness. Cambridge university press.
  5. Baldwin, A., Johnson, D., & Wyeth, P. A. (2014). The effect of multiplayer dynamic difficulty adjustment on the player experience of video games. In CHI'14 Extended Abstracts on Human Factors in Computing Systems (pp. 1489-1494).
  6. 6.0 6.1 Frommel, J., Fischbach, F., Rogers, K., & Weber, M. (2018, October). Emotion-based dynamic difficulty adjustment using parameterized difficulty and self-reports of emotion (PDF). In Proceedings of the 2018 Annual Symposium on Computer-Human Interaction in Play (pp. 163-171).
  7. 7.0 7.1 7.2 Crawford, Chris (December 1982). "Design Techniques and Ideas for Computer Games". BYTE. p. 96.
  8. Fong, C. J., Zaleski, D. J., & Leach, J. K. (2015). The challenge-skill balance and antecedents of flow: A meta-analytic investigation (PDF). The Journal of Positive Psychology, 10(5), 425-446.
  9. Nakamura, J.; Csikszentmihályi, M. (20 December 2001). "Flow Theory and Research". In C. R. Snyder Erik Wright, and Shane J. Lopez (ed.). Handbook of Positive Psychology. Oxford University Press. pp. 195–206.
  10. Dietrich, A., & Stoll, O. (2010). Effortless attention, hypofrontality, and perfectionism. Effortless attention: A new perspective in the cognitive science of attention and action, 159-178.
  11. Kahneman, D. (1973). Attention and effort. Englewood Cliffs, NJ: Prentice-Hall.
  12. Tse, D. C., Nakamura, J., & Csikszentmihalyi, M. (2020). Beyond challenge-seeking and skill-building: Toward the lifespan developmental perspective on flow theory (PDF). The Journal of Positive Psychology, 15(2), 171-182.
  13. Custodero, L. A. (2002). Seeking challenge, finding skill: Flow experience and music education. Arts education policy review, 103(3), 3-9.
  14. Alexander, J. T., Sear, J., & Oikonomou, A. (2013). An investigation of the effects of game difficulty on player enjoyment (PDF). Entertainment computing, 4(1), 53-62.
  15. Gilleade, K. M., & Dix, A. (2004, September). Using frustration in the design of adaptive videogames. In Proceedings of the 2004 ACM SIGCHI International Conference on Advances in computer entertainment technology (pp. 228-232).
  16. 16.0 16.1 Constant, T., & Levieux, G. (2019, May). Dynamic difficulty adjustment impact on players' confidence (PDF). In Proceedings of the 2019 CHI conference on human factors in computing systems (pp. 1-12).
  17. Chen, J. (2007). Flow in games (and everything else) (PDF). Communications of the ACM, 50(4), 31-34.
  18. 18.0 18.1 18.2 Fraser, J., Katchabaw, M., & Mercer, R. E. (2014). A methodological approach to identifying and quantifying video game difficulty factors (PDF). Entertainment Computing, 5(4), 441-449.
  19. Spronck, P., Sprinkhuizen-Kuyper, I., & Postma, E. (2004, November). Difficulty scaling of game AI. In Proceedings of the 5th International Conference on Intelligent Games and Simulation (GAME-on 2004) (pp. 33-37).
  20. A. Rollings; E. Adams. "Gameplay" (PDF). Andrew Rollings and Ernest Adams on Game Design. New Riders Press.
  21. Robin Hunicke; V. Chapman (2004). "AI for Dynamic Difficulty Adjustment in Games". Challenges in Game Artificial Intelligence AAAI Workshop. San Jose. pp. 91–96.
  22. Qin, H., Rau, P. L. P., & Salvendy, G. (2010). Effects of different scenarios of game difficulty on player immersion. Interacting with Computers, 22(3), 230-239.
  23. Aponte, M. V., Levieux, G., & Natkin, S. (2011, November). Difficulty in videogames: an experimental validation of a formal definition (PDF). In Proceedings of the 8th International Conference on Advances in Computer Entertainment Technology (pp. 1-8).
  24. Constant, T., Levieux, G., Buendia, A., & Natkin, S. (2017, September). From objective to subjective difficulty evaluation in video games (PDF). In IFIP Conference on Human-Computer Interaction (pp. 107-127). Springer, Cham.
  25. The Designer's Notebook: Difficulty Modes and Dynamic Difficulty Adjustment. Gamasutra.
  26. Gavin, Andy (2011-02-07). "Making Crash Bandicoot - part 6". All Things Andy Gavin. Retrieved 2016-09-03.
  27. Resident Evil 4: The Official Strategy Guide. Future Press. 4 November 2005.
  28. "Left 4 Dead". Valve.
  29. Newell, Gabe (21 November 2008). "Gabe Newell Writes for Edge". edge-online.com.

[編輯]