對剛剛涉足遊戲產業的朋友的建議(轉)

post0發表於2007-08-12
對剛剛涉足遊戲產業的朋友的建議(轉)[@more@]

  遊戲行業可能是現今這個世界上能夠找到的為數不多的迷人工作之一。在高科技的外表掩護下,她讓你充分享受創作和玩耍遊戲的樂趣。最近一些成功的傳奇故事更是把她捧上了天。id Software 已經成了成千上萬想要成為遊戲開發者的傢伙們每天必做的美夢。

  你也是這幫傢伙中的一員?好,就讓我們來談談怎樣進入這個迷人的行業,或者說你怎樣做一隻遊戲。這兩者確實存在著某些微妙的差別,不過為了不打擊你寶貴的積極性,本文準備避開此類令人討厭的話題。

  萬事開頭難

  “我從那裡下手?”

  這是每個傢伙在開始時都要問的一句話。古人云:“三思而後行”,在你行動以前,先訂出一個計劃,這無疑才是明智之舉。否則你只會成為一個迷失在沙漠裡的亡魂,永遠也找不到你渴求的綠洲。

  如果沒有一個明確、合理、可行的計劃,你將不可能得到你所想要的結果,唯一的結果就是你始終無法完工。一個可笑的例證是作者本人,三年前我一步步走上這條絕路,其最重要的一個原因就是沒人寫這篇文章給我看。

  話說回來,要一個新手搞出一個明確、合理、可行的計劃,跟派一個嬰兒去爭奪奧運會金牌沒什麼兩樣。我對此的建議是先從小一點的計劃做起。

  選定目標

  “我想在電腦遊戲行業裡找到一個工作。”

  對這個目標的標準答案通常會歸結為“做一個遊戲 DEMO”。這是否確切意味著什麼呢?

  它代表著你將寫一些程式,或是做一段動畫,再不就是一堆音樂和音效。不過這可不是隨便做做就行的,這些東西必須適合於影片遊戲,最好它們就是一個具備商業加專業水準的影片遊戲的一個部分。

  對程式設計師們來說,這會導致出一個擁有 2D 或是 3D 外觀的複雜引擎,一大堆必備的遊戲輔助開發工具,比方說地圖編輯器什麼的。你做的工作結果越接近實際的遊戲產品,就越有可能給潛在的僱主或是投資者留以更深刻的印象。比方說你做了一個平臺式的跳躍遊戲,有各種關卡、得分、生命、寶物等等,你實際上已經實實在在地證明了你確實理解一個影片遊戲的基本工作過程,你還證明了你有著為潛在的僱主或是投資者去完成一個製作專案的積極主動性,最後還證明了你有堅持直到成功的毅力。

  你的遊戲產品越出色,它就越可能幫你找到一個工作。不信?不妨把你自己放到僱主或是投資者的位置來觀察,成百上千的求職書擺在你的面前,都想要在你的公司裡謀一個差事,如果不當慈善家,你會選擇誰?能幫你做出最出色產品的那個傢伙難道不是你最想僱來盡情剝削壓榨的嗎?

  進一步發揮你的想象,也許你的遊戲產品會如此出色,以至於比爾小朋友會牽著你的衣角,乞求你帶上他去征服整個幼兒園世界中的財寶?

  “我只是想從製作電腦遊戲中尋求樂趣。”

  你一但抱定此種念頭,那麼除了你自己,沒有人能阻止你一直幹下去。你就象生活在真空中一樣,可以不需要絲毫的外部援助。你可以加入一些開發共享軟體的小組,也可以自己一個人幹。在加入一個小組之前,你必須知道一個事實,那就是在這種小組裡工作,尤其是在那種遠距離小組裡工作會遇到更多的困難。這個事實可以用公式來描述:新的問題 = 問題本身 + 人與人的問題。

  “我需要找一個出版發行商,這樣我就可以用遊戲銷售收入來保障自己可以把時間全部都投進去。”

  聽上去很不錯,但不幸的是,從很久以前就開始的記錄表明,其他人也都這麼想。你的唯一出路在於,要讓你手裡的東西比其他任何人的都好,而且看上去準能賺大錢。由此可以推論,一個能夠實際執行的演示程式在幫你吸引出版發行商這件事上的效果遠比只是一段演示動畫強。現在的出版發行商們的精明程度是呈指數增長的,用一段演示動畫就可以輕鬆糊弄他們的黃金歲月早已記入了厚厚的歷史書中。

  那麼接下來要考慮的是,一個遊戲的 DEMO 要做到什麼程度才夠呢?根據前人的經驗,至少要有一個關卡,或是一個可以實際玩耍的區域來進行演示,這這件事情上,你做得越多,你就離想獲得的目標更近了一步。你還應該對遊戲的藝術風格有一個完整的概念,如果在實際的 DEMO 中無法徹底展現這種風格,最好還是想辦法用一個詳細的描述文件來闡述它,以便讓出版發行商能夠弄懂你的意圖。你的遊戲 DEMO 沒有音樂音效?這根本算不上是什麼致命傷,在出版發行商的眼中,這些東西按照慣例,通常都會放到遊戲製作的後期去完成,他們會組織一批專業好手去幹這種事。告訴你這一點的目的是為了減少你對於此類事情的過分擔心。不過你必須要明白,這不是讓你的遊戲變得更好的最佳方案,這樣的東西通常都會草草收工,你能指望其他素不相識的傢伙會為你的遊戲而投入無比的熱情?充其量他們只會為了自己那一份報酬而裝出賣力的樣子罷了。

  在動手做你的 DEMO 的時候,還必須記住要表現出兩點。如果你的遊戲想以技術難度取勝,那麼在 DEMO 中你就要儘量多地表現出各種你值得炫耀的技術,這將證明你能夠完成這個遊戲,而不是眼高手低。第二點需要記住的是,要在 DEMO 中讓人能找到感覺,當然最好是你希望的那種。一個讓人感到有趣的遊戲肯定會比另一個讓人覺得玩起來沒什麼意思的遊戲要好很多,至少會對吸引出版發行商這件事多起些作用。

  最後,你還必須考慮到一個更殘酷的現實,那就是國內的出版發行商們的實際情況比上面說的還要糟,要同這批傢伙打交道而不吃虧絕非易事。他們唯一感興趣的是從你和你的遊戲身上能賺多少錢,這樣的結果就是說他們只可能在製作遊戲時幫你的倒忙。在你的遊戲還沒完工之前去找他們投資,不失為一個葬送你的遊戲和你的熱情的好辦法。這也許是國產遊戲讓人反覆失望的一個微不足道的原因吧。

  “我要比 id 更威猛!”(或是“我要超過 XXX!”)

  見鬼的是,每個人都這麼想。無數的小組和個人為實現這個目標而投入的精力絕對超出了你的想象。然而直到如今,這個遊戲開發者的聖盃依然高高地漂浮在天際。你得明白,羅馬不是一天就建成的,id 的職業生涯不是從 QUAKE&QUAKE II 開始的,也不是從 DOOM 開始的,甚至連 Wolfenstein 3D 都不是。他們一開始做的都是一些小東西,大量的 2D 小遊戲。你可以象蠢笨的作者本人一樣去把自己的第一個遊戲專案擬訂得無比宏偉,幹了很久以後才發現實際需要的資源會花上你兩千年去完成。我估計自己沒那麼長的壽命,也許你能行?

  因此,對於一個新手來說,最好的開始還是拋開這些不切實際的念頭,從一些簡單的遊戲或遊戲 DEMO 做起,並試著發表它們。

  接下來,讓我們談談具體的

  該如何幹

  如果你試圖自行製作一隻遊戲但又不知從何下手,那麼,我所能為你提出的最好建議就是去學習,去拼命地學習一大堆東西。在你學有所獲以前,先把你關於你自己的遊戲的所有胡思亂想通通扔開,然後一頭扎進你所想涉足的領域。

  一個討厭的現實是遊戲行業推薦你必須學習 C++,最好是 Microsoft Visual C++。比較幸運的是,如果你只想為自己做遊戲,那隨便你怎麼幹,你用 Visual Basic、Delphi 都不會有什麼影響。一旦你想有人花錢請你寫遊戲,那麼最好還是遵從這一點。

  程式設計能力是創作影片遊戲的基本要點,遊戲行業以光速發展的後果導致,如果你不是這方面的行家裡手,你最好打消自己做遊戲的念頭,以免今後痛苦不堪。什麼?你一點都不懂程式設計還是不想放棄?好吧,那麼讓我們來看看,你還能做些什麼。對了,正如上文所說,你可以先去學習 C++,透過學習,你應該可以逐漸看懂你感興趣的遊戲例程。不過千萬不要指望短短几個月的學習就能夠精通程式設計,儘管有些詐騙犯寫的書說一週就夠了。還是以作者本人為例,雖然已經在遊戲程式設計上花了十幾年功夫,雖然日漸瘦弱的身軀似乎在暗示著某種進化,但依然離終極目標還差很遠,看起來還有無限長的路要走。

  “我應該選擇什麼平臺?”

  當然應該是 Windows 95/98,原因是它至少已經佔據了個人電腦 90% 以上的份額,今後多半還會變得更多。難道使用者聚集之地會不是鈔票聚集之地?

  “怎樣學習程式設計?”

  雖然國內有不少大學院校,但你就是找不到遊戲專業。因此,你只要去買兩本合適的書就行了。下面這些主題是你在選購書籍時應該考慮的。

  * C++

  * Windows API's

  * DirectX

  * Game Programming

  * Math

  關於 C++ 的書,最好就是集中講解標準 C++ 的,以免分散你的學習注意力。不管今後平臺怎麼變,這些基礎的東西都會有用。同時,熟練掌握 C++ 會對你今後除錯程式大有好處。

  至於 Window's API (Application Programming Interface) 的書,千萬不要去看那些大談特談 MFC (Microsoft Foundation Classes) 的,完全不談 MFC 的書才是你應該去找的。原因很簡單,我們做遊戲根本就不用 MFC。它的類又大又慢,簡直就是故意同我們的遊戲需求作對。

  DirectX 是 Windows 95 下的一套專用 API,用來處理對圖形、聲音、網路以及 3D 加速硬體的訪問,詳情請參見拙著《Microsoft DirectX 6.0 演武傳奇》。Microsoft 為 DirectX 提供了一些源程式例子,按照 Microsoft 的慣例,它們是很難讀懂弄明白的。涉及這個主題的書最好能夠詳細告訴你各個例子源程式的每一行程式碼實際上在幹什麼,你怎麼在自己的製作中使用它們。如果發現一本書從頭到尾都是在講怎樣為這本書的一個特定專案服務,比方說是為 DirectX 設計一個類,你千萬不要買它!這種書只會把問題越搞越複雜,它們根本就沒有解釋清楚你真正應該瞭解的內容。

  一本好的關於 Game programming 的書應該教會你各種基本要素,去指導你怎樣寫出一個電腦遊戲,它將帶你深入到那些製作影片遊戲所涉及的最簡單、最直接的元素。對初學者來說,看看那些涉及許多種不同型別的遊戲的書可能會比只看詳細談論某一特定型別的遊戲的書收穫更大。

  Math 絕對是製作影片遊戲必不可少的東西,沒有哪種數學不能應用在影片遊戲上。對初學者來說,應該記住各種基本的代數方程式,熟悉三角運算

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-951499/,如需轉載,請註明出處,否則將追究法律責任。

相關文章