關於遊戲開發(轉)2

我常常被人問及一個只有一點編程經驗或一點也沒有的人如何在這條路上起步呢. 在這之前,我會盡我所能地對提問者進行一對一的解答和幫助. 然而如今看來已不可能了,由於當問題如潮涌般地涌向我時,我幾乎都駕馭不住. 所以, 我想是時候將我全部的意見和建議編輯成冊,爲你們提供一個參考.



本文旨在幫助那些想製做本身的遊戲,卻苦於無門的人們. 事實上,我已經將個人讀者羣劃分紅編程經驗值爲0的一類了. 此文主要講述遊戲編程及遊戲設計方面的問題, 不關遊戲的藝術效果製做的事. 關於遊戲市場運做方面的東東,此文我不會說起,由於市面上關於此類的信息資源已如洪水猛獸般氾濫成災了. 但對於在製做遊戲過程當中你所遇到的方方面面的問題,我都會作出簡單概述. 最後,請不要將我爲你鋪的這條通往製做遊戲之路當作是惟一的,甚至是最好的. 儘管它爲我和其餘入門者曾作出"不朽"的貢獻.



選擇一個編程語言



開始學習製做遊戲的時候,你所要作的第一件事就是選擇一個編程語言, 其選擇多多,包括Basic, Pascal, C, C++, Java,等等. 固然,關於哪一種語言對初學者來講是最合適的問題,其爭論也甚爲激烈. 我建議你們能夠看看John Hattan's 的大做"What Language Do I Use?", 其中說起了很多當前甚爲流行的編程語言.



我首先推薦c和c++. 有些人會說:"這個語言也對初學者來講過高級了吧", 但你看,我自個就從這種語言的起步的,所以對於這種說法,鄙人不敢苛同.另外, C, C++語言在市面上使用甚廣,因此你能比較容易地獲得參考資源和各類幫助.固然問題的關鍵並不在於你是否真的從學習c和c++編程語言開始你的遊戲製做涯,事實上,不管你學會了哪一種語言, 學習另外一種就是小菜一碟了.不管如何,若是你決定從C, C++開始的話,那千萬要肯定在你開始學習面向對象(object-oriented)的編程方式以前你已經掌握了面向過程(procedural)化的編程.

當你雄心勃勃地開始學習C, C++時,卻沮喪地發現它太難了,這時你能夠回頭看看有什麼更爲簡單易學的語言,例如Basic 或Pascal, 其實這也無傷大雅, 沒什麼難爲情的.但我所強調的一點就是若是你堅持學習C, C++,並且找到了好的學習資源的話,學會C, C++也是水到渠成之事.



你的下一個問題恐怕是:我該怎麼學習C, C++呢. 我很樂意回答這個問題. 最好的方式就是加入一個學習班,這樣的話你就有老師了,他們會爲你排疑解惑,並幫助你提升業務水平, 老師所佈置的家庭做業能讓你將你學習到的東西應用到實踐中.



若是你沒有條件上學習班的話,那第二個辦法就是買些好書了. 我建議你到當地的書店走走,並大體瀏覽一下書的內容介紹,選中一本你肯定能夠看懂的再買, 掌握必定的知識後,你就能夠買一本更爲高深點的書, 那時你也知道你應該買什麼書了.



