Monolith大作《無人永生2》制作回顧

>>>  創業先鋒 眾人拾柴火焰高  >>> 簡體     傳統


  如果是為一個已經取得廣泛好評的第一視角動作冒險類游戲制作續集,那么僅僅維持原作的水平是遠遠不夠的。為了滿足游戲迷們滿溢的期待,你必須在續集中做出創新和超越。

  不幸的是,在這個時代,游戲開發的技術正以令人頭暈目眩的速度發展著,因此創新可能意味著你需要重寫引擎的絕大部分核心部件,比如渲染部件和物理引擎。除此之外,你可能還需要對游戲機制方面的內容進行增加或修正,一些工具和輸出接口可能也會有大的改動,另外你的角色和場景也需要制作得更加細致,比如加入更多的動畫、更多的特效,更高的復雜度等。換句話說,雖然表面上看續集內容不多,但實際上卻需要你投入更多的時間。

  制作續集時,另一個棘手的問題就是如何保持團隊的激情。對于已經花費一年半開發出來的游戲,沒有人愿意再浪費另外一年半去換湯不換藥的舊調重彈。所以你在設計上必須有足夠的創新和發展,才能點燃整個團隊的熱情,展現出新的挑戰、去掉或者改寫前作中不盡如人意的地方,并在續集中探索出新的游戲性概念。

  同時,為了牢牢抓住前作培養出來的玩家群體,還必須保留下前作真正的精華和靈魂。你會發現其實大多數玩家并不希望你破壞原作的感覺,他們只是要求你做得更好而已,所以你必須在創新與重復之間取得平衡。我們制作《無人永生2》(以下簡稱NOLF 2)這款游戲時定下的指導方針是:在制作續集的時候要繼承原作的精神,但在表象上則可以進行大膽的創新和改變。盡管圍繞這個游戲的續集有很多爭論,而作品本身更不可能完美無缺,但是根據我們獲得的玩家早期反饋來判斷,它仍然取得了相當程度的成功。
  
