遊戲平衡機制探究:動態難度調節的4條祕訣
在上週的文章中,我探討了一些遊戲中最有趣也最常見的隱藏機制。然而,有一類隱藏機制相比之下更加多樣化且普遍——調整遊戲難度和平衡的機制。這些機制被總稱為動態難度調節(dynamic difficulty adjustment,下文簡稱DDA)。
DDA是電子遊戲根據玩家水平調整遊戲難度的過程。若玩家表現優秀,遊戲將加大難度和挑戰。相反,若玩家打得很吃力,遊戲可能會降低難度幫玩家度過難關。
DDA分為短期和長期兩種。短期DDA與遊戲的隨機數生成器掛鉤,目的是為了防止玩家遇到極端情況,一直幸運或一直倒黴。這些隨機系統在某些時刻對遊戲進行平衡,一般不會對遊戲程式造成長遠影響。
而長期DDA是根據玩家的水平調整遊戲的整體難度。由於每位玩家的技能水平不同,統一的難度等級或選項無法覆蓋所有玩家的需求。長期DDA的目標是使遊戲對每位玩家來說既具有挑戰性,又可克服。
最後,還有一種“永遠開啟”的難度調節系統。這些系統總是在遊戲中呈活躍狀態,在不引起玩家察覺的情況下提高或降低遊戲難度。當玩家期待遊戲有所改變,當玩家的內隱行為發生變化,這些系統將派上用場。
1.橡皮筋效應
一種最常見,且最受批評的DDA運用被稱為“橡皮筋效應”。這種應用常見於賽車遊戲中(尤其是《馬里奧賽車》系列),之所以這樣命名是因為玩家和電腦對手彷彿被一根橡皮筋連了起來。
這種DDA的工作方式是,玩家領先時,電腦對手加速,玩家落後時,電腦對手減速。玩家領先或落後得越多,電腦對手的反應就越活躍。這種DDA目的是使比賽更具“競爭性”,防止玩家在領先或落後太多。然而它極容易被玩家察覺,並且由於電腦對手不受該系統限制,玩家會感覺不公平。
雖然“橡皮筋效應”是賽車遊戲的突出特點,許多其它型別遊戲中也存在相似的機制。例如在體育遊戲中,AI對手總是在玩家領先時突然變強,或者是在RPG中,敵人隨著玩家升級而變強。
這些機制不一定總是糟糕的,但它們經常被過度使用。雖然緊張刺激的角逐令人嚮往,有時把對手遠遠甩在後頭(或者讓玩家來控制電腦對手的強弱)同樣能帶來滿足感。在許多情況下,橡皮筋機制與其它形式的DDA並無不同,除了一點,它很容易被察覺。成功的DDA應該是無形的——玩家永遠感受不到它。
2.短期DDA
某些DDA考慮的不是控制遊戲的整體難度,而是確保玩家不會因遊戲的隨機數生成器而一直幸運或倒黴。幾乎所有電子遊戲中都存在某種隨機數生成器,當事情不如你所願時,你總是感覺很失落(任何連續錯過90%命中率攻擊的寶可夢玩家都可以證明這一點。)
另一個存在隨機數生成器的遊戲是《幽浮:未知敵人》(XCOM:Enemy Unknown),當你在打普通或簡單模式時。在這款策略遊戲中,玩家能夠看到每次攻擊的命中率,然而這些數字並不可靠——在簡單模式中,實際命中率是顯示命中率的120%。
此外,遊戲會根據之前的情況調整這些百分比。如果玩家已經失去了隊友,或者連續幾次錯失目標,命中率會被調高。同樣的,如果外星敵人連續多次攻擊成功,它們的命中率會被降低。
另外一個例子是《馬里奧賽車》的隨機道具系統。玩家越接近第一名,他們獲得的道具就越差。當玩家排在首位時只能獲得金幣和綠龜殼(遊戲中最弱的增強道具),排在第12名時能獲得極強的道具,比如藍龜殼(能夠追蹤並撞倒第一名,基本上無人能擋)和炮彈比爾,這將使玩家在短時間內全面提速,處於無敵和自動駕駛狀態。
這是一種短期DDA,它基於你在比賽過程某一時刻的名次。當你使用炮彈比爾倒一躍升到第一名,你會立刻發現自己獲得的道具弱的多。這種道具分配系統會加強“橡皮筋效應”。
3.長期DDA
一種普遍的長期DDA形式是讓整個遊戲世界隨著玩家升級而升級。《輻射》、《上古卷軸》等遊戲都運用了該系統,它將玩家的等級作為能力的代表,據此調整敵人的強弱。這將防止玩家達到某個級別後輕鬆秒殺敵人而導致遊戲變得過分簡單。
另外一種長期DDA通過跟蹤玩家的行為(比如死亡頻率和升級速度)來逐漸調整難度。例如,當玩家死亡頻率過高時,遊戲會通過一些微調變得更簡單。這將幫助玩家通過遊戲最難的部分,防止他們進入死迴圈。
DDA能夠調節的因素有很多,包括敵人的速度、血量、數量和靈敏性,玩家的血量或攻擊傷害,還有一些環境因素例如道具數量或時間限制。通過逐步微調這些因素,比如在玩家每次死亡後把難度調整到一個理想的狀態,使玩家無法察覺。
這樣做的一個例子是《寂靜嶺:失落的記憶》。玩家在噩夢中被敵人追著跑,遊戲會在玩家每次死亡後慢慢調整難度,從而使玩家得以前進。他們採用的做法是移除AI敵人的一個“感官”(如嗅覺、聽覺和視覺),使敵人更難發現和追蹤玩家。當玩家死亡次數達到一定數量,遊戲開始減少敵人的數量。
4.“永遠開啟”
最後一類DDA與前面幾種不太一樣,因為從技術的角度來看它們不屬於難度調節。然而,它們與DDA存在關聯,因為它們以一種玩家(但願)無法察覺的方式影響遊戲難度。唯一的區別在於它們永遠處於活躍狀態——它們不會基於玩家表現而變化。
一個很好的例子是《鬼泣》(Devil May Cry)系列。儘管同時面對一大群敵人感覺很刺激,但無法抵擋背後的攻擊,或者同時面臨太多威脅而無力應對也會令人痛苦。這也是為什麼在這款遊戲中(和許多其它遊戲中),鏡頭以外的敵人會放慢攻擊速度甚至完全停止攻擊,從而讓玩家專注於他們所能看到的威脅。
《半條命》採用了相似做法。由於同時應對成群的敵人是如此困難,遊戲對敵人進行設定,最多兩名敵人同時向玩家發動攻擊,剩下的則在四周奔跑對玩家進行包抄。
另外一種“永遠開啟”的難度調節表現在遊戲的碰撞系統上。例如,在許多平臺遊戲中,遊戲允許玩家在脫離平臺邊緣的一瞬間跳躍。這可以避免玩家因太慢按下跳躍鍵而掛掉的情況。
相似地,物體的擊中判定面積並不一定像它們呈現的那樣。儘管有時這可能令人失望或產生錯誤,但你也可以將它轉化為有利的事物。舉個例子,我們可以把一些積極的物品(如增強道具和收集物)的擊中判定面積做大一些,使它們更容易被收集。
相似地,我們也可以把地雷或導彈這類物體的判定面積縮小一些。以免玩家覺得自己躲掉了攻擊,結果還是被打中了。
原作者:Caleb Compton
來源:遊戲邦編譯
原譯文:
https://www.gamasutra.com/blogs/CalebCompton/20190715/346613/More_Than_Meets_the_Eye_The_Secrets_of_Dynamic_Difficulty_Adjustment.php
相關文章
- 遊戲機制設計:動態難度平衡、心流體驗與相關設計中的問題遊戲
- 遊戲互動機制探究:是什麼影響了遊戲的流暢度?遊戲
- 讓遊戲更有趣的祕訣:策略與隨機遊戲隨機
- dart系列之:dart優秀的祕訣-隔離機制Dart
- 談談三消遊戲關卡的難度控制問題:元素難度評分機制遊戲
- 遊戲成功的五大祕訣遊戲
- 移動遊戲發行商Scopely的成功祕訣是什麼?遊戲
- 西方手機遊戲在日本盈利的祕訣遊戲
- 高效能網路 SIG 月度動態:推動 virtio 支援動態中斷調節及更靈活的分流機制
- FGO保持制霸手遊界的祕訣:活動案例分析Go
- 回合制遊戲中的10種遊戲平衡手段遊戲
- Runtime底層原理探究(三) --- 訊息轉發機制(動態方法解析)
- JavaScript 動態進度條效果詳解JavaScript
- 變數的策劃日誌(三):遊戲節奏與難度控制變數遊戲
- 全景探祕遊戲設計藝術(2):遊戲機制遊戲設計
- 【自動化】全球最大手機ODM電子工廠探祕!解密自動化“智造”祕訣解密
- 一局被調成噩夢難度的遊戲:“紅米闖關”遊戲
- 益普索:對全球塑膠汙染條約的態度調查
- canvas實現具有粒子效果的動態進度條Canvas
- 做了十幾年遊戲,他的成功祕訣是「沒錢」遊戲
- 遊戲為何而難? 談談遊戲的難度設計遊戲
- jQuery動態進度條程式碼例項jQuery
- js實現動態進度條詳解JS
- java的動態代理機制詳解Java
- 觸動時刻:移動應用成功祕訣(一)
- HTML5中實現進度條繫結輸出結果以及滑動條動態調整顏色案例HTML
- 7大祕訣幫你設計出令人難忘的優秀網站網站
- 預測玩家行為動態調整關卡難度——最小二乘問題求解
- 白金工作室動作遊戲設計祕訣(下):故事劇情遊戲設計
- 電擊都治不了:遊戲成癮機制探祕遊戲
- 榮耀手機自動調節亮度怎麼關閉?榮耀手機關閉調節自動亮度教程
- AlphaGo的制勝祕訣:蒙特卡洛樹搜尋初學者指南Go
- css實現螺紋動態進度條效果CSS
- JavaScript百分比動態進度條JavaScript
- Qt實現炫酷啟動圖-動態進度條QT
- 告別996?資深遊戲PM:遊戲專案開發的高效祕訣996遊戲
- 遊戲中戰鬥的分層結構(上):長線遊戲的“長壽”祕訣遊戲
- 別再只懂得調數值了,動作遊戲的怪物難度還有這些設計方法遊戲