《The Code/Art Divide: How Technical Artists Bridge The Gap》:技術美術設計者,為您搭起團隊的橋樑

saints-row2原文出處:The Code/Art Divide: How Technical Artists Bridge The Gap

當遊戲專案的規模日益龐大,團隊成員的數目也越來越多的情況之下,伴隨而來的就是更為精細的分工模式與更加複雜的製作程序。精細的分工合作模式,使美術設計者、企畫設計者與程式設計者都能夠專注在自己最擅長的領域中,但同時也無可避免地加深了不同領域之間的距離與鴻溝。而為了解決美術設計者與程式設計者之間的鴻溝,本文將介紹在遊戲開發團隊中的一個相當特別的職位:Technical Artist,技術美術設計者,簡稱為 TA。

(圖片來源:www.primotechnology.com)

何謂「技術美術設計者」?這個角色所具備的專業能力為何?TA 究竟屬於美術設計者還是程式設計者?如果以英文的字意來解釋,Technical Artist 所指的是「技術的美術者」,也就是懂得程式技術的美術設計者。在遊戲開發團隊中,TA 的作用就像是一座橋樑,職責在於連結起美術設計領域與程式設計領域之間的萬丈鴻溝。

以 3D 遊戲的開發流程來說,美術設計者在 3ds Max 或 Maya 軟體中所創造的各種遊戲素材 (Game Asset),包含模型、動畫與其他物件,並不是只要在製作完成之後按下「儲存檔案」的按鈕後就算是大功告成。事實上,在絕大多數的情況下,由這些套裝軟體所產生的原生檔案格式如 .max 與 .3ds 等等,都無法直接在遊戲程式的系統中使用。

一般來說,無論是使用商業遊戲引擎或是自行研發的繪圖引擎,每間公司或者每個團隊都會有自訂的一套檔案格式。因此,為了銜接起從美術軟體檔案格式到遊戲程式檔案格式的落差,我們需要將這些「美術原料」經過「美術管線」 (Art Pipeline) 的加工與包裝作業程序,才能夠生成遊戲程式系統可加以使用的最終成品。以 3ds Max 中最單純的模型檔案匯出程序為例,至少需要依序進行以下幾項步驟:

  1. 勾選匯出設定選項。
  2. 選擇檔案路徑。
  3. 輸入檔案名稱。

匯出 1 個檔案,沒問題;匯出 10 個檔案,沒問題;但如果因為程式執行效能或者設計變動的因素,需要重新匯出已完成的 1000 個檔案呢?即使是如上述列表般簡單且不費力氣的作業程序,當模型素材檔案累積到達一定的數量以後,也會變得繁瑣沈重而易於出錯。所以只要能夠簡化美術管線的工作流程,甚至達到自動化的作業程序,將能夠節省美術後製程序所需的大量時間。

除了美術管線以外,另外一個重點就是工具程式的製作。如果你正超幸福的使用著 Unreal Engine 或 CryEngine 等級的遊戲引擎,那麼可能無須花費專案時程額外製作其他的工具;然而,在大多數的情況下,不論是遊戲引擎或者繪圖引擎總會有許多未盡完善之處,無法百分百滿足每個遊戲專案的特別需求。因此,自製的工具程式、檢視器或者編輯器,就成為了遊戲開發過程中不可或缺的一環。設計出良好的工具程式,能夠幫助企畫設計者與美術設計者更迅速而且有效率的編輯數據、測試資料以及驗證成果,同時也可以大幅減少人為因素所造成的過失。

在遊戲業界中,TA 是一個比較新興的職位,通常並不是每間公司都會有這樣的職位存在。在沒有任用 TA 的遊戲公司裡,美術管線與工具程式通常是由程式設計者,或者更精確的來說,是專職的工具程式設計者 (Tool Programmer) 負責進行開發工作。TA 並不是為了取代原有的工具程式設計者,而是要分擔並且協助建立作業流程與工具程式,讓程式設計者能夠比較專注在遊戲本體的程式系統上,而美術設計者也能夠更有效率地製作出美麗的遊戲內容素材。

原文作者提到,在《黑街聖徒》後期的開發過程中,他們發現遊戲裡產生了嚴重的畫格延遲問題,特別是在夜晚的場景中更為顯著;主要原因是由於他們放任美術設計者在場景中自由使用「動態光源」效果,因此對遊戲的執行效能造成負面影響。於是在程式端,許多人認為應該完全關閉動態光源的功能,使用其他的特效偽裝光源的效果;而在美術端的人員,則認為應該要保留這些動態光源,才能使遊戲的場景達到比較真實的畫面效果。最後,由作者提出混合式的解決方案:在玩家角色一定範圍內的場景,才使用動態光源效果,距離比較遠的場景則使用偽裝的光影特效。

