您在這裡

[GDC2024] 讓節奏與動作全面同步!《Hi-Fi Rush》的逆向開發手法

1 篇文章 / 0 新
[GDC2024] 讓節奏與動作全面同步!《Hi-Fi Rush》的逆向開發手法

由 Tango Gameworks 製作的《Hi-Fi Rush》,是 2023 年的黑馬級作品,融合節奏要素與動作的遊戲玩法、與該公司過往作品截然不同的明亮幽默風格,再加上突如其來的發表與發售,都讓本作為玩家帶來了不少驚奇。在 2024 年 GDC,本作總監 John Johanas 分享了關於本作獨特的「逆向開發」手法,以及建構正向遊戲循環的方式。

本場演講有在 GDC 的官方頻道上免費提供,可與本文一起搭配觀看:

John Johanas 是 Tango Gameworks 的遊戲設計師,從公司剛成立時就加入,當時還是沒有開發經驗的菜鳥,參與了《邪靈入侵》的遊戲和關卡設計,並在《邪靈入侵2》晉升遊戲的總監,在完成《邪靈入侵2》後,接著擔任總監的作品,就是本次演講的主題《Hi-Fi Rush》。

「總監」(Director)這個職位,在不同的團隊裡,代表的職責意義可能不盡相同,以《Hi-Fi Rush》來說,總監的工作相當於遊戲總監加創意總監,同時,他也負責了故事跟腳本的撰寫,還有一些遊戲機制設計、關卡設計等等,幾乎整個遊戲的各方面製作都有參與到。再次強調,直到進入遊戲開發末期以前,《Hi-Fi Rush》的團隊規模都相當小,因此每個成員幾乎都需要負責不只一個面向的工作範圍,甚至超出他們原本的職能。

《Hi-Fi Rush》這個專案的起源,是在《邪靈入侵2》結案後,Tango Gameworks 正接著開發《鬼線:東京》的時期,但一連推出了幾款恐怖遊戲,John 覺得他們已經被外界定義為專門開發恐怖遊戲的工作室,於是向公司提出了一個他很想做、而且已經私下計畫了一段時間、與公司過往作品截然不同的遊戲企劃。具體來說,那將是個色彩繽紛、充滿時尚感的 3D 動作遊戲,而且遊戲世界裡的一切動作,都跟音樂節奏同步化,營造出彷彿有個音樂錄影帶(MV),是隨著玩家的行動即時編輯的感覺。

當 John 向公司提案時,原本以為這會被當成笑話,結果並沒有,同事們的反應相當良好,但多少還是有一些擔憂,畢竟他們確實缺乏這類型遊戲的開發經驗,光是在企劃書上看起來很酷的點子並不盡然可以實現。為了讓專案能夠順利被推動,John 開始著手遊戲的原型開發。

《Hi-Fi Rush》是一款「節奏動作遊戲」,所以這到底算「節奏遊戲」還是「動作遊戲」?為了解釋這一點,他將兩種類型遊戲放在一個光譜上,最極端定義的節奏遊戲,是玩家的所有動作都必須跟音樂節奏綁在一起,玩家沒有自由發揮的空間;相對的,最極端定義的動作遊戲,則是玩家擁有高度的自由性,幾乎不會被限制該怎麼行動。在這個光譜裡,《Hi-Fi Rush》是落在更接近動作遊戲的位置,玩家有高度的自由決定什麼時候想做什麼操作,但同時,希望玩家的動作自然隨著音樂節奏產生一定的同步性,為了不給玩家行動受限的感覺,刻意隱去了節奏遊戲式的介面,目標是用節奏要素來強化動作元素,而不是被節奏限制而綁手綁腳。

遊戲的原型主要由 John 和一名程式設計師製作,僅在動作、音效、特效方面有請他人協助提供一些素材,他們花了大約 9 個月的時間,開發出一個 10~15 分鐘長度的遊戲核心原型,主要聚焦在戰鬥上,這個原型刻意不導入美術方面的設計,純粹專注在音樂節奏與遊戲的結合,而結果證實了這個概念確實成為了一個有趣且可以理解的體驗,也讓這個專案獲得了上頭的許可,進入正式的開發。

