天美J1技術美術負責人:開發工具的真正價值是什麼?

keggame發表於2022-05-30
本文首發“TiMi Club 天美俱樂部”微信公眾號

中國遊戲行業發展至今,從專業到分工,正在經歷哪些變化?天美聯合騰訊遊戲學堂,舉辦“遊戲是門技術活兒:專業技能探祕”知乎圓桌活動,本文為圓桌議題“遊戲開發工具的真正價值是什麼?是在於激發創意嗎?”下的回答,希望對大家有所幫助。

作者:keggame
騰訊天美J1工作室技術美術負責人

先上結論,個人認為遊戲開發工具的目的主要應該是幫助創意實現,解放生產力,而非激發創意本身。

針對這個問題首先我們可以來看下游戲開發過程中具體會用到哪些工具。

從遊戲開發流程出發,一般可以分為以下幾個環節的工具鏈:DCC 工具鏈,引擎工具鏈,研發效率工具鏈。

DCC工具鏈

DCC 工具鏈一般直接面向美術製作,從功能上劃分一般可以簡單分成兩個大的方向。

一類是用於標準檢測,類似於質檢,例如檢查資產命名是否規範,模型的面數是否超標,權重骨骼數量是否過多,貼圖尺寸是否過大等等。這類工具避免了手動檢查的疏漏,是保證資產在遊戲中有效性的基礎。一般上一點規模的遊戲都會根據遊戲資產的製作規範開發相應的此類工具。

另一類則是加速美術製作效率,從美術關注的角度,又可以細化為兩類。

第一種與美術資產製作和效果相關性不大,一般這類工具都是自動化處理一些資產的固定流程,比如批量針對一批資產進行模型 材質合併,貼圖的自動擴邊,骨骼 Retargeting,模型各級 LOD 自動減面等,針對這些重複性的操作,由工具來執行,可以節省大量美術工作量,從而讓美術有更多的精力投入到效果相關的工作中去。

第二種則與美術資產的製作相關性較高,一般此類工具都與美術資產生產過程緊密結合,例如角色表情Controller,《極限競速 地平線4(Forza Horizon 4)》開發團隊應用的車漆材質矯正流程工具,Epic Games 的 Metahuman 角色生成器,都屬於這一類,這些工具的存在可以快速地幫助美術實現最終想要的資產效果。

天美J1技術美術負責人:開發工具的真正價值是什麼?
Forza Horizon 4 中使用的車漆矯正工具,圖源 2019 GDC[1]

天美J1技術美術負責人:開發工具的真正價值是什麼?
Metahuman Creator,圖源網路

引擎工具鏈

引擎工具鏈相對比較複雜,因為引擎本身就是一個工具集,大致來說,引擎工具我們大致可以將其分為四個方向:

第一類主要針對引擎資產管理,比如資產瀏覽器,可以對不同型別的資產進行過濾查詢,匯入匯出,還有具體的資產預覽器,可以對相關的資產的屬性編輯進行修改,以及對資產之間的關聯引用關係進行編輯。

這是引擎的基礎功能之一,如果沒有這塊,就無法對引擎內的資產進行有效地呼叫,Unreal 的Content Browser,Unity 的 Asset 瀏覽視窗,以及相應的各類資產的預覽介面都屬於此類。

天美J1技術美術負責人:開發工具的真正價值是什麼?
Unity Project Window,圖源網路

第二類主要是遊戲邏輯所需針對各類資源的整合工具,比如場景編輯器,包含了場景美術資產組裝,光照調整,尋路資料生成等這些功能;音效編輯器則是由遊戲邏輯驅動,對相關音源資產進行組合呼叫,以滿足遊戲需求,比如比較著名的 Wwise;動畫狀態機通過對一系列動作的組合拼接,可以實現各種不同遊戲動作之間的平滑過渡與混合呼叫;AI行為樹則直接驅動遊戲 NPC 或者 Enemy 呼叫角色動作狀態機,做出合理的動作與行為反饋。

通過這類工具,可以直接將原始資源通過一定的規則,整合成最終遊戲執行時所需的資料形式。

天美J1技術美術負責人:開發工具的真正價值是什麼?
Wwise 介面,圖源網路