身為 TA,必須與程式部門以及美術部門的人員共事,並且同時兼顧兩方的需求,在技術導向與內容導向兩個不同的原則之間扮演溝通協調者的角色。上述的情境,是經常會在開發過程中遭遇到的兩難問題,如果團隊中存在著深具經驗的 TA 人員,就能夠站在一個比較合理的立場考量問題的癥結點與解決方案。TA 的工作使命,不只是要讓程式部門與美術部門雙方都能夠滿意,更重要的是,也能夠對於遊戲產品本身產生正向的幫助。

Art should be authored in a way that doesn’t hinder performance of the game. Instead, it should be created to take advantage of the game engine and hardware strengths.

很多美術設計者,都曾經有過這樣一個夢:「我要畫出很棒很美很精緻的圖!所以每件裝備的材質貼圖都要使用 1024 x 1024 解析度,每組人物動作要有 50 根骨架加上 100 多組關鍵畫格,才能呈現出最真實生動的視覺效果!」如果美術設計者當著程式設計的臉說出這樣的話,程式設計者應該很難不當場變成囧臉。在現實的遊戲專案中,正確的遊戲美術內容,應該要以不妨礙整體效能,並且能夠充分利用遊戲引擎的獨有優勢與硬體能力的方法製作。

由於橫跨了程式與美術領域的知識,所以 TA 一職能夠由具有程式專業能力或者美術專業能力的人轉職進入,但目前遊戲業界的 TA,多數還是由具有美術背景的人轉職擔任。TA 通常並不是初入業界者能夠勝任的職位,必須非常熟悉美術套件軟體的使用、熟悉 MaxScript 或 Mel 腳本語言,並且與最新的技術保持接觸以及瞭解各種技術新知。

一般狀況下,TA 並不直接負責製作美術素材的工作,他們的工作項目與時程安排,在於與工具程式設計者合作建置美術管線的生產系統以及工具程式。另外一項 TA 的職責,則是提供技術層面的支援與協助,不論是從外部購買的美術製作軟體或是由內部自製的工具,都需要能夠提供給團隊成員適當的使用協助,所以必須要經常在工具開發者與救火隊的角色之間轉換。

以我目前的工作經驗來說,大多數的遊戲程式設計者都不熟悉 3ds Max 軟體的操作使用以及 MaxScript 的程式設計方法,所以如果要以美術設計者的思維模式製作出合適於他們使用的工具程式,對於程式設計者來說,並不是一件容易達成的任務;相較之下,由 TA 所扮演的跨領域中介角色也就更加關鍵且重要。以 「Integrating MaxScript and .NET Systems」這篇文章為例,要利用 .NET 在 3ds Max 中建立使用者介面與其他進階功能,如果開發團隊中缺少了具備 TA 能力的成員,將會使得這個系統的實現更加艱鉅困難。

在一個遊戲專案中,應該具備多少位稱職的技術美術設計者?作者以過去幾年的經驗認為一個 80 至 90 人大小的開發團隊,需要配置 3 至 4 個 TA 才能夠應付各種工作任務的需求。在遊戲業界的這幾年以來,我還沒有機會認識或者與 TA 共事過,只有遇過一位相當熟悉 MaxScript 的程式設計高手;可惜的是,他目前已經不在遊戲界工作了。我自己相當嚮往能夠和具備這種能力的人才共同合作開發遊戲,國內的遊戲業界,也相當缺乏能夠橫跨美術與程式領域的人才,有志於成為美術設計者的讀者,不妨考慮將「技術美術設計者」這個有趣的角色職業,納入自己的生涯規劃目標中。

為什麼能夠具有跨領域知識技能的人才如此罕見稀少?除了之前在「Triforce:遊戲開發三原力」文中提到的三種不同面向的思維模式以外,追根究底,我認為「教育」也是一個非常關鍵的影響要素。學生時期時,在美術課裡只要畫出與別人不一樣的東西,就會被認為不會畫圖;在數學課裡只要沒有按照公式推算,就會被批改為錯誤;在電腦課裡只要沒有得出相同的結果,就會被判定為沒有天分。於是我們就這樣認為自己不會畫圖、不會算數學或者不會寫程式,因而減少了接觸其他領域知識的興趣與熱誠。如果我們的教育制度,能夠給予學生更多接觸與發展不同面向興趣的機會,以及更多積極正向的鼓勵回應,未來才會有機會培養出更多跨領域的菁英人才。

最後,在此順道幫美術設計者正名:別再叫他們「美工」人員了!如果你也不願意被稱呼為「程式工」或者「企畫工」,那麼也請正確地稱呼他們為「美術」。(請在心裡默唸十遍)