這邊 John 播放了一小段遊戲原型的影片,可以看出其實遊戲原型的玩法跟正式版遊戲已經十分相近。

再來就是實踐這個玩法的方式了,John 所設想的,是讓遊戲內的每個行動,都隨著四分音符間隔的節拍,產生明顯的衝擊感,因為當節奏伴隨著衝擊時,就會為動作提供顯著的回饋、強化同步感,而且會覺得很爽!這其實就跟很多 MV 或者電影預告的剪輯方式一樣,當影像隨著音樂節奏剪輯時,就會對觀眾產生更強的震撼力。問題是,做遊戲並不是在做 MV,特別是強調操作技術的動作遊戲,遊戲性是建立在玩家的指令輸入上,該怎麼做才能讓玩家的行動與節奏合拍?

他們所想出的做法,是從結果回推的「逆向開發」。首先,使用 Wwise 取得遊戲音樂的 BPM(每分鐘節拍數),然後將 BPM 轉換成「tick」,定義遊戲內每個四分音符間隔的位置,最後是讓遊戲內的動畫跟行動,都配合 tick 所分布的時間點進行補差,他們將這套系統命名為「節奏同步系統」(RSS)。簡單講就是,玩家不用在意拍點在哪,遊戲會為玩家找出來,並且自動幫玩家的行動對上拍點,達到開發者預期的效果。

例如,這是一個最基本、長度剛好 1 拍的的輕攻擊,如果玩家完美的在拍點輸入攻擊鍵,攻擊動畫會是在下一個拍點達到衝擊點;如果玩家輸入稍慢,那攻擊動畫的播放速度會加快,依舊是在下個拍點時達到衝擊點;反之,如果玩家太早輸入了,那攻擊動畫就會放緩,最後一樣在下個拍點時創造衝擊。這個「強制對拍」的邏輯在整個 RSS 下是不斷發生的,不只是可以用在玩家的主動輸入動作(例如按鍵攻擊),在被動型的動作上(例如持續推動方向鍵跑步)也可以使用。

接著就是要建構遊戲的正向核心循環,並將其拓展。實際上,RRS 系統確立後,一個為玩家帶來正向循環的系統也跟著成形了。以攻擊動作來說,當玩家按下攻擊鍵後,在下一個拍點就會命中對象,由於命中的當下,正是玩家的下一個完美輸入時機,自然就會引導玩家主動的跟著節奏進行下一段攻擊,不用透過 UI 或強制性的規範,就能創造積極的正向回饋循環。

這種正向的遊戲循環,目的是讓玩家感覺自己像是個搖滾巨星,而重要的是,隨著節奏進行動作輸入,是要讓玩家覺得這樣玩起來更爽、有更強的回饋,卻也不能因此限制了玩家的操作自由,因此他們並不希望讓沒有跟隨著音樂節奏行動的玩家受到懲罰,畢竟這遊戲不是專屬於懂音樂或節奏感強的玩家,即使表現不完美也無妨,只要自己感覺很爽就行!你可能有注意到,遊戲的主角阿茶,本身也不是個具備專業背景的音樂人,這其實也是配合遊戲核心概念拓展而生的設定。

正向循環成立的關鍵是足夠的回饋,他們在非常多不同的面向上都設計了強化回饋感的表現,最基本的是,當玩家在拍點上輸入攻擊,就會發出「耶」或「嘿」的人聲,彷彿是歌曲的合聲,是一種立即且顯著的回應。另一個例子是,玩家進行衝刺時,本來就會有一個衝刺音效,但如果輸入衝刺的時機在拍點上,就會再添加一個鼓聲。諸如此類的音效加入雖然很細微,不仔細觀察可能會忽略,但眾多動作累積下來,就會讓玩家的動作與音樂節奏產生更明顯的呼應。

