FPS教父演講:id初期遊戲編程的9大法則

【Gamelook專稿,轉載請註明出處】

Gamelook報道/提到遊戲開發者,id公司的共同創始人John Romero是最有影響力的人之一,作爲FPS遊戲教父,他在歐美業內算得上是泰斗級的人物。在最近幾天德國科隆舉行的GDC歐洲大會上,Romero講述了1990年代id Software公司幾個重要的編程法則,其中很多對於如今的遊戲研發也非常有指導意義。

但需要指出的是,Romero表示,有些方法在如今聽來可能是非常瘋狂的,這些法則是他們那個時代的產品研發指南,但在90年代,他們創造了id Software,而且在5年半的時間裏只用了不到10個開發者就完成了28款遊戲,創造的《指揮官基恩(Commander Keen)》、《毀滅戰士DOOM》、《雷神之錘Quake》等都是在遊戲業歷史上有重要貢獻的作品。

johnromero

1.不做創意原型:始終經常維護可用代碼,在研發過程中進行優化

現在,業內大多數人的建議都是先做創意原型,先做出可玩的版本,然後找到樂趣所在。但對於id來說,Romero稱他們當時根本沒有時間做創意原型,該工作室當時做的遊戲都是很小的而且很容易在團隊成員腦子裏形成可視化的概念,所以他們直接把想法做成了產品,他說,“在如今,要做任何一個大的項目,你都必須先做創意原型”。

據Romero透露,儘管沒有做創意原型,他們也只放棄過一款遊戲,也就是叫做《雷神之錘:正義之戰》的作品,他的團隊研發了兩個月(是一款RPG遊戲),但隨後決定停止研發並且繼續下一個項目,直到四年之後,他們才重新回過頭來做《雷神之錘》系列的遊戲。

2.非常重要的是,你的遊戲一定要始終可以被團隊掌控,通過提供加載失敗時的默認值完善你的引擎。

Romero曾多次強調尋找提高研發效率方式的重要性,其中一條就是確保遊戲要能夠被團隊掌控。

22

3.把代碼做到絕對簡單。不斷地審覈遊戲功能並且找到如何進一步簡化的方法。

簡化代碼是非常重要的,實際上除了代碼之外,遊戲設計和製作過程的簡化也同樣重要。

4.優秀的工具可以幫你做出偉大的遊戲,所以儘可能在工具創作方面多投入時間。

Romero說,“我們就是自己最好的測試團隊,而且我們永遠不應該讓別人體驗到遊戲bug或者看到遊戲崩潰,不要浪費其他人的時間,在檢查自己的代碼之前就要反覆測試”。

他還補充說,“一旦你發現了bug,最好立即修復。不要繼續等着以後再出現bug時解決。如果你不修復這些bug,那麼新代碼也都是在有問題的代碼庫上寫的,並且後續會導致更多問題”。

5.使用比你的目標系統更高的研發系統做遊戲

雖然《毀滅戰士》的目標平臺是MS-DOS,但Romero表示這款遊戲實際上是在當時更爲先進的NextStep操作系統上進行的,也就是蘋果OS X系統的前身。

doom

6.只爲當前的遊戲寫代碼,而不是留着給未來的遊戲用。你在爲了還會寫新的代碼,因爲經驗的積累會讓你懂得更多。

對於一個遊戲研發團隊來說,不同的遊戲重複使用代碼並沒有什麼意義,因爲你所做的充其量也只是一點點的優化而已,當然,當時是因爲還沒有Unity或者虛幻引擎可以用。

7.對功能進行概述,確保設計的整體繼承性,這樣做可以最少化錯誤並且節約你的遊戲設計時間。

當你這麼做的時候,就可以獲得更多有效率的代碼、更大的設計決策和改變的靈活性。

8.努力做到代碼透明化。告訴你的主管和同事們,你具體將如何解決目前的任務。

在id公司初期,只有四個人:Romero、卡馬克、Tom Hall和Adrian Carmack,他們同在一間房子裏邊寫代碼邊聽重金屬音樂,所有人都知道其他成員在做什麼,這對於當時id Software的工作效率是有極大幫助的。

9.編程是基於邏輯的一種創意藝術,所有的程序猿都是不同的。

這一點不言自明,到目前來說也適用。在演講之後的問答環節,有開發者問Romero是否曾因爲遊戲研發的快節奏而忙到筋疲力盡,Romero解釋稱,他太癡迷於編程,所以從來沒有覺得勞累過度。另外一件值得注意的事情是,在id最著名的《毀滅戰士》之前,實際上他們四個人已經有大量的工作,《重返德軍總部》是Romero參與過的第87個遊戲,《毀滅戰士》是第90個。