成功經驗
  1.識別出游戲成功的核心要素
  我們對2000年底發行的《無人永生》原作(以下簡稱NOLF)感到十分驕傲(那時候我也寫了一篇案例,可以在www.gamasutra.com/features/20010608/hubbard_01.htm中找到),但是,我們并不希望續集只是簡單的增加一些不同的關卡和新角色。如果只是拘泥于前作中的內容,那么它一定會失敗,玩家也會流失。鑒于此,我們轉而從分析前作之所以成功的要素著手做起。
  我們首先評估了NOLF所獲得的業界評價和玩家反饋,并從中歸納總結出大多數的意見,再將其與我們制作組自己的觀點進行對比,然后制定了一系列行動方案,目的是發揚前作的優勢,避免重復前作的錯誤。另外,我們也必須對游戲中玩家喜歡什么不喜歡什么了如指掌。除此之外,找出那些游戲中根本不為人們所關注的部分也是非常有益的。游戲中的每一個功能的設計、實現、調試、測試都需要消耗很多時間。如果這個游戲功能根本沒人注意的話,那么在它上面投入的這么多時間和精力完全是種浪費。
  


    游戲信息
  發行商:Sierra/Fox Interactive
  全職開發人員:21個核心團隊成員,另有四個隨時提供協助的其他人員。
  外聘開發人員:游戲配樂人員、動作捕捉人員、配音演員。
  開發周期:19個月
  出版日期:2002年9月19日制作完成
       2002年10月4日全面上市
  硬件開發環境:Pentium1.0-1.7MHz,256-512MB內存,GeForce1-4顯卡
  開發軟件環境:LithTech、DEdit/ModelEdit、Microsoft Visual Studio(C++)、Photoshop,Maya、3DMax。
  特別的技術:LithTech Jupiter開發系統
  項目規模:2000個文件,15萬行代碼


  
  根據我們的研究分析,我們最后確定需要保留的前作關鍵元素是:一系列有趣的場景;令人記憶深刻的事件,比如在從飛機上掉下來或身處即將沉沒的貨輪;幽默的對白、文件以及人物性格;通過過場動畫和游戲中觸發事件構成的有懸念的故事主線。而需要改進的前作的缺點包括:缺少視覺上的閃光點;隱蔽功能設計得不好,讓玩家覺得迷惑;中間的過場動畫太冗長乏味;包含的武器和各種小道具過多。
  這些總結對我們把握NOLF前作的精華,起到了很大的幫助,但它們同時也顯示了在做續集時,我們必須面對的一些根本問題。比如,因為我們對內容細節的要求將更加嚴格,所以每一個場景都必須花費更多的時間才能完成。但是如果按照我們既定的日程安排來看,我們根本做不出和原作同樣多種類的場景。另外,我們還希望在視覺表達上更強大的、更深思熟慮,這就意味著我們必須對每一個場景投入更多的努力。除上述兩點外,我們從開發前作的經驗中很清楚的認識到——花費在關卡的幾何模型上的時間越多,用于實現游戲性的時間就會越少。
  其它的問題解決起來比較容易。NOLF包含了近30種武器和小道具,其中有很多重疊的部分。例如,有三種手槍,二種狙擊步槍,幾種非常相似的導彈類武器和一系列小道具——比如照相機破壞器以及機器狗——而這些道具其實很少被用到。續集中道具的數量和前作差不多,但是這些道具的種類更加多樣化,我們刪除了一些雷同的槍炮類道具,然后引入了一些新奇的道具,比如:憤怒小貓、香蕉、獵熊陷阱等。
  

  
  為了使游戲中的隱蔽功能變得更加自然、更有成就感,我們重新設計了整個AI系統。我們覺得如果游戲中玩家可以暗中接近并監視敵人,那么這些敵人最好能表現得更有趣一些。所以,我們的AI設計師Jeff Orkin,以及我們的主關卡設計師John Mulkey帶頭設計了新的NPC企圖系統(goal system)。這個系統能使得NPC的行為不是隨機和盲目的,而是體現著某種企圖和目標。另外,我們還設計了智能物體系統(Smart Object system),使得NPC可以感知環境,并與環境進行交互。

  這兩個系統的關鍵之處在于它們不是按照事先設定的腳本執行的,而是處于一種完全自然的狀態中。舉個例子說,一個在桌子上打字的NPC,可能會站起身去自動販賣機買一罐蘇打水,然后再去外面抽煙休息一會,他在墻上斜靠了一會之后,可能會漫步到窗邊贊賞窗外的風景,甚至還可能先跑去廁所方便一下。這些行為都是可能發生的。為了確保玩家能夠觀察到NPC的這些活動,我們修改了系統設定,在關卡中設定了一些藏身的地方,讓玩家能夠近距離的觀察到敵人卻不被發現。我們的隱蔽功能設計雖然不是十全十美,但基本上完成了我們的要求,即使得隱蔽變得容易而且自然。

  我們要做的另外一個更重要的改進,就是讓玩家能夠更輕松的躲避敵人的追擊。在NOLF中,我們使用的是一個基于時間的機制,來確定NPC是否應該放棄追擊玩家的。但是這個方案存在著諸多限制,而且實現的效果很不理想。對此,我們做出了相應的調整,在NOLF 2中能否躲開敵人,是根據你通沒通過交叉路口來判斷的。當一個NPC到達一個交叉路口,且沒在任何一條路上看見玩家,那么他會隨意選擇一條路線追下去。為了讓NPC的這種決策看起來具有一定智能性,且更加可信,關卡設計師也可以加大NPC選擇一個特別的方向的機率。比如讓NPC沿著大路追下去,而不是去調查那些小巷。而當NPC選擇了某條確定的路線時,設計師還能進一步指定這個NPC所應采取的下一步行動。舉個例子來說,如果NPC選擇探索一條小巷,那他將緩慢謹慎地前行;相反的,如果他選擇了街道,那他將繼續快速地奔跑。
  


  基于企圖的AI系統(goal-based AI),讓游戲世界中的敵人變得更加具有自主性和智能性。當他們面臨危險的時候,或者攻擊,或者逃跑。而逃跑時,NPC可以聰明的利用周圍可感知的智能物體(smart objects)。圖中顯示兩個NPC為了躲避爆炸,手扶鐵欄桿跳下。鐵欄桿就是游戲中的智能物體。NPC知道其功能并了解如何利用它。
  
  
  另外一個需要在續集中著重考慮的是過場動畫的使用。在NOLF項目的后期,我們才將游戲過場動畫完成。但是當我意識到其中有些動畫過分冗長乏味時,已經太晚了,我們已經沒有時間做出修改。而NOLF中過場動畫的數量之巨,又使得花在每個動畫上的時間不足,質量無法保證。

  與NOLF不同,我們制作NOLF 2的時候,早早就完成了過場動畫腳本的編寫。一旦它被評審通過,就可以安排進行下一步動作捕捉,以及配音占位的工作。這使得我可以先初步完成過場動畫的試片,然后對它的節奏頻率、清晰度和連續性做評估。這之后隨著項目的開展,在逐步對場景、動畫、配音、節奏等做出最終定案。最后,再由我們的首席角色設計師及動畫師Scott Albaugh錦上添花,在過場動畫中加入臉部細節動畫、手指和頭發的運動等細節。這些細節給這些動畫帶來了真正的活力。

  回顧來看,NOLF 2的過場動畫極為濃縮,可能對前作中過度冗長的動畫有點矯枉過正。使得問題更復雜的是,我們在NOLF 2中選擇了一條與原作不同的故事主線,并沒有像部分玩家希望的那樣在NOLF 2中延續NOLF的敘事結構,但迎合了另一部分玩家的喜好,如其所愿的讓他們在續集中看到了更多的新內容。最后強調一下,這種矛盾是制作續集的重大難題之一。為了保持游戲的新鮮感,你必須對舊的游戲系統進行改造,但又不能改得過火,讓其面目全非。要達到一種的平衡是很難的。

 