附註:賀!這是第一篇有關於遊戲美術主題的文章! XD

26 thoughts on “《The Code/Art Divide: How Technical Artists Bridge The Gap》:技術美術設計者,為您搭起團隊的橋樑”

  1. 跟遊戲裡的複合職一樣,TA在雙修的要求下,必定要花比別人還要多上許多的心血才能讓兩邊的人都心服口服呀~ 是個高級職業!

    MaxScript好像很少見到有入門書喔… 畢竟不是Art的人很難了解Art會有什麼需求,而Art本身又沒幾個會去學scripts呀。

  2. PC Game的業界目前在團隊的分類上,應該不像過去聽聞的這麼粗糙;但我目前待的手機遊戲公司就不是如此。在一般情況下,美術和企劃(或程式和企劃)在作業流程上都是同一個人,不太可能分出專門開發程式的美工這種職務,原則上都還是兩人團隊,也就是「美術兼企劃兼音樂兼…」加上「程式兼除錯」。

    雖然主要仍是美術(這也表示企劃在我所待的領域仍然不是顯學,雖然大頭們還是會有所要求),但跨領域這點真的蠻重要的,只是不管橫跨幾個領域,最後應該就只是職稱從美術變成企劃而已,而橫跨領域的目的也只是為了在交談上更加順利。

    目前自習ActionScript,希望能和習慣使用術語交談的程式搭上線…Orz

  3. 我覺得沒有TA根本沒辦法開發遊戲,哈…
    做遊戲最重要的就是良好的溝通,沒有溝通的橋樑等於不用做,
    或是大家各做各的,最後也拼不起來,
    企劃程式美術三方都需要有溝通的橋樑,
    問題是在台灣很少這種人。
    唉…美術也不是想當美工的,
    但是目前台灣的遊戲界環境只允許美工存在,
    想生存下去,就要把自己原本想當”美術”的初衷掩埋起來,
    只有把自己變成”美工”才能生存,
    而當美工的價值要發揮到最大,通常就是自己接外包了…
    真正有所堅持的美術,不是出國就是轉行了,
    也許這就是台灣沒有好遊戲的原因吧…
    沒有團隊,人才留不住,大家都是單打獨鬥。
    總之,以上只是對於現況有感而發。
    這篇也是寫的很好,希望未來能有越多遊戲開發者能夠了解,
    使台灣遊戲能越來越好,大家共勉之。
    也期待未來能有更多關於遊戲美術為主題的文章分享^^

  4. TA很重要,但是也很缺乏。
    我們自從走了一位專職TA之後,就很難找到真正合適的TA了。
    現在是美術跟程式人員都兼著做script跟plugin。還好需求並不是真的很多,頂多就是將過去的plugin做點修改。
    說實話,沒有專職人力,我們也不敢動太大的手術。

    補充一點點,TA這個職務,比較適合程式人員轉職進入。反正不會實際負責製作美術素材,所以即使程式人員沒什麼美術底子,工具操作摸熟了,美術的流程跟他們的術語語言能通了,就差不多具備轉職條件了。過去我們的專職TA,也是個程式出身的好傢伙。

    PS. 真的,不要稱呼美術設計師為”美工”,這是對工作夥伴的一種尊重。

  5. @lsk:
    TA 就和聖騎士一樣的難練呀~ XD
    在我的印象裡也沒有見過 MaxScript 的專門書籍,想要自學還是只能抱著 Max SDK 猛啃了。就我所知,國外很多的 TA 強者都跑到動畫業或特效業去了,至於原因,我想應該還是和待遇有關吧…… Orz

    @Azusa:
    手機遊戲由於製作的成本比較少,所以每個人都要能夠身兼數職,以最少的團隊人數發揮出最大的戰力。雖然工作會加倍辛苦,但我覺得這是一個很不錯的歷練經驗。對遊戲業來說,具有不同領域的 common sense 很重要;相對來說,職稱反而就沒有這麼重要了。相信只要你學習過 ActionScript 後,就能和程式設計者之間的溝通更順暢,未來說不定也有機會轉職成為 TA 哩。 :D

    @exelion:
    聽起來很像《Age of Empire》裡面的中文語音:「伐木工」、「糧草徵收員」之類的稱呼。 XD

    @Funk:
    現在國內大部分的遊戲公司都沒有 TA 這個角色吧,多數還是把工具程式設計者拿來擋著用而已。遊戲界中的美術設計者真的很辛苦,我能夠理解為什麼你會有把自己當作「美工」的感慨;說實在的,我有時也難免會覺得自己真的是上述的「程式工」呀。 XD

    即使如此,還是要記得自己身為「美術」的風骨。希望國內的遊戲界能夠越來越好。

    @Lancelot:
    你好,

    稱職的 TA 實在太難找了,公司裡曾經有過 TA 還是一件很令人羨慕的事情。我在想是不是乾脆自己來培養這樣的人才會比較快速有效?一般來說,的確是由程式設計者摸熟美術軟體,會比美術設計者學會程式語言來得容易許多,但是會有興趣想往這方面發展的程式設計者,就如同 TA 一樣的罕見呀~ XD

    謝謝各位的回應~ :)

  6. 原來溝通橋樑有專有名詞
    我現在目標正在往TA這方面學習@@
    想請問半路大幫忙回答一些問題
    我有沒有需要學習c這類程式語言?需要學習的深度?
    我美術出生 有所了解的引擎只有Virtools
    我有需要先了解更多的遊戲引擎呢?

  7. @潔膚皮革:
    你好,
    如果你曾經接觸過 Adobe Flash 的話,ActionScript 應該是一個不錯的程式語言學習起點。最重要的是,能夠瞭解並且使用一些程式設計中的基本概念,例如變數、迴圈、函式以及結構的操作等等。至於遊戲引擎的部分,我認為倒是先不用急著學習,只要在工作過程中經常與程式設計者提問討教,就能夠慢慢建立起遊戲引擎以及製作程序的相關概念了。

  8. Virtools鑽下去也是可以很博大精深的,畢竟他是把低階功能包裝得很好的高階工具。我個人也是從它那邊學到很多遊戲引擎的概念,也很喜歡它的工作環境。不過,真的進了遊戲公司,用到它的機會就非常非常低了… 它適合prototyping,不適合做(或是說,要自己額外做很多客製化的東西)追求高效能的商業遊戲。

    偷幫廣告:Virtools在台灣是愛迪斯公司代理的,那邊有位Virtools的超強者喔~

  9. @lsk:
    我沒有使用過 Virtools,看完你的詳細介紹後,我想 Virtools 應該滿適合用來學習遊戲引擎以及程式設計的基本概念。

    感謝你的補充~ ^^

  10. 公司剛好有一位很強的TA… 拜讀到這篇文章讓我對他更尊敬也更了解了…

    公司真的是需要各式各樣的人才 也需要彼此尊重與支援 才能讓公司Run得更好…

  11. @JA:
    你好,
    業界的確很需要能跨領域的人才。公司裡能夠有 TA 真的是很幸福的事情,好好跟他相處,有機會多討教討教幾招吧~

    謝謝你的回應 ^^

  12. 先自介一下,我是實際有在從事獨立遊戲/同人遊戲製作的
    這是我所屬的團隊
    http://www.w-f.url.tw/
    dawn 1只是幫點小忙,dawn 2我才是製作主力

    正題:
    看了本篇才知道,原來我在此團隊中做的事已經符合TA的條件了
    我設計了一套紙娃娃系統以節省檔案大小,節省光碟製作費用(會想到節省成本,可見我已經跨足商業的領域了),還做了影像處理軟體的外掛將原始檔輸出成遊戲可接受的檔案。因為我對電腦繪圖有些了解所以能想到這個方法
    以上提的都是2D圖像,我的團隊還沒有打算做3D遊戲

    另外看了幾篇談跨領域的文章
    跨領域的專家首推東方系列的作者ZUM,程式、美術、音樂、劇本一人包辦
    台灣團隊電氣妖精界的跨領域能力也不錯,未完童話則是行銷能力強
    以本blog的觀點來看的話,同人場上的創作者們不要妄自菲薄,你們都是業界渴求的菁英啊

  13. @Shark:
    你好,

    我認為要培養出跨領域的能力,的確是一件相當不容易的事情。不過同樣也要記得,繼續加強自己原先最擅長的本職學能。對程式設計者來說,3D 圖像是非常有趣的玩意兒,但是在遊戲開發的領域中,即使只有使用 2D 圖像的元素,也一樣能夠製作出非常好玩非常動人的遊戲。

    看了你們網頁中的作品介紹後,我覺得藍晶石之翼製作的《Dawn~破曉之刻~》遊戲 CG 水準很高,期待你們接下來的續作。

    同人遊戲也是 Indie Game 中的一支流派,不過我對於日系的同人遊戲比較不熟悉,以後還請多多交流與指教,謝謝。 ^^

  14. 在業界十幾年了..其實自己倒覺得美”工”也沒什麼問題.只是大部分人比較敏感
    可能只有我覺得是”美術工藝”的簡稱吧.
    其實大家還不都是勞工~~

  15. @gun:
    你好,

    廣義來說大家都是勞工沒錯~ 其實不管怎麼稱呼,只要大家開心,不會介意就好囉。

    但我遇過的幾位美術設計者,都多少會介意就是了。 XD

Leave a Reply