不僅止於增添音效,許多遊戲 UI 介面也會在玩家正確跟著節奏輸入時,給予玩家更多回饋,像是懸浮在玩家身旁的夥伴貓會發出特效圖案、血量槽會有電光閃爍與圖像縮放等等,當然還有手把震動這種物理上的回饋。遊戲裡也有評分系統,玩家的節奏抓得愈好,就會獲得愈多加分,不過遊戲並不會因評分較低而給予玩家懲罰。

此外,遊戲裡還有隱藏的回饋元素,那就是額外的傷害獎勵,如果玩家的輸入節奏愈準確,那敵人也就更快被解決,但他們刻意不顯示攻擊的傷害數字,以免玩家過分在意傷害值的差異,而是讓玩家隱隱感受到「跟著節奏打會愈打愈順手」的成就感。

相反的,如果玩家沒有跟上節奏,就不會有這些額外的效果與回饋,但玩家的攻擊力依然維持在正常數字而不會被降低,因為有 RSS 在補差的關係玩家的攻擊動畫還是會落在拍點上,少了額外的回饋也不至於讓人覺得遊戲玩不下去,唯一比較明顯的是戰鬥過程的評分,還有戰鬥結算畫面,會顯示玩家需要改進的地方,但在遊戲過程中,他們並不會用負面回饋去打干擾甚至打斷玩家的遊戲進行。

不過,在特定具備顯著節奏遊戲元素的系統上,他們確實使用了 UI 來讓玩家看得到輸入時機與結果差異,畢竟節奏遊戲的重點就是判定明確而不是讓玩家自己去猜。

最顯著的例子,是連段攻擊的結束技「Beat Hit」,畫面上會顯示隨著時間縮小的紅圈,與提示正確輸入時機的綠圈,當玩家在完美的時機輸入,會有「Perfect」的字樣、爆炸特效、和集中效果線。如果輸入時間稍微偏差,雖不完美但仍算成功,會顯示「Good」字樣,也會有爆炸特效,但就不會有效果線。最後是輸入時機差很多的情況,從技術角度來看,這確實算是玩家的失誤,但他們還是依然會讓角色做出結束技動作,只是沒有其他額外特效,玩家的動作不會因此被停頓或取消,所以感覺不會太糟糕。

總之,本作就是刻意淡化負面回饋,相對於成功時的「Perfect」、「Good」,失敗時並不會出現「Miss」字樣。其實,玩得好不好,玩家自己心裡知道,不用一直跟玩家強調「你很遜」來打擊玩家興致。

前述的戰鬥系統雖說是開發遊戲時最大的挑戰,卻同時也造就了遊戲最大的優勢特色,不僅如此,他們還要更進一步的將這個核心機制融入到遊戲的其他各個方面。接下來會再次用到「衝擊」這個詞,這邊是指音樂節奏與玩家體驗相互交融的感受,而不是單純的物理打擊。

他們現在有了一個可以將遊戲內各種東西都與節奏同步的 RSS 系統,但他們從遊戲原形的開發階段就已經意識到,如果先設計一個功能,再強制把這個功能加上節奏性,有時候會給人感覺太硬要,甚至產生衝突感。因此,他們採定的是,先預期想要創造的衝擊,然後再逆向設計所需要的節奏性。

簡單來說,就是設定好每個動作的都有一個衝擊時機,可能是單個節拍、歌曲的開頭或特定部分、某個樂器的獨奏起點等,然後再從這個時機反過來設定動作的起始點。

例如關卡內的「門」,門會在玩家靠近時自動打開,而當衝擊時機到來時,門會剛好完全打開(或完全關閉),因此門的開啟速度其實會自動調整,讓玩家不管在音樂演奏到何時觸發開門,門都會在音樂拍點上剛好打開。這個速度差異可能微小到難以察覺,因此他們在遊戲畫面底部有疊上一層開發測試專用的節奏譜面,以確保動作都有設定在理想的拍點上。