2.預制作階段(Preproduction phase)及日程安排


   由于經歷了NOLF前期工作雜亂無章的慘痛教訓,所以我們決定為NOLF 2添加一個預制作階段(Preproduction phase)。預制作階段使得我們能夠在開始正式花大氣力投入技術和內容(content)制作之前,從容地做出開發計劃,進行原型設計,并精煉游戲的核心設計。引入預制作階段的核心思想是:在預制作結束時應該完成一個成熟的可以在制作期(production)完美執行的設計,然后在alpha版本的時候調整細化,在beta版本的時候進行測試。

  總體來說,預制作階段是極其有益的。它可以讓你非常忠實的將自己的藍圖轉化為產品。盡管在產品制作期有很多不可避免的挫折和細小的改動,但是我們的計劃仍然被貫徹下來,并成功避免了包括整個渲染引擎的重寫、新的玩家物理設定和各種技術和概念設計上的重大改動。當然,我們也必須保持一定的靈活性,必要的時候也會修改并優化開發計劃。總之,預制作階段在NOLF 2中的成功使用,證明了這個過程所具有的重大價值。因為有了它,我們所做的大多數改動才沒有對計劃產生負面影響。

  NOLF 2是完全按照時間和預算完成的,這證明了在有效的計劃和安排下,即使是AAA級的大作也可以在18個月內完成開發。而成功的的關鍵是要有一個詳盡的計劃,制定一份逐條記錄的完整的詳細的任務列表。開發團隊豐富的經驗使得我們可以做出切合實際的預測,為了保險起見我們還會多留出一些緩沖時間。在項目中我們還堅持使用優先級排序系統(prioritization system),這不僅能確保我們在第一時間完成那些重要的部分,而且還讓我們能在必要時舍棄那些優先級低的部分(基于時間考慮)。由于在預制作階段,我們就這個計劃取得了Monolith和發行方Fox Interactive的同意,所以在制作階段的一些刪減就變得沒有那么痛苦了。

  在為整個項目制定日程上,我們也表現得比以前聰明了。我們允許較長的alpha和beta測試期,以確保擁有更多玩測(play-testing)及修正潤色的時間。另外鑒于NOLF制作過程中被其他事務所干擾以致中斷的教訓,我們為E3、樣片、宣傳材料的制作預留出了更多的時間。而這樣做的結果是不管我們在NOLF 2中遇到了多少障礙,面對了多少預料之外的挑戰,我們最終還是按時交出了令我們感到滿意的產品。


  3. 更新的工具
  我們在預制作的前期就認識到,續集比起它的前作將更緊湊。因為續集在人物角色、場景環境以及物品上的細節的要求更為苛刻,而除非我們能讓內容創造(content creation)及管理通道更加流暢化,使得我們能夠更快更有效率的工作,否則在不犧牲品質的情況下,我們根本不可能完成前作那么大容量的內容。

  在續集中新增的最重要的工具,就是參考模塊系統(referential prefab system),它可以讓我們用各種模塊拼裝成場景,而相同的模塊都指向一個原始的源文件。換句話說,你只要編輯一個文件,就能讓這種影響貫穿整個游戲。舉個例子,如果聲效部門希望為門的開關添加一個聲音,那么他們只需要修改一個源文件就可以了,根本不需要追蹤到游戲中的每個門的所在。

  這個系統最大的優勢,在于它將權力下發到每個需要它的人手中,而不再需要程序員全程參與修改。比如,關卡設計師想在一個場景的某個區域放一張桌子,這時候他只要在合適的地方用一個幾何物體占位就可以了。之后,美術團隊就可以構建一張桌子的三維模型,替換掉那個相同大小的幾何體。關卡設計師可以進一步給桌子安裝抽屜,并使得其可以打開和關閉;也可以添加工作結點(work node),這樣對應的AI(NPC)就可以實現坐下、打印或者填寫表格的動作了。

  其它重要的改進包括更強大的3DS Max和Maya的輸出工具(exporter)。我們在專業的3D軟件包中建立構造一些幾何形體,然后使用輸出工具將其導入到我們自己的專有編輯器中。我們是在這個編輯器中實現整個游戲的游戲性的。在這里,我就不再一一列舉其它的改進了,我只想說——工欲善其事,必先利其器。花費精力更新并增強這些工具,最終讓我們的游戲品質得到了顯著的提高。


  4. 優秀的團隊管理
  在制作NOLF的時候,開發合同簽訂后,仍有一些領導職位空缺了好幾個月。這樣一來,當一些至關重要的人物加入的時候,整個項目已經完全運行在軌道上了。而這些領導延用了一些團隊早先在缺乏專業知識和經驗下做出的決策,直接導致了游戲的重新設計、刪減以及品質上的不穩定。
  NOLF 2伊始,我們就擁有出色的項目管理人員和各部門leads(主程、主美、主企等)。這些關鍵人物能夠深入到具體細節,組織好我們需要的文件,使得每個開發團隊的成員相互之間的溝通及與發行方之間的溝通沒有障礙。他們還可以給出精確的時間預測,并據此制定出一個現實的項目計劃。這個項目的成功說明了強有力的領導是非常重要的。

  5. 單人模式與多玩家協作模式的整合。
  實現游戲中多玩家協作這個部件,事實證明是相當有挑戰性的。但是就像我們希望的那樣,比起多人競爭模式,它更能補充單人游戲的游戲性,為游戲添彩。在協作模式中許多內容是直接從單人模式中發展過來的。但是,我們原本為協作模式專門開發的一些設計要素,最后卻反過來影響了單人模式,在單人玩法上發揮了一些意想不到的作用,意外的使這款產品更加的出色。例如,我們專門為協作玩法添加了雷達這個功能,但是我們很快的意識到它在單人模式中同樣具有價值。與此相反的,在NOLF原作中,我們加入的競爭模式,則根本沒有對單人模式產生任何促進。而且我們發現,傳統的多玩家模式分散了我們的精力,直接引起Bug數量上升,使得QA部門極為困擾。

  綜上所述,如果我們當初能夠更聰明的話,我們會把競爭性多人模式作為NOLF的升級包發布,就象我們在NOLF 2做的那樣。這種方法允許我們將更多的關注投入到游戲開發和確保品質上,而不是通過混雜不同的游戲模式減弱它。

  慘痛教訓


  1. 人員的問題
  我們面對的最棘手的挑戰就是建立一個可靠的、穩定的團隊;另外除了找人代替那些調到其它項目的成員以外,我們還需要在幾個關鍵的領域擴展團隊。為現有空缺職位發布招聘廣告、篩選出一些有潛力的應聘者、安排面試以及安排新員工實地培訓,整個過程消耗掉我們大量的時間。使得事情變得更復雜的是,在招聘的前期我們招錯了幾個人。有的是由于技能不合格,另外一些則是由于他們的工作習慣和態度不符合要求,導致被解雇。
  另外一個重大的障礙是:有幾個月的時間,NOLF 2的幾個團隊成員(包括我)被調去幫助另外一個項目《異形大戰鐵血戰士2》的制作。我們投入到那個項目的時間所產生的成效顯著,但是NOLF 2項目卻為此付出了代價。導致一些NOLF 2的工作被推遲,拖到我們回來為止。像NOLF 2這樣復雜的項目,各項任務之間有太多相互依賴關系,任何個人任務的延遲都會令人沮喪而且代價昂貴。

  2. 預制作過程(preproduction phase)太短
  雖然預制作過程被證明對NOLF 2項目極具價值,但是對它投入的時間還是不夠。理想情況下,在預制作期我們不僅應該確定設計方案,而且應該制作一個穩定的可以試玩的原型(prototype)。然而,在僅有的三個月預制作期內,我們無法將這兩項同時完成。

  而我們最主要的問題是,項目計劃制定得非常詳盡,但卻還沒有經過考驗。因此,我們遇到的任何耽擱都會對整個項目計劃的執行造成影響。更不必說,我們在這個項目中遇到了那么多的耽擱,為了應對它們,不得不對計劃做了大量的調整。到我們完成項目為止,我們從游戲中共刪掉了一個完整的任務、簡化了無數的關卡、而我們當初設想的為游戲中每個阻礙提供多種解決方案的想法,也不得不徹底擱淺(在下文中我將解釋原因)。

  3. 沒有足夠的反復優化(iteration)
  我們的目標是在預制作結束的時候,擁有一個成熟的計劃,這樣就能在制作期執行這個計劃,在alpha測試的時候進行優化。現在看來,我們當初應該盡可能快的完成游戲整體粗略的構架,只有這樣才能擠出時間,在還有時間調整的時候,找出那些弱點和主要問題。然而實際上我們并沒有做到這點,導致在項目后期做出了一些大的改動。例如,因為我們覺得“在日本逃出敵軍陣地”這個情節沒有期望中那么激動人心,所以干脆整個將其刪掉了。還有一個例子,為了打破一段冗長的慢節奏的游戲過程,我們添加了一個以動作為主的關卡。雖然這項改動對游戲品質的提高不容置疑,但是這種調整應該在更早的階段進行。

  而且,雖然續集比前作絕對更加系統化(指游戲中的各種物品被統一規劃,還使用了前面所提到的參考模塊系統),但我們還是花費了大量時間去單獨追蹤一些應該被系統化模塊化的內容。這些例子通常都涉及一些不易被轉化成模塊的組件。其中問題最突出的就是在西伯利亞前哨基地里主檔案樓上的那些窗戶。它們的形狀和尺寸互不相同。這些窗戶本身能夠承受一定的打擊,到達破壞度之后才會徹底粉碎或龜裂開來,如果我們想改變這個承受度,就必須逐一手動調整這些窗戶的參數。


  最后,由于玩測(play-test)能夠幫助平衡數據和調整游戲,所以它們應該盡可能早的被安排到項目中。根據對參與玩測的玩家的觀察,我們對隱蔽系統和開放式的任務做出了一些重要的調整。但遺憾的是,我們卻沒有足夠的時間進行整體游戲的玩測。玩測同時還揭示出一些設計上的瑕疵,但為了產品按時完成,我們實在無暇處理。盡管這些問題并非特別嚴重,但是卻更加彰顯了在項目中盡早進行玩測的重要性。