說到這裏,我想稍作停頓,由於我想談談關於經濟承受力的問題----據我觀察,這但是廣大入門者,特別是青年遊戲開發者都廣泛關心的問題, 他們大多數對於購買課本或別的學習資料而感到囊中羞澀. 不過不用擔憂,首先仍是有不少免費資源能夠利用嘛,像當地的圖書館呀,還有Macmillan Computer Publishing網站, (網址是: http://www.mcp.com/personal), 在上面你可下載各類各樣的編程書籍. 不過,若是確實想成爲一個編程高手的吧,那你就得爲你的事業作出必要的投資了.由於不管你採用何種途徑,都離不開錢呀!(固然,除非你嘗試非法途徑.)



其實網上也有很多的學習C, C++語言的輔導資料,但依我之見,那些輔導資料最好做書本學習的一個補充, 而不該該成爲你惟一的學習資源.



選擇一個合適的編輯器



你寫的程序,也叫作源代碼,可用一個文本文件保留起來,你甚至能夠用 「寫字板(NOTEPAD)」寫C, C++程序.但若是你要把它轉化成一個可執行文件那就得費些周折了,這時你可使用編輯器.



市面上有很多各類各樣的編輯器, 其中免費的也爲數不菲. 但選擇一個你順心順手的相當重要. 免費的編輯器有一項好處就是你能夠拿來試試,看看哪款最趁心如意.但絕大多數免費編輯器不是 「先天條件不足」,就是 "後天發育不良"(意思是缺陷不少), 遠不如商業版的.並且全部的商業版的編輯器都在測試階段,價格不高,並且其功能也與正版差不了多少.



總之,編輯器的選擇取決於你的經濟承受力,以及你文件運行的操做系統編及開發平臺.若是你打算在Windows上開發的話,那我強力推薦Microsoft Visual C++, 它有強大的開發環境,能讓你的開發工做如魚得水般的自如.另外學生朋友能夠以一個低廉的價格購買到它.但若是你想用dos開發的話,你最好使用DJGPP,可免費獲得.



選擇一個合適目標平臺



Windows: 若是你想在遊戲領域中成爲專業人員,或你但願你開發的遊戲會有衆多的玩家光顧,那你就選擇Windows吧,由於絕大多數的玩家都使用這玩意兒,它也不會那麼快就被逃汰的.DirectX是種能直接操做硬件的開發庫,也就是說有了它,你能夠編寫高性能的遊戲.



Dos: Dos曾是遊戲開發平臺的主流,但它已經是昨日黃花了.儘管很多Dos迷仍然用它進行開發,但現在已沒有一款商業遊戲是由它作出來的,而它時日將隨着微軟對它的背棄而愈加顯得日薄西山,窮途末路.因此若是你纔開如開發遊戲的話,仍是別選Dos爲妙,若是你選了的話,那最好適可而止.



Linux: Linux與UNIX有着剪不斷,理還亂的淵源,近來愈來愈得人心,其緣由衆多,包括它的性能穩定性,價格合理以及反微軟陣營等.雖然它的用戶羣還不是很大,但它的巨大的發展潛力使得它成爲目標平臺之中的合意之選.



Macintosh:Mac有一羣爲數不小的忠實追隨者,並且幾乎每個我所知道的MAC狂熱者都向我傾訴了同一個願望,就是用MAC開發出更多更好的遊戲.儘管我倒沒有看到有不少用MAC開發遊戲的參考資料,但我堅信未來會有的,所以也許MAC也是一個不錯的選擇呢.



Consoles: 遊戲機的遊戲市場巨大,所以它的發展潛力也不容小瞰.然而,在當前這個年代,以非商業模式去開發遊戲機遊戲是不合情理的,其原因甚多,一言難盡.但若是你如今在開發遊戲機遊戲的話,那你最好是在一家商業遊戲公司工做。



開發好的遊戲:



如今是時候讓咱們具體討論一下開發遊戲的事了.爲方便起見,我假設你用C/C++在WINDOWS上開發,不過你選擇其它的開發工具或開發環境的話,我所說的也一樣適用.



首先,在你開始考慮開始開發遊戲以前,你得是一個玩C/C++的好手,你得懂得指針,數組,結構,最好還知道類,你得熟練地運用它們.若是萬事俱備的話,那就開始製做遊戲吧.



其次,別期望本文能面面俱到,教會你在開發遊戲中全部知識,所幸的是,也沒有必要,由於市面關於製做遊戲的書可有很多,而網上諸如此類的輔導資料也數不勝數,好比gamedev.net就應有盡有.好了,下面就是我提出的幾點建議:

選一本或幾本適用的書:對於Windows初學者來講,Tricks of the Windows Game Programming Gurus 網站但是一個很好的資源可供利用.另外,讀透一本或幾本教科書,並認真實踐每一個案例.



在線的資料是很好的補充教材:它不但對開發知識分門別類,並且還涵蓋了書本上沒有的知識.



找高手尋救幫助:若是你在書上或網上找不到你問題的答案,那就在留言簿上留下問題,或在聊天室裏問問別人吧,有不少熱心腸的人都樂意爲您效勞,OGDEV.NET就是一個很好的論壇.可是光"學"不行,還得"學以至用".先從開發簡單的遊戲開始,而後慢慢深刻.一開始的時候,你可選擇獨立學習,千萬別忙着加入遊戲製做團隊,那樣只會使你的學習進程"減速",而不是"加速".但一旦爲本身武裝了幾個像樣的小遊戲,那就是你在大團隊裏一展身手了的時候了.c++

相關文章
相關標籤/搜索