不僅只是這種關卡內的物件細節,就連關卡設計本身,都是基於樂曲的結構性。這邊可以看到其中一個關卡的設計概念圖,安排了關卡內的戰鬥與事件發生的節點,這些節點都發生在樂曲結構上的高潮或低谷,例如在樂曲間奏時是關卡行走部分、樂曲來到副歌時就進入戰鬥部分,他們就是透過這樣的方式,先鎖定了什麼時間要發生什麼事情,再逆向回去布局關卡。

《Hi-Fi Rush》遊戲中除了原創歌曲,還使用了許多授權來的既有歌曲,他們選用這些歌曲是基於想向這些歌曲致敬,因此不能是只當作背景音樂而已,而是讓遊戲內容都圍繞著歌曲來反向創作,也就是先選定了曲子、再設計關卡,他們會去分析歌曲的結構,並將遊戲事件引入其中,讓遊戲過程就像是這首歌的 MV。

這邊用第一個 BOSS 戰「QA-1Mil」來說明具體的流程,這一關使用了 Nine Inch Nails 的歌《1000000》。首先第一步,就是拆解歌曲的結構,將導入、小節、銜接、副歌等部分拆出,確認可以循環播放的部分,接著第二步,設定樂曲各個段落過程中將發生的戰鬥或事件,讓音樂與遊戲情節產生聯繫。

再來呢,是設定樂曲依照玩家遊玩進度而變換演奏段落的時機,例如說當樂曲播到歌詞演唱段落的時候,你當然不會想要歌詞唱到一半就突然切入下個段落,因此他們必須要有動態調整機制,像是當玩家打得太快太好時,會自動調整 BOSS 血量的削減速度,讓他等到副歌唱完再死,又或者如果玩家打得太慢,則會多重複幾次循環段落等等,以保持歌曲的結構。由於每場 BOSS 戰的流程、每首歌曲的結構都不同,因此他們必須要一個段落一個段落的安排。

在完成段落安排後,接著第四步就是將音樂或節奏要素對應到 BOSS 的動作裡,他們會仔細拆解音樂,在各個音軌之間尋找可以用於某些動作或攻擊的節奏,再以此設計 BOSS 的行動,例如 QA-1Mil 這個 BOSS 會從手中射出雷射光,而雷射光的射擊節奏,就是對應到樂曲裡特定段落的電吉他和弦。

不僅 BOSS 的動作,關卡場景裡還有很多物件,也是能夠用來跟音樂節奏相呼應的元素,背後的走馬燈、電子看板、地面的燈光等等,幾乎能動能變化的東西,都具備與音樂節奏同步化的可能性。

當然,並不是所有節奏片段都適合用來跟畫面同步,也不見得同步了效果就會好,除了樂曲各個段落要發生什麼事情在確立之後就盡量不去動之外,其他步驟都需要反覆的調整與試驗,以找出最適合的效果,即使到開發的最終階段,這種調整都還在持續進行,幾乎沒有明確「OK,這樣就夠了」的終點,真的就像是《1000000》這首曲子一樣,試了一百萬次。

而比起 BOSS 戰,一般關卡過程中的節奏同步設計難度又更高了,因為一般關卡的範圍較大,玩家的行動有更多的可能性,他們當然希望玩家能夠配合音樂的段落行進來遊玩,但又不可能直接限制玩家的行動,因此必須在很多地方費盡心思的調整音樂段落的切換時機,保有讓音樂去配合玩家、而非要玩家去配合音樂的效果。

以遊戲初期一個脫逃場面為例,玩家必須要利用多個磁力勾索向前擺盪到對面的平台,而遊戲會在玩家成功落地當下切換音樂段落。因為玩家來到這邊的速度有快有慢,音樂可能才剛開始播新一小節的 loop,或是要到 loop 的尾段了,為了讓音樂能夠自然銜接,依據玩家抓到第一個磁力勾索的當下,遊戲會計算剩餘的節拍數,自動調整這一段路徑的勾索數量與著地動畫的長度。