4. 重要技術和工具的開發耗費時日
  在NOLF項目完成后的分析中,我們很清楚的認識到一點:為了迎合飛速發展的PC市場的競爭需求,續集的圖像上必須有所突破。而要提升續集的圖像質量,就必須重寫最主要的引擎組件,比如渲染管線(rendering pipeline)。而直到正式制作階段開始,很多技術功能還沒有完成,所以,當新的技術投入使用時,團隊成員偶爾就需要被迫重做某些內容(content)。

  最重大的一個變動,就是新渲染器的occlusion系統。實踐表明,要使用它實在太難了,需要美術和關卡設計師經過一段時間的培訓才能學會。但是在那個階段,整個內容團隊(content team)都處于滿負荷工作的狀態。這意味著,在沒人徹底弄懂這些錯綜復雜的功能之前,它們就已經被草率地用于場景的構建和細化了。其后果就是好幾個設計后來不得不被全面修改。

  5. 時間上的限制
  雖然NOLF 2的項目日程安排要遠遠強于前作,但是為了能做好它,我們還是不免把要做的事情排得太滿太緊張。在制作早期突如其來的預算消減,幾乎吃掉了我們所有預設的緩沖時間。前面講的那些團隊的問題也使我們付出了相應的代價。在這個項目最后幾個月中,我們中的大部分人每周工作至少100小時,其中一些人甚至更早的進入這種crunching狀態(項目完成前的沖刺階段)。在NOLF 2片尾的致詞中,特別感謝了Metrolabs公司以及XTZ咖啡和草藥提神飲料的開發商。他們的產品支撐著幾個團隊成員在連續缺覺的情況下得以繼續工作。

  時間的限制迫使我們做出了一些令人沮喪的折衷和放棄。其中讓人感覺最痛苦的,就是放棄了我們當初野心勃勃的設計——允許每一個問題都有多種解決方案。這直接造成游戲中有一些關卡,你必須想辦法獲取某個特定的物品才能玩下去。例如,第四章在西伯利亞前哨基地,其中一個關鍵點就是你必須通過一個電子門。我們只實現了多種解決方案中的一種(即玩家只能采用一種方式來通過電子門這關)。不幸的是,從開發的角度來說,最容易實現的選項恰恰是最沒有游戲性的選項。

  我們遇到的另外一個問題,是沒有為宣傳及市場活動安排進足夠的準備時間。我們沒預料到相關人員會需要我們提供那么多東西。當各種訪問、現場采訪的要求潮涌而至時,我們才意識到自己碰到了一個大麻煩。如果能夠提前做好更多的準備,我想對每個相關人員來說效果都會更好。

  成功的代價
  在NOLF原作的案例分析中,我提到Momolith公司已經逐步成熟了。它由一個只有熱情卻無組織的年輕公司,逐步發展成為一個更專注更專業的公司。NOLF 2的成功就是一個很好的證明。盡管這款游戲談不上完美,但是它從一定程度上證明了規劃、組織、優先排序以及經驗的價值。

  如今開發一款游戲越來越貴,但是預算卻很少相應增長。為了能制作出高質量的產品,開發者必須更加精明和現實。還有一點非常重要的,就是必須認識到妥協是游戲開發中不可或缺的因素之一。做任何事情都是需要付出代價的:對局部精細就必然要犧牲整個游戲的廣度;追求縱深感就要犧牲一部分表面細節的刻畫;做得復雜就要犧牲一定的穩定性。在開發一個續集的時候,你必須冷靜的考慮上述諸多因素,因為你必須達到預期的要求。盡管這個預期是被前作的成功所設立的,與現在的情勢有很大不同。


網載 2011-03-03 00:52:18

[新一篇] 穿越時空,在波斯古國中旋舞—《波斯王子時之沙》制作回顧

[舊一篇] 體會飛翔的感覺—《蜘蛛人2》擺蕩系統制作回顧
回頂部
寫評論


評論集


暫無評論。

稱謂:

内容:

驗證:


返回列表