第三類主要是面向策劃配置相關工具,比如各類用於遊戲執行時伺服器端與本地的資料配置的相關工具,像玩家全身 Avatar 道具,武器 id 配置表,不同場景的 id 配置表,還有任務系統,包括任務編輯模組,以及上層的任務配置工具,這類工具一般都需要能夠進行邏輯編輯,通常都會接入輕量級的指令碼語言。

第四類主要包括了效能 Profiling 工具以及各類靜態資源統計工具,Profiling 工具主要是用於遊戲執行時的效能分析,比如 Draw Calls,同屏面數,物理,AI 等分項每幀針對 CPU,GPU 的消耗,進而定位執行時效能瓶頸,目的是保證遊戲能夠在目標平臺上穩定流暢執行。例如 Unity 的 Profiler,Unreal 的 Timing Insights 都是典型的 Profiling 工具。

天美J1技術美術負責人:開發工具的真正價值是什麼?
Unity Profiler,圖源網路

靜態資源統計工具主要在非執行時編輯器下對各類靜態資產的容量以及規格進行批量統計,一般來說主要目的是限制單體資源記憶體佔用,和控制遊戲安裝包容量。

研發效率工具鏈

研發效率工具鏈一般指提供團隊協同工作,敏捷開發管理以及快速版本構建釋出相關的工具,這塊大致分三塊。

第一類是用於遊戲資料版本管理與多分支開發管理的版本管理工具,例如 svn、perforce、git 等,這類工具主要用於支援多人以及多團隊的協同開發,避免多方對共同資料內容操作而引起的資料衝突,並支援分線多特性並行開發與多線合併,可以方便團隊更加穩定地針對獨立特性進行迭代,避免了多特性在同一版本環境中互相干擾造成的研發效率折損。

天美J1技術美術負責人:開發工具的真正價值是什麼?
P4v 介面,圖源網路

第二類則是方便專案管理的工具,例如 TAPD,Jira,這類工具主要用於專案日常任務管理,進度統計,能夠清晰地讓專案成員知道目前的製作任務以及上下游任務的依賴關係,也能夠讓專案進度管理者清晰地知道當前整個專案各個模組的進度。

天美J1技術美術負責人:開發工具的真正價值是什麼?
Jira 介面,圖源網路

第三類則是關於專案快速構建各類版本的相關流程工具,這類工具的主要作用就是自動化快速構建不同平臺,用於不同目的遊戲安裝包,比如 iOS,Android,Windows 等不同平臺體驗包,或者 Development 版本用於真機除錯,或者效能分析的測試包,以及各種分線分特性體驗的快速體驗包等。

一套高效的自動構建流水線可以快速地讓開發團隊能夠在最終目標平臺上進行最終的版本驗證,從而提早發現一些在開發環境中無法出現的真機問題。

當然還有很多針對前兩類工具開發的相關 DCC 工具與引擎工具,以減少不同軟體之間切換使用的摩擦成本。

總結

從以上這些工具分類與作用來看,在整個遊戲開發過程中,真正與遊戲內容生產或者遊戲玩法設計相關的工具只是佔到了其中一部分,其他更多的工具設計則是從增效,維護研發品質的角度為出發點, 這類工具的本質並不是為了激發創意。

而在正常的遊戲開發過程中,一般都是先提出想法,然後再去針對這個想法來開發對應的功能或者工具。而不是先做一套工具,再在這個工具的基礎上去想創意。

工具存在的目的是輔助創意的實現。

當然辯證來看,高效率的工具,能夠節省開發者大量的精力與時間,可以讓他們投入更多的精力在創意相關的設計工作上。從這方面來說,高效的工具對創意的實現與產生還是有正向的推動作用的。

還有,一套強大的工具往往本身就包含了工具設計者自身豐富的經驗與思想,使用者在應用這些工具的過程中,有時候也可能從工具設計的機制層面受到一定的靈感激發。

綜上所述,雖然高效強大的開發工具在開發過程中也許會激發開發者的靈感,但遊戲開發工具的目的主要應該是幫助創意實現,解放生產力,而非激發創意本身。

參考:https://ubm-twvideo01.s3.amazonaws.com/o1/vault/gdc2019/presentations/Liu_Yibo_Physically_Based_Calibration.pdf

對TATD職位感興趣的同學,歡迎加入天美工作室群一起來打造具有世界級影響力的遊戲作品,簡歷定點投放:yatingcai@tencent.com

相關文章