※ 本文轉寄自 ptt.cc, 文章原始頁面
看板C_Chat
標題

[閒聊] 薩爾達傳說 王國之淚 通天術幕後製作秘辛

最新2024-09-14 04:44:00
留言102則留言,66人參與討論
推噓57 ( 57045 )
原文標題: 【CEDEC 24】《薩爾達傳說 王國之淚》開發團隊分享「通天術」幕後製作秘辛 原文網址:https://gnn.gamer.com.tw/detail.php?sn=273737 於遊戲開發者會議「CEDEC 2024」舉辦期間,任天堂開發團隊舉辦了「《薩爾達傳說 王 國之淚》打造地圖與 QA ~通天術的背後~」講座,講述貫徹作品的功能與效率化的重要 性。 本次講座登場主持的是在任天堂的企劃製作部擔任 QA 工程的大礒琢磨,負責環境程式設 計的朝倉淳,以及負責地形領銜美術的竹原學。本次講座以「通天術」為主題,只要是玩 過本作的玩家就一定會時常用到的這項功能,三位演講者將分別介紹在本作開發時究竟是 如何進展的呢? https://p2.bahamut.com.tw/B/2KU/71/a9358f7ca112f272436d5813211reoz5.JPG 任天堂企劃製作部的大礒琢磨(前左側)與朝倉淳(前右側)以及竹原學(後側) 通天術是如何誕生的呢? 講座首先由大礒進行通天術的講解。 所謂通天術,指的是在《薩爾達傳說 王國之淚》(以下簡稱《王國之淚》)登場的主角 林克能夠使用的能力之一,只要一發動就能讓林克從現在的地點垂直往上穿越天花板,並 直接爬到天花板上。雖然在林克頭頂的垂直空間為非安穩空間的話就無法使用,但是在具 有厚度的天花板,或是洞窟內等地方都能使用。就算是在地底世界也能透過連結到地表的 石柱進行垂直移動,直接回到地面世界。 這個功能一見之下很容易產生問題或是 BUG,讓人覺得要加入遊戲中很困難。但實際上, 很簡單的就製作出來了。而能夠完成通天術的理由,據說是三人各自以別的目的推動的工 程促成的。那麼,三人各自做了什麼嘗試呢? https://p2.bahamut.com.tw/B/2KU/72/2c05e59404e5e215a5b84a3a341rep05.JPG 一致的構造在應用上很有效率 核心部分放在最後再說明,首先由朝倉發表自身的嘗試。 身為環境程式設計師的他,在前作《曠野之息》主要負責讓世界中的物體能夠燃燒、通電 和起風的「化學引擎」,以及可以長出自然的草的生成程序程式設計。 在《王國之淚》中,也著手開發了能讓世界中的花草與生物在正確地區出現的動植物生態 系統管理程式、控制氣候和天氣的程式等。 https://p2.bahamut.com.tw/B/2KU/73/cf50af8a9f45226e7bdc3ca8721rep15.JPG 而朝倉推動的就是「一致的存取地形資訊的方法,也就是提供體素資訊」。 在前作《曠野之息》的地形資訊,當然也是有各種起起伏伏的地形,但若是以世界整體來 看的話可以將其概括為平面。也因為這樣,如果準備了單純的二次元平面資料的話,就可 以把各地的座標對應的資訊整合匯集起來。 https://p2.bahamut.com.tw/B/2KU/74/613b3caf53f5b654c05780f4651rep25.JPG 地形資訊中,包含了生物距離水或熔岩的距離還有森林密度等資料,遊戲內的程式隨時可 以參照這些資料。依據這個功能就可以改變出現在森林或熔岩周邊的動物種類,或是也可 以避免熔岩裡出現了動物,且在出現的同時直接被燒掉的窘境。 但是在《王國之淚》,由於追加了空島與洞窟等特殊的地形,讓整體世界擴張了垂直方向 。也因此讓長期使用的二次元平面資料無法對應。 既然這樣,那就在複雜構造的場所使用專門的平面資料不就好了嗎?然而,若使用這項方 法的話勢必會讓好幾層資料疊加在一起,也就會變成更容易釀造出 BUG 的溫床。以防萬 一,朝倉便開始考量不透過特殊方式就能解決問題的方法。 最後得出的結果,就是將地形的表面粗略體素化,並且將資料匯集到這些體素。 https://p2.bahamut.com.tw/B/2KU/76/83bb44f192e7b62e6c4e114d151rep45.JPG 為了將地形表面的資料匯集到體素,首先需要將玩家可以到達的地表全部找出來才行。為 此,必須要模擬玩家的移動、並逐步追蹤。接著在可到達的地表按一定間隔進行 Raycast (取得光線照射到的座標的方式)的話,也許就能一次調查清楚。而且生成的地表面座標 已經依照一定間隔排好的關係,也可以直接使用在體素的位置。 https://p2.bahamut.com.tw/B/2KU/77/07ae40bf338f3427cb2eca6d1d1rep55.JPG 當然,如果要對遊戲內整個世界採取這個方式,龐大的計算是必要的。但如果使用專門針 對幾何處理的 DCC 工具.Houdini 就可以高速進行。將幾何資料與材質屬性等匯入,並 在 Houdini 內重現跟遊戲內同樣的地形衝突,就能以 Raycast 處理。如此一來就能找出 玩家能夠到達的地表,並成功生成其體素。 https://p2.bahamut.com.tw/B/2KU/78/db62d30e4049a0dae965ec19d51rep65.JPG 因為這項計算處理十分快速,對全世界的地形處理只在一夜之間就能完成。因此在開發期 間,對於每天都有變化的地形,體素的更新也能持續進行著。 而且因為體素裡的資料,也包含了地形的材質資料,所以能在 Houdini 進行計算。如此 一來不論是洞窟或在建築物內,只要參照周圍的體素,就能夠處理所有的情況。 https://p2.bahamut.com.tw/B/2KU/79/96e1c80db22319c57fec65df521rep75.JPG 雖然這已經達到了當初的目的,但是體素化後的資料超越想像地能用在各式各樣的地方。 由於比起在地形衝突使用 Raycast,對體素進行 Raycast 的方式快了十倍不止的關係, 就算只是想大概參照周圍的地形也能方便使用。例如在處理音效等就能充分利用這個方法 ,連在洞窟內的聲音回音等效果也都能利用。 https://p2.bahamut.com.tw/B/2KU/80/6c5defb17900dace4ddf8b57641rep85.JPG 在畫面方面,想要用流體模擬器驅動霧氣特效時,計算流體用的網格也能利用。除此之外 還有許多應用實例,能夠做到這個地步,正可以說是因為在最一開始就統一了構造。 https://p2.bahamut.com.tw/B/2KU/81/8143a567b14ea23e5abac636be1rep95.JPG 如果減少回報與修正的負擔,遊戲就會好玩 接著換 QA 工程師的大礒進行發表。 接續前作繼續擔任 QA 的大礒,在本作有了新的發想。那就是「身為 QA 工程師只要追求 無 BUG 的遊戲就對了嗎?」如果為了減少 BUG 的產生而砍掉有趣的功能,豈不是本末倒 置了嗎? https://p2.bahamut.com.tw/B/2KU/82/4a2f6f75b071fef9db07f6d2491repa5.JPG 但又說回來,能讓遊戲變得有趣的作業,是什麼樣的東西呢?那就是不斷地重複「將點子 試作出來,實際確認好不好玩」這樣的循環;而這也跟 QA 的作業相像。去除掉產生 BUG 的原因後,親自確認有沒有徹底解決。不斷重複這樣的作業確保遊戲品質越來越好。也 就是說只要雙方不停地循環這些動作,BUG 就會變少,進而誕生出有趣的遊戲。 https://p2.bahamut.com.tw/B/2KU/83/5ec2e1614c02148b93c35b5c871repb5.JPG 但是在這循環裡重要的,就是對 QA 工程師來說很常見,能讓製作與確認的工程效率化的 除錯功能。不論是隨意生成敵人,或是直接傳送到地圖特定位置的方便功能,不僅限於除 錯的時候,也能活用在遊戲製作中的各種場面。 https://p2.bahamut.com.tw/B/2KU/84/a2cc22b5fe63f090681d7e9d881repc5.JPG 在本作的除錯功能,也追加了顯示負責的難度設計師與美術的要素。有了這個小功能,在 發現 BUG 的時候不只是能立刻知道要找哪個負責人,當難度設計師要向別的開發者說明 新的事件等的時候也能活用。像這樣不僅限於除錯的主要功能,在開發上也陸陸續續加裝 了能派上用場的功能。 https://p2.bahamut.com.tw/B/2KU/86/2bb3bfa801ab3641beee618ea51repe5.JPG 此外也準備了針對除錯的功能。例如當電腦玩家發生遊戲崩潰的時候,應該都有看過一個 錯誤報告的視窗跳出來對吧。本作的測試環境也有同樣的功能,當遊戲崩潰時,就會自動 收集各種資料,並匯集成一份報告。再加上也有手動追加備註資料的功能,如果是已經回 報過的 BUG 就能迴避遊戲崩潰繼續進行作業。 收到錯誤報告的人,也能根據回報資料有效率地調查、修正,還可以從統計資料知道 BUG 是在什麼時候開始發生,又或是在哪個區域發生的。 https://p2.bahamut.com.tw/B/2KU/89/7395c84066a4fbe803d4c8c8751reph5.JPG 而這些功能也能活躍在在地化用的工具上,像是為了能讓人清楚分辨應該翻譯的單字是出 現在哪個場面,所以有自動拍攝截圖的功能。並且跟可以確認劇本流程圖的工具等連動, 提高翻譯品質與讓作業更加效率化。 https://p2.bahamut.com.tw/B/2KU/91/0c53f2ff6a8340cdda4e7266251repj5.JPG 感受到除錯作業提高效率的大礒,甚至考慮想要將這個功能開放給測試人員。但是要能完 全使用這些功能的話,必須要讓測試人員與開發團隊擁有同等的權限與共享資訊。而且若 是改成對開發者來說越是好用的東西,對測試人員來說就會越難操作,他也察覺到了這樣 兩難的情況。 https://p2.bahamut.com.tw/B/2KU/93/cb45097fa6fbfac925a866a03e1repl5.JPG 那麼,只要消除掉彼此間的差異就好了吧。於是大礒提出了這項改革,往後讓測試人員與 開發團隊擁有相同的權限、共享同樣的資訊,並且整理了能夠使用同樣工具的環境。接著 打造能夠適當使用工具的實踐環境,且配合連同付費認證的工具 —— 也就是上述提到的 Houdini 與管理版本的工具等,一併提供給測試人員。 https://p2.bahamut.com.tw/B/2KU/70/cbade5de44c9f392f04cf459d11reoy5.JPG 採取這樣的方式之後,讓測試方能夠做到發現只在特定條件出現的稀有 BUG,甚至連八爪 怪章在每一種攻擊模式下的傷害量等遊戲平衡,都可以提出回報。 https://p2.bahamut.com.tw/B/2KU/95/957e5cc0919961b1e46c5e24da1repn5.JPG 大礒最後提到,以結果來說,在有限的時間內將遊戲打磨得更加完善完美,這些都是非常 有用的方式,不僅於此,讓開發人員與測試人員擁有團隊意識這點也具意義。並不是對立 ,而是能夠從同樣的方向面對作品,致力於製作得到的成果才能變得豐碩。 https://p2.bahamut.com.tw/B/2KU/96/0a8dfd72a1dedbb3cbc60899cf1repo5.JPG 找出只有人力才能處理的部分,其他全都自動化 接著,最後來到地形領銜美術的竹原發表。 在前作監修與製作全體建築物,到了本作負責地形美術的整體監修與製作的他,摸索了能 夠一面確保地圖品質一面讓作業效率化的手法。 https://p2.bahamut.com.tw/B/2KU/97/a76bc720d1708cebc9e6c7d2f71repp5.JPG 當然,如果可以將各種情況都效率化的話自然是最好的,但身為美術的責任就是不能犧牲 品質。不過《王國之淚》為了要給玩家全新的體驗,必定會用上數不盡的美術資源。遊戲 世界的地面面積比起前作多了 2.5 倍,如果還照著以前的方式那麼人力不足的問題必定 會發生。然而,如果貿然增加人手又會變得難以控管品質。為了對應如此大量作業的新體 制、工具、工作流程都是必要的。 https://p2.bahamut.com.tw/B/2KU/98/f90795f04006dc88d00816fa6d1repq5.JPG 其中最要求效率的就是洞窟了。藏在海拉魯世界多達 200 個以上,且每個都有附加各種 不同玩法的洞窟,為了讓玩家有良好的遊戲體驗,重複試錯更是必要的。是個不斷進行檢 討、製作然後體驗的循環。但是如果在還沒摸清就進行自動化的話,失去重要東西的可能 性也會隨之提高。於是,首先要思考的就是「不能自動化的東西是什麼」。 https://p2.bahamut.com.tw/B/2KU/00/6793bb86b7114b23064a1db7541reps5.JPG 首先無法割捨的,便是創造玩法的難度設計,同時也是遊戲體驗的核心部分。接著,是伴 隨難度設計而配置資源素材的作業,也就是小道具跟敵人據點配置等。加上洞窟內會出現 的美術設計,也希望能讓美術可以控制。簡言之,能夠自動化的作業,就只有跟玩法無關 的部分。 遵循這個原則,跟程式一起討論如何將洞窟的工作流程最佳化。得到的結果就是「洞窟系 統」。這個系統能夠控制不影響難度設計的裝飾部分,且能讓美術控制,經由程序程式生 成。 https://p2.bahamut.com.tw/B/2KU/01/9a8b6707b3e37c4fca20d8f9901rept5.JPG 在洞窟系統登場之後,變成能夠同時進行難度設計與裝飾的作業。如果是像以前直線型的 工作流程,在前面的工程完成之前是很難進行其他作業的,所以光這部分就可以說是很大 的進步。而雖然說是為了洞窟專用而誕生的系統,但回過神來也能利用在生成鐘乳石或空 島地圖,作為工具來說的成效相當高。 https://p2.bahamut.com.tw/B/2KU/02/af146d5f9aea7a00d0aec14a891repu5.JPG 而且,美術們的觀念也產生了變化。原本對手作業很執著的他們,也會開始提出自動化的 點子。在實現了能不動到創意要素的自動化系統這件事之後,也能分清楚該保護的部分與 不用保護的部分。 https://p2.bahamut.com.tw/B/2KU/03/18633df59080677b1c657da3011repv5.JPG 不過地形的除錯也是個難題。特別是確認克洛格的位置無法自動化,因為這是必須要人力 親眼確認的作業。那麼,可以省略的部分在哪裡呢?那就是從現在地點前往目標的移動時 間。 這部分就利用了開發基礎團隊製作的自動拍攝功能,製作了拍攝克洛格的系統。並且附加 了直接傳送到照片地點的按鈕,以方便親眼確認。 https://p2.bahamut.com.tw/B/2KU/04/553d364886d2cb4364229305f11repw5.JPG 而配置在地圖的資源素材要全部確認的話也是個很龐大的作業量,於是除了需要親眼確認 的部分也都用工具自動化,並透過分享資訊避免其他人重複作業,讓作品進度能按照計畫 前進。 衝突(地形碰撞判定)的確認也必須要自動化。如果地形有破洞的話,林克跟道具就有可 能會從那邊掉落造成遊戲妨礙,是無論如何都需要消滅的錯誤。但是,要發現這樣的破洞 不僅困難,地圖的規模還多了前作的 2.5 倍之大。雖然在專案初期便找了工程師商量, 但一時並沒有找到好方法。 https://p2.bahamut.com.tw/B/2KU/05/3ffd2312bc796827b4f5dda6dc1repx5.JPG 不過到了開發中期完成的,就是能夠標示破洞地點的「找洞工具」。效果如何實際用用看 就能一目瞭然,有問題的破洞大多能靠這個方式簡單修正。只是其他對遊戲進行沒有什麼 影響的破洞也找到了數千個,也煩惱過該拿這些洞怎麼辦。以結果來說,考量到成效的最 後就是對這些洞的修正先置之不理。如果是安全的破洞,那也不會讓遊戲嚴重到無法進行 。 就這樣,在把危險的破洞填補之後,海拉魯也迎來了一時的安寧…… https://p2.bahamut.com.tw/B/2KU/06/534661d00f757d8933fa685a301repy5.JPG 圖中紅線集中處的某個部分有漏洞存在 https://p2.bahamut.com.tw/B/2KU/07/01ead87c84f85f69c73ff95cc71repz5.JPG 結果,通天術到底是怎麼誕生的呢? 回顧前面的內容和說明雖然完全沒提到通天術的部分,終於在這裡回應開頭的話題。通天 術的發想是在開發中期,全員在玩了遊戲確認感想的階段時提出的。探索完洞窟之後,大 家幾乎都覺得要回到入口實在是太麻煩,解決這個問題的手段而誕生的就是通天術了。 https://p2.bahamut.com.tw/B/2KU/08/d0505da53a92045016a78d7b491req05.JPG 這個點子,首先由朝倉提出的。通天術的終點,必須要是玩家可以到達的地點。朝倉也很 快聯想到這可以活用體素化的資訊。 但還是有一個問題。那就是殘留在地形的那些衝突破洞,有可能會變得妨礙通天術。因為 Raycast 會進入那些小破洞,並產生體素。 https://p2.bahamut.com.tw/B/2KU/09/4e710985c399b5c01427aa98d61req15.JPG 也就是說,如果不把全部的破洞塞完,通天術就不可能實現。但是要把破洞塞起來,就必 須要靠地形美術的手作業。如果不使用找洞工具跟 Houdini 的話,是不可能把破洞塞起 來的。但是人力不夠。畢竟當初就是因為人力問題才把那些小破洞放置不管的。…… 不 ,等等,說起來使用 Houdini 的部隊,除了地形美術之外不是還有別人嗎? https://p2.bahamut.com.tw/B/2KU/10/92dde4ea51fe98e7586ae4dada1req25.JPG 最後也因為有方便使用的除錯工具之力,構築了測試員部隊尋找破洞後回報,地形美術再 把破洞修正的作業流程。因此殘留在海拉魯各地的小破洞全都埋了起來,並終於實現了通 天術。 https://p2.bahamut.com.tw/B/2KU/11/d047c72f041f73cb8ec5c376a71req35.JPG https://p2.bahamut.com.tw/B/2KU/12/a7710de66032f9d6024f7686531req45.JPG 像這樣,通天術便是由一致的構造,以及改善工作流程進而實現的能力。不過像這樣的案 例在《王國之淚》開發過程多少都有發生過,只是規模問題或大或小。在本次介紹的通天 術案例,也不過是開發故事的其中之一而已。大礒在最後總結,結束了本次講座。 -- 從一致化的地形製作,到能夠自動化(也就是節省人力)的部分交由電腦處理,最後由各 個團隊配合,通天術終於能誕生,任天堂不僅願意嘗試,也願意分享,這一系列講座都非 常推薦大家閱讀 -- 清廉正直射命丸文,世界第一可愛 https://i.imgur.com/XqOptr2.jpg
[閒聊] 薩爾達傳說 王國之淚 通天術幕後製作秘辛
https://i.imgur.com/zGCOdHq.jpg
[閒聊] 薩爾達傳說 王國之淚 通天術幕後製作秘辛
https://i.imgur.com/SJR03hx.jpg
[閒聊] 薩爾達傳說 王國之淚 通天術幕後製作秘辛
https://i.imgur.com/nUbq2HQ.jpg
[閒聊] 薩爾達傳說 王國之淚 通天術幕後製作秘辛
https://i.imgur.com/0yn2DP5.jpg
[閒聊] 薩爾達傳說 王國之淚 通天術幕後製作秘辛
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.166.5.104 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_Chat/M.1726134313.A.6C3.html