他們預設的完美路徑是經歷 4 次勾索擺盪、2拍的著地動畫,但在不同的情況下,勾索的數量跟著地動畫長度都會增減,總共有多達 18 種排列組合。這需要花費很多調整上的努力,像是勾索數量變化之後,路徑跟運鏡也都會有差異,而且理想狀態下,玩家並不會察覺到這些變化,只會感受到動作、畫面與音樂上的同步性。

上述例子只是遊戲中的一小部分而已,整個遊戲裡還有許多像這樣的情況,但並沒有一個能夠適用所有問題的解決方案,只能個一個一個好好處理。不過,在開發設計的邏輯上,他們始終保持一致,也就是從想要帶給玩家的目標體驗,逆向的回推該如何設計。而這樣子的工作流程,也完全改變了過往的工作時間表,各個團隊都必須要在很早的階段就參與協助遊戲的功能開發,特別是音樂音效團隊,這跟過往先有了畫面再配上聲音的工作流程完全不同。因此,必須很早就確立遊戲的方向、讓整個團隊接受這樣的概念,並且願意重新思考他們在這個專案上可以用什麼方式來作業。

最後來到結論,《Hi-Fi Rush》的開發流程跟過往的作品十分不同,他們在專案的前期花了很多時間才試出一個適合用於這整專案的開發流程,以應付要實現這個遊戲概念所會碰到的獨特挑戰。雖然有些說法看起來根本就是基本常識,但意外的,當你在努力投入開發一個不同以往的全新專案時,有時候反而會忘了這些。

首先,是要訂定明確的最終目標,從一開始他們就確立了這次的逆向開發手法,並將其清楚傳達給團隊成員。接著,是專注將關鍵的功能及早放入遊戲中、讓遊戲達到可玩的程度,這樣能夠讓「概念」化為「具體」。然後,就是反覆迭代早期版本,持續加入元素,讓細節一次一次的打磨。這些步驟讓開發團隊可以在很早的階段就清楚最終產品的形象,而不會有開發到中後期模糊了方向的情況發生。

這個工作流程,他們實踐下來的結果是成功可行的,但也會碰到許多困難與挑戰。例如,當開始進行任何事情之前,都需要建立一個超巨大的時間表,要花很多時間在前期製作上,像是談音樂授權就很花時間。而且,這種開發流程,會讓遊戲在開發過程很難有重大的改變,一改就是整個部分都得重做。再來,就是遊戲中幾乎每個部分都是配合音樂量身打造,即使有些元件可以在不同場景與關卡間直接重複使用,仍需要大量的手工調整,並意味著遊戲的製作過程需要極度誇張的細節管理。

即使他們已經有著可以調整動作與音樂節奏同步性的系統,但音樂帶給人的感覺並不總是邏輯性的,有的時候,數值跟程式都運作正確,呈現出來的感覺就是不對,開發團隊不得不一直回頭調整一些理論上運作正常但結果卻不完美的東西。但,或許我們很容易忘記一個重點,那就是當開發過程碰到了挑戰,並不代表所有問題都一定要克服或修復,而是要及早認知這些挑戰的存在,及早做好與這些挑戰共存的準備,減少碰上了問題才在想怎麼解決的狀況,更加集中精力在提升遊戲的內容與品質。

開發《Hi-Fi Rush》是種全新的挑戰,他們必須要放下過往開發恐怖遊戲的經驗,以謙遜和重新學習的態度來應對。及早讓遊戲運作起來,確保團隊的目標一致、提供良性的回饋並迭代。確立遊戲的核心體驗,並且找到方法來實踐,就如同他們的方法是「從結果逆推的逆向開發」一樣。

很遺憾在這篇文章撰寫到一半時,開發《Hi-Fi Rush》的 Tango Gameworks 公司已經被母公司微軟解散。但相信具備這些寶貴開發經驗與能力的團隊成員們,一定也還能夠在未來開發出讓人眼睛一亮的作品。也希望這篇文章能夠對讀者帶來一些助益。