當前位置: 華文星空 > 知識

遊戲開發的編程算不算是 IT 行業中難度最大的?

2015-07-12知識

從我自己3A開發程式的經驗來簡單回答一下這個問題,本人有幸在微軟343 industries參與了引擎和管線的制作(光環5),也有幸在索尼santa monica studio參與了gameplay的制作(新戰神),算是參加過遊戲開發的幾個主要領域了,實際上遊戲開發程式的工作主要分為三大塊:gameplay,pipeline和引擎,這三塊都有自己的難點和重點,下面分別稍微解釋一下,解釋之前,一個短小的結論,遊戲開發的程式是軟體開發中比較難的一塊。

1: gameplay,gameplay程式的難點在於,解決的問題非常廣泛,從fps遊戲裏面的槍械,車輛,到戰神裏面的斧頭,怪獸,再到uncharted 4裏面的繩子,根據遊戲的型別,需要解決的問題幾乎涉獵所有領域,這對gameplay程式來說是一個很大的挑戰。gameplay程式從技術的角度來說需要保證系統能執行,還需要很強的對遊戲的理解,做出來的東西保證好玩,這就不是一個純粹的技術問題了,需要本身對制作遊戲的型別非常了解。另外gameplay程式特別是3d遊戲的gameplay對數學的要求很高,還要求非常善於和策劃還有美術動畫溝通,最難最煩人的一點gameplay都不是一次性完工的,需要大量的推翻,叠代,重做,如何在品質和叠代速度之間找到平衡也是一大難點。gameplay是最靠近玩家的程式。

2: pipeline,中文大家都把這個叫管線,基本上就是工作室內部用來制作遊戲的所有工具,流水線的總稱。這類程式打交道的主要物件就是自己工作室內部的各種開發人員,從美術,策劃到動畫,特效等等,他們對大型遊戲開發非常非常重要,他們保證了開發流程的高效進行,他們開發的工具,流水線,包括小到bake light map的工具,給策劃調整數據的工具,大到關卡編輯器,build system,等等,好的工作室和差的工作室的一大差距就是內部的管線先進性,我的弟弟

@Ryan槐宏武

是頑皮狗的引擎程式,頑皮狗的內部管線相當先進。這一類程式需要和gameplay部門打交道,需要和美術,動畫等部門打交道,還需要和引擎程式打交道,需要滿足內部使用者的需求,也需要解決底層的技術,要求也非常高。很多工作室管線開發屬於引擎組。

3: 引擎程式(runtime)。這一類程式離玩家使用者最遠,技術的專業程度最高,對純程式技能,底層最佳化都非常要求高,專業技能最窄但是最專精。渲染引擎需要你懂底層的電腦最佳化和圖形的相關知識,物理引擎需要你物理知識和底層最佳化,動畫引擎需要動畫知識和底層最佳化,等等,一般這種底層的系統和gameplay最大的區別就是,他們實作的時間較長,跌倒的次數較少,但是非常非常穩定和高品質,引擎基本上是一個遊戲的基石,是最核心最核心的技術。

綜合來說,這三個領域的程式,基本上不能簡單的說「某一個比某一個難」,「某一個比某一個重要」,根據程式設計師自己的性格,技能,按照需求分配,才是最佳化的解決方案,一般一個遊戲studio的程式人數是最少的,但是薪資也是最高的(平均),也基本不可能外包,裁員的時候一般最後才動程式組:p

和it其它領域比起來,由於涉獵知識很廣,要求很高,人才難找,所以算是軟體開發中比較難的一塊,特別是3A的遊戲開發。