標籤:

[GDC2017]地平線的超強工具鏈

[GDC2017]地平線的超強工具鏈

來自專欄遊戲開發套路

Creating_a_Tools_Pipeline_for_Horizon_Zero_Dawn

【地平線 超強的工具鏈】

作為3A級產品,豐富工具鏈是標配

  • 資深工程師
  • 首席工程師
  • PS. 一般的level分等: Associate 或者Junior (見習、初級)— engineer — senior — advisor — principle

https://www.zhihu.com/video/977876018820706304

  • 演示一段宣傳視頻

  • 思路
    • 深刻理解我們為什麼要重構我們的工具
    • 我們怎麼做
    • 如何交付

  • 概要說明
    • 以前遺留的工具
    • 重構
    • 構建3D編輯器
    • 編輯的數據
    • 其他工具
    • 我們已做到哪一步

2013年那時候的工具鏈

  • 起初在2013年11月時的狀況
    • 各種支離破碎的小工具,各自獨立
      • 框架獨立、各種語言
    • 迭代時間長(20-30分鐘)
    • 工具使用者(同事)不滿意
      • 遠落後於其他競爭對手的水平

編輯器用數據格式

  • 數據格式
    • 編輯時明文格式
    • 除了Texture和音效,都是這樣
    • 在Game中再轉換到二進位格式

CoreText編輯器

  • CoreText編輯器
  • C# 寫的
  • 程序員都想重寫以前(愚蠢的)代碼,呵呵

Maya插件

  • Maya插件

狀態機編輯器

  • 狀態機編輯器
  • 基於節點
  • 生成Lua腳本

當時的三大主要工具

各種獨立的小工具

  • 其他小工具
    • 拼貼圖
    • 粒子編輯器
    • ...

DebugUI (類似於GPA的工具)

  • DebugUI
    • 這個很有用
    • 在《殺戮地帶》時開發的

抓取的一幀

分析每個DC

當前DC中的Texture

  • 就是抓幀工具
  • 能看到每個DrawCall中的面片數定點數等
  • 貼圖、渲染狀態、Shader

遊戲中隨時呼出debug菜單

  • 遊戲中的Debug菜單,很方便的貌似

框選屏幕區域分析 buffer

  • 可以框選,查看任何區域的的GBuffer

上面演示的是以前版本的工具


下面進入新項目

人數有限,需要有針對性突破

  • 地平線項目全新開始

  • 代碼層面目標:
  • 創建一個構建工具框架
  • 沿用Decima引擎庫
  • 讓工具更易用

編輯器的需求

  • 編輯器層面目標:
  • 使用者的幾個需求
    • 特定概念:編輯上下文
    • 可以重用組件
  • 統一一個編輯器
    • Decima編輯器

Decima引擎服務的遊戲

Decima引擎有的特性

場景關卡編輯器

腳本編輯器

對話編輯器

  • 場景關卡編輯器
    • 地圖
  • 腳本編輯器
    • 遊戲邏輯
  • 對話編輯器
    • 劇情相關

如何邁出第一步

  • 從音頻入手
  • 相對獨立
  • 工作流可以測試新框架

  • 音頻組之前工作就是基於節點圖方式

開發第一個節點編輯器原型

開發第二個節點編輯器原型

  • 兩個原型

最後出的節點編輯器


換人講工作流

  • 基於新工具鏈的一套新的工作流

  • 3D編輯器迫切需要
  • 之前沒有用過3D編輯器,都是基於Maya?

集成子系統到編輯器還是遊戲即編輯器?

  • 分析一下利弊

可控性強

  • 遊戲即編輯器

  • 迫於時間壓力,呵呵

如何集成遊戲是個問題

  • 進程間還是進程內?
  • 分析一下利弊吧

  • 進程內的好處
    • 快速
    • 數據同步修改

  • 進程內的缺點
    • 不穩定
    • 需要添加代碼隔離(宏定義之類)

  • 進程間的優缺點

  • 我們編輯器採用進程內方式

  • 退出遊戲狀態,立馬就可以編輯植被
  • 是不是很方便

  • 擺放怪物

  • 遇到的問題:
    • 遊戲讀取的是二進位數據

  • 解決方案:

  • 遊戲中沒有樹形層級關係
  • 遊戲Obj是扁平化的關係,目的是為了效率高


換人講Undo功能

  • 撤銷系統

  • 各種操作的通知記錄
  • 都記錄在案

....未完待續

推薦閱讀:

[筆記][大地圖管理]The Witcher 3: Optimizing Content Pipelines for Open-World Games, GDC2015
GDC 2017 有哪些看點?
《428被封鎖的澀谷》:少女被綁案竟玩出了85+1種結局!
如何看待守望先鋒獲得GDC年度遊戲?
GDC 2017 技術選薦合輯

TAG:GDC | 遊戲 |