102 則留言

liuedd, 1F
他試圖想要教會我

Rothax, 2F
頭好癢

mushrimp5466, 3F
當初玩的時候就覺得通天術真的超屌

anumber, 4F
老任這樣分享都不怕被抄走嗎??

gininder, 5F
也太複雜了吧

ChHChen, 6F
老任就是不怕人抄啊,他可能比較怕別人抄都抄不會

ChHChen, 7F
曠野之息當初也是這樣分享的,市面上又有幾款遊戲有抄出

ChHChen, 8F
曠野之息的味道來了

yao7174, 9F
老任不在乎吧 你做得到你就做 你能做的更好的話對製作遊

yao7174, 10F
戲來說也是一種突破 要是你還能簡化這個系統而且效能一樣

yao7174, 11F
的話就更好了 問題是有這麼簡單就能做到嗎?

minuteC, 12F
反正你也不能把馬力歐抄走 沒在怕

ryoma1, 13F
老任:你看!很簡單吧!

error405, 14F
找破圖很有感阿 之前吃了不少苦

inte629l, 15F
能抄得動也是有本事吧 即便實作手法不同 CEDEC不就是交

deathslime, 16F
學這些以後,真的作出更好的他們也有東西抄啊

inte629l, 17F
流分享嗎

boss0322, 18F
說到抄 不知道為什麼最近b站那邊開始默默出現說原神抄薩

