[分享] 2025 TGDF 筆記 - CDPR 篇
今年是第三次參加 TGDF,經過兩天的英聽訓練後,才發覺自己的英聽能力一點也沒進步,低頭做完筆記後,就完全跟不上臺上講者的進度了。話雖如此,這次的 TGDF 還是收獲良多,從遊戲設計到專案管理的分享都有,對於正在參與開發的遊戲也有很大的幫助。這次的筆記就整理成 CDPR、九日、遊戲設計三篇文章。
《電馭叛客 2077》:解碼電影動畫的祕密
這場演講是 CDPR 帶來的兩場演講之一。首席電影動畫師 David Cordero Iglesias 介紹在《電馭叛客 2077》中,如何讓 NPC 更生動自然,以及更真實的第一人稱敘事運鏡,讓玩家更有沉浸感。
模擬現實互動
- 減少黑幕切換
- NPC 在場景中會自然對話,直到玩家進來互動後,會自然結束跟其它 NPC 的對話,並轉頭過來開始跟玩家的劇情對話
- 利用牆面設置位置來避免玩家看到 NPC 重置的不連續感。例如:在一個追逐從後門逃跑的 NPC 的劇情中,玩家可以選擇追上去,或是從前門繞路追上他,而 NPC 一定會在暗巷中被夥伴給攔住。利用牆面的 90 度轉角,讓玩家走過牆面後,才會看到事件發生。
- 但遊戲中還是會為了玩家昏厥或是醒來的情境使用黑幕
- 玩家控制角色的能力可以分成四個層級,增強敘事能力
- 第一階:玩家可以自由控制角色
- 第二階:部份控制被限制。例如:搬重物時,移動速度變慢
- 第三階:只能移動視角,而且角度有限制。例如:被壓制在地上時
- 第四階:劇情控制,玩家完全無法操作
- NPC 自然動作
- NPC 的動作反應這個 NPC 的個性
- NPC 在等待玩家回答時,會繼續做手邊正在做的事情,例如:吃一口飯、繼續看雜誌,而不會呆呆看著你
- 敘事運鏡要視野清晰
- 要避免 3D 暈,可以找會 3D 暈的同事來測試 :D
- 利用 Framing(決定什麼內容要出現在畫面中) 與 Composition(排列在畫面中的這些內容),讓玩家快速理解目前正在發生的事情。例如:在跑酷劇情下,讓手腳一部份出現在畫面中,提示動作的來源,並用攝影機的位移來呈現慣性
- 身體意識
- 玩家坐定後,仍然可以自由移動視角,模擬現實談話人會亂看
- 在劇情拿槍時,攝影機會照向拿槍的手,模擬現實的視線移動
- 被 NPC 拉著走時,無法控制位移或是視角
- 環境意識
- 角色會自然看向環境中可以互動的物件
- 在場景中也要標記這些可互動的物件,及如何互動
- 手指細節
- 真實的手指反應,例如:把完拿取的物件,或是彈吉它時的手指行為
- 有一整個手指資料庫
動畫技術
- 動捕很重要
- 自然真實的動畫源自現實的動作
- 即使是第一人稱視角遊戲,還是會錄玩家角色的動作
- 還是有 key frame 動畫
- 機具行為,車輛的互動
- 整理動捕資料
- 提供跨軟體平台的整合資料庫
- 動畫師可以自由選擇製作的動畫軟體
- 動畫類型可以分成待機動作(Idle Animation)與象徵動作(Gesture Animation)
- 以抽煙來說,待機動作是拿著煙,而象徵動作則可以是吸一口煙或是丟煙等動作
- 動作之間也會設定轉換(Transition)
- 也有完全設定好的客制動畫,例如:彈吉他、劇情用動畫
- 在《電馭叛客 2077》中有七千多個待機動作,三萬五千多個象徵作,以及更多的動畫轉換
- 有內部工具來管理與編輯動畫的轉換
- 角色的動畫為 workspot,編輯工具可以設置轉換條件與觸發來效果
- workspot 之間的互動也可以編輯,例如:兩個 NPC 在聊天時的動作
- 在開放世界中,讓 workspot 自行決定要做的事情,讓玩家經過同一個地方時,NPC 的行為也會不一樣
- 在劇情場景中,workspot 可以在玩家回答前,自由播放待機動畫,使 NPC 更自然
- 臉部動畫也有對應的待機動作及象徵動作
- 對於有真實演員的 NPC,也會把臉部變化(如皺紋)key frame 進去
- 嘴型會隨輸入聲音變化,不同語言的語音會呈現不同嘴型
劇情動畫製作流程
- 分鏡:簡單場景設置與運鏡來驗證劇情動畫的觸發流程
- 動捕:分段拍攝劇情所需的動畫
- Alpha:直接把動捕資料套入場景中並加入運鏡
- Beta:消除鏡頭過度晃動,套入 IK 並跟場景物件互動
- 加入失敗動畫,如 QTE 失敗後的結果
解鎖隱藏價值:CDPR 式「最終產品背後的 UX」
CDPR 的第二場演講則是以內部工具的 UX 體驗為主題,資深 UX/UI 設計師 Anna Nojek 認為,有好的內部開發工具,能讓開發人員能有好的開發體驗,進而能開發出好的遊戲。
好的開發環境造就好的遊戲體驗
- 讓玩家能享受遊戲的要素很多,像是故事、玩法、挑戰性等,但對開發者來說讓玩家能享受遊戲的要素是來自好的開發體驗。以開發體驗為優先,能讓開發者發揮能力,最後做出好的遊戲體驗。
- 以往開發環境的問題
- 資源及知識過於分散:asset 散佈在不同平台且不同格式,要找一個 asset 很困難
- 資訊透明度差:大家各自做各自的
- 客制的開發流程:鎖碎及複雜的開發流程,甚至佔了開發 50% 的時間
- 過度依賴其它人:如果一個人卡住了,其它人也不能做事
- 只專注在功能:開發工具的人不熟使用者的習慣,只專注在實作功能上,讓工具不好使用
- 當開發者面臨的問題沒有解決的話,會感到挫折,讓作品延期、容易出 bug,甚至感到心累,最後產出不好玩的遊戲
了解問題
- 製作工具先暫時處理問題,再改善解法
- 情境:企劃要找一個素材得要問一堆人才找的到
- 暫時解法:開一個共用的 excel 表單,請製作人員匯出素材時,去更新表單的狀態
- 長期解法:製作人員匯出素材後,自動更新資料庫
- 暫時解法得由人工操作,但可以暫時解決企劃要依賴他人的問題。而長期解法則是自動化,是改善後的解法,一樣解決依賴問題,也讓製作人員不用手動更新
- 會先有暫時解法,等待時機成熟後,再實作長期解法
- 開發出內部用的素材管理工具:Asset Hive
- 支援集中管理,能搜尋、複用、預覽素材的工具
- 工具是提供問題的解法,但如果不了解問題,則作出工具也不能解決
- 要去了解、觀察、討論才能知道真正的問題所在
- 也不要只追隨請求,而是問為何需要這個請求
- 當有人傾聽別人的請求時,別人也會更有動力,且更積極
- 作出好的工具讓開發人員能專注在創造工作,改善遊戲成品。透過使用體驗回報,也能培養反饋與支援的氛圍
工具與 UX
- UX 是為了簡化執行某個特別任務的手段
- UX 開發流程,每個階段都有機會退回上個階段
- 有人提出問題
- 討論、分析、面談問題
- 設計工具需要的功能有什麼
- 測試
- 設計介面
- 測試
- 交由工程人員開發功能
- 測試
- 以使用者為中心的溝通
- 同理心地圖(Empathy Map):展示使用者在使用工具時的想法、行為、言論、感受
- 使用者體驗地圖(User Journey Map):展示使用者在使用工具達成任務時的使用流程,並標示每個階段的情緒、優缺點,以及如何改善
- 省下來的時間 = 原本所需要的時間 - 改善後的時間 - 開發工具所需要的時間
- UX 與所有人相關
- 團隊的製程:製程的架構流程
- 明確的目標:什麼樣的目標才算成功/完成
- 透明度與反饋回圈:工具一定是持續迭代的過程
- 回到一開始的問題:是什麼要素讓玩家能享受遊戲? 所有創作遊戲的人