PTT推薦

[閒聊] 《快打旋風6》的「實時旁述」是怎麼辦到

看板C_Chat標題[閒聊] 《快打旋風6》的「實時旁述」是怎麼辦到作者
b1688500
(乎嘎下嘎)
時間推噓22 推:23 噓:1 →:18

《快打旋風6》的「實時旁述」是怎麼辦到的?卡普空親自解釋背後功夫



遊戲開發者會議「CEDEC 2023」已在 2023 年 8 月 23 日舉辦。在首日的講座上,由卡普空的薮下剛史、岩本卓也,以及 Andrew Alfonso 帶來《快打旋風6》新增的功能「實時旁述」的背後運作邏輯。


如果玩家開啟「實時旁述」功能,就能夠在對戰中聽到主播賽評針對遊戲的現況進行實況講解。這個功能其實有 3 大目標。一是傳達目前的賽況、二是精確傳達比賽關鍵點、三則是讓玩家體驗到真實比賽的緊張感。


為了要讓「實時旁述」可以成功實現上面 3 大目標,其實背後可以大略概括承三個處理步驟。從事前開發這套系統時,就要先界定好「什麼時候用什麼台詞」,例如用普通摔的話,就要對應到「摔了!」等相關台詞等。

接著第二個要面對的,就是要讓系統去「找出有哪幾句台詞大致符合現在的遊戲戰況」,例如當對戰真的出現普通摔時,跟普通摔相關的複數台詞就會被系統鎖定。

系統最後一個步驟,就是要選擇「最符合當下戰況的台詞,並撥放出來」。例如執行普通摔指令時,會有「摔了!」、「要摔嗎?」、「這邊用摔技!」等複數台詞被鎖定,接著再輔以由目前戰況構成的變數,選擇出最適合當前戰況的台詞。


不僅如此,每個台詞都有自己所謂的「條件」。這邊同樣以「普通摔」來舉例。當有玩家執行「普通摔」指令時就會對應到 4 種狀況:摔空、摔到、摔到康,以及被解摔;關於體力方面的台詞條件也是,雙方80%、50%、25%、5%血量時都會對應到各種不同的條件。

但其實格鬥遊戲有著許多戰鬥技巧以及狀況,當然必須要盡可能定義出能含括所有狀況的條件,但這仍有極限。開發團隊在用上權力後,遊戲發售時約有350種以上的台詞條件。

而台詞總數對應「與每個條件相關的數量」,為了避免相同的台詞不斷重複出現讓玩家聽膩,基本上會針對每個條件準備專屬的台詞,特別是在重要場景或常發生的狀況時,會設定較多的台詞。

最後畫龍點睛的就是旁述員的情緒了。包括「雙方體力差距」、「體力剩餘量」、「剩餘時間」、「現在第幾局」等都代表著一套變數,系統會根據目前的戰況在背後進行變數計算,得出這個時候的旁述員是應該比較冷靜的播報、還是情緒高昂的播報。


在系統層面上也有問題需要解決。第一是開發團隊在初期無法在確保遊戲60FPS的同時、還能處理超過4000條以上的台詞;第二是必須解決當遊戲「回溯」時的解決方案,因為如果遊戲回溯的話,哪麼實況台詞就有可能跟回溯後的戰況不同。

那麼該如何解決這兩個問題呢?開發團隊決定不讓旁述系統即時抓取當前frame數、而是抓取約當前frame數0.3秒前的frame數來做決定。這樣的好處可以減低系統處理的負擔,同時因為0.3秒前的frame數已經是比可能發生回溯frame數還要更之前的,所以自然也不用擔心發生回溯時播報台詞對不上的狀況。


至於台詞總是與各條件這麼多,到底該怎麼樣進行調整呢?答案就是投入大量的人力去進行除錯。雖然也是有運用一些工具來讓工作更有效率,但花費的時間依舊非常可觀。

雖然大部分玩家通常會將這個功能關閉(包括筆者),但是在了解卡普空在這套新系統背後投入的努力後,下次不妨開啟「實時旁述」打個幾場、體驗自己被實況播報的感覺吧!

https://www.toy-people.com/?p=83045


-----

https://youtu.be/43-M8SimYCU

大部分玩家都還是關掉居多吧?

--

※ PTT留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.45.146.27 (臺灣)
PTT 網址

WildandTough08/25 17:13等哪天加進石頭跟魯比我再打開 不然好吵又聽不懂

yniori08/25 17:14阿不就NBA2k系列

gn0125266708/25 17:14開過,但Ai始終是Ai,講解很沒感情,而且常常重複同樣

gn0125266708/25 17:14的話

Annulene08/25 17:15籃球 足球 摔角都有就是了

sdd542608/25 17:15體育遊戲:蛤 這是值得拿出來說的事?

kuninaka08/25 17:17好酷

senas08/25 17:18這感覺蠻雞肋 好像很多人都關了

hsiung908/25 17:19股市 天氣都行

hoe110108/25 17:19新手會用幾次吧,發現吵死了影響我看畫面

hoe110108/25 17:19不過那個可以看高手對戰REPLAY功能我覺得很不錯

rocky827308/25 17:21最近會開那個很像重金屬搖滾雙面人的來聽,配一個講話

rocky827308/25 17:21溫溫的主播還蠻好笑的

DoraB08/25 17:22換個角度想 用這技巧設計出來的敵人戰鬥AI會是多麼靠北

pikatonn08/25 17:22可惜沒收錄なない和大貫...

dreamnook208/25 17:24考杯 結果是工人智慧XD

juncat08/25 17:26應該會有中文語系吧 只是看看是哪種腔調

shiinalingo08/25 17:27我想要こくじん的播報ww

shinchen08/25 17:27動作遊戲很常被靠北的電腦讀指令就是這樣啊 這篇技術上

shinchen08/25 17:28另外多處理的是連線有rollback的狀況

pikatonn08/25 17:28小中人形! 小中中 小中中 小中中大!

t7713356200308/25 17:31還蠻無聊的其實

syldsk08/25 17:37可以預判再叫我

hk12990008/25 17:38球類運動早就有了就是 不過大多不會去聽

hitsukix08/25 17:39根本不想開啊XD

shentotto08/25 17:39因為日文跟英文聽不懂啊

qoo6060608/25 17:48EA:?

h7531141808/25 18:10那個功能超好笑的主播認真講解,另一個講的很滑水XD

h7531141808/25 18:11有 中文字幕呀

egg78108/25 18:31覺得很干擾沒開過

hugh707308/25 18:39實況功能VF之前就有了

stezer08/25 18:43金錢拿球

sasakihiroto08/25 19:00還不少職業選手開台會開

h7531141808/25 19:11可能有小比賽沒人播報就可以開來用

louner08/25 20:24挺有趣的 感覺有機會用multi-model來解而非heuristics 可

louner08/25 20:24以蒐集以前大賽的遊戲紀錄與實況弄成平行語料 去finetune

louner08/25 20:24 speech-text的pretrained model 搞不好就能實現AI自動實

louner08/25 20:24

louner08/25 20:25剛好最近FB有釋出seamlessM4T 可能有搞頭

louner08/25 20:29不過不確定遊戲紀錄用文字表示適不適合 可能不行吧

oscarss0708/25 20:44全民打棒球的徐展元不是也是差不多功能?