boss0322, 19F
爾達的人了

Heisenberg29, 20F
技術類的最起碼比那幾乎只存在於教案的專案管理好抄

Heisenberg29, 21F

boss0322, 22F
說什麼原米粉轉米黑的(

RushMonkey, 23F
老任一直都很願意分享他們的心法 這點很佩服

katuski, 24F
這是博班等級的課程了吧。

lucifer666, 25F
去找吧 我全部都放在那裡

c6343j6297, 26F
上次還有人笑任天堂沒技術力

RockZelda, 27F
有些遊戲掉入地圖以外的空間,就是地圖的「破洞」嗎?

bladesinger, 28F
Q:看不懂請用一句話形容 A:這些訣竅都不會就是UBI

bladesinger, 29F
謝謝我懂了

bladesinger, 30F
ubi真的是完全沒互相協作的典範,員工多的要死,開放

bladesinger, 31F
世界罐頭的要死還能出一堆bug

Heisenberg29, 32F
王淚新功能一個比一個鬼還要交互,光debug就頭皮發

Heisenberg29, 33F
麻了,沒技術真的說說而已

kevin9709241, 34F
有夠扯的技術力 還有最佳化

zeyoshi, 35F
靠 所以是把每一塊能用通天術的地方全找出來喔

deflife, 36F
原神該來個通天術了吧

coronach, 37F
這個最難的不是技術而是合作的心態和制度吧,從開發流

coronach, 38F
程結合出一個新玩法實在太特別了

BApple, 39F
只要不動任的IP,他們本來就不管,分享的其實也簡單易懂

otaruu, 89F
就像當年的超級馬力歐,影響了一整個世代遊戲製作人,曠野

otaruu, 90F
跟王淚也有這種味道

erosecs, 91F
這系列真的精采

aegis80728, 92F
最神的是這些技術弄在NS這台機體上還能順跑

JSLee914, 93F
壞啦! 要長腦子啦!

soda54020, 94F
真的好認真

bbo40453, 95F
任:只玩遊戲抄不會是嗎?我手把手教你們好了

shinelusnake, 96F
王淚真的很扯啊,真的無法想像有遊戲公司願意搞這

shinelusnake, 97F
種創意跟體驗

ben2227486, 98F
只能說不愧是老任 請注意通天術離開洞窟這構想是開發

ben2227486, 99F
中期才冒出的點子 在一般公司是叫做會動搖過國本的大

ben2227486, 100F
設計變更 87%會被擋下來胎死腹中

a1l12, 101F
通篇中文看不懂,不明覺厲,有夠猛

HeiSiaN, 102F
天才