網(wǎng)絡(luò)游戲開發(fā)入門指導(dǎo)
我經(jīng)常被人問及一個問題,那就是:只有一點編程經(jīng)驗或一點也沒有的人如何入門網(wǎng)絡(luò)游戲開發(fā)這個行業(yè)。在這以前,我會盡我所能地對提問者進行一對一的解答和幫助。然而現(xiàn)在看來已不可能了,因為當問題如潮涌般地涌向我時,我?guī)缀醵捡{馭不住。因此,我想是時候?qū)⑽宜械囊庖姾徒ㄗh編輯成冊,為大家提供一個參考。
本文旨在幫助那些想制作自己的游戲,卻苦于無門的人們。事實上,我已經(jīng)將我的讀者群劃分成編程經(jīng)驗值為0的一類了。此文主要講述游戲編程及游戲設(shè)計方面的問題,不關(guān)游戲的藝術(shù)效果制作的事。關(guān)于游戲市場運作方面的東西,此文我不會提及,因為市面上關(guān)于此類的信息資源已如洪水猛獸般泛濫成災(zāi)了。但對于在制作游戲過程中你所遇到的方方面面的問題,我都會做出簡單概述。最后,請不要將我為你鋪的這條通往制作游戲之路看成是唯一的,甚至是最好的。盡管它為我和其他入門者曾做出"不朽"的貢獻。
選擇一個編程語言
開始學(xué)習制作游戲的時候,你所要做的第一件事就是選擇一個編程語言,其選擇多多,包括Basic、Pascal、 C、C++、Java等等。當然,關(guān)于哪種語言對初學(xué)者來說是最合適的問題,其爭論也甚為激烈。我建議大家可以看看John Hattan#s的大作"What Language Do I Use?",其中提及了不少當前甚為流行的編程語言。
我首先推薦c和c++。有些人會說:"這個語言也對初學(xué)者來說太高級了吧",但你看,我自個兒就從這種語言的起步的,因此對于這種說法,鄙人不敢苛同。另外,C、C++語言在市面上使用甚廣,所以你能比較容易地得到參考資源和各種幫助。當然問題的關(guān)鍵并不在于你是否真的從學(xué)習c和c++編程語言開始你的游戲制作涯,事實上,無論你學(xué)會了哪種語言,學(xué)習另一種就是小菜一碟了。無論如何,如果你決定從C/C++開始的話,那千萬要確定在你開始學(xué)習面向?qū)ο?object-oriented)的編程方式之前你已經(jīng)掌握了面向過程(procedural)化的編程。
當你雄心勃勃地開始學(xué)習C、C++時,卻沮喪地發(fā)現(xiàn)它太難了,這時你可以回頭看看有什么更為簡單易學(xué)的語言,例如Basic或Pascal,其實這也無傷大雅,沒什么難為情的。但我所強調(diào)的一點就是如果你堅持學(xué)習C、C++,而且找到了好的學(xué)習資源的話,學(xué)會C、C++也是水到渠成之事。
你的下一個問題恐怕是:我該怎么學(xué)習C/C++呢?!∥液軜芬饣卮疬@個問題。最好的方式就是加入一個學(xué)習班,這樣的話你就有老師了,他們會為你排疑解惑,并幫助你提高業(yè)務(wù)水平,老師所布置的家庭作業(yè)能讓你將你學(xué)習到的東西應(yīng)用到實踐中。
如果你沒有條件上學(xué)習班的話,那第二個辦法就是買些好書了。我建議你到當?shù)氐臅曜咦?,并大致瀏覽一下書的內(nèi)容介紹,選中一本你確定可以看懂的再買,掌握一定的知識后,你就可以買一本更為高深點的書,那時你也知道你應(yīng)該買什么書了。
說到這里,我想稍做停頓,因為我想談?wù)勱P(guān)于經(jīng)濟承受力的問題----據(jù)我觀察,這可是廣大入門者,特別是青年游戲開發(fā)者都普遍關(guān)心的問題,他們大多數(shù)對于購買課本或別的學(xué)習資料而感到囊中羞澀。不過不用擔心,首先還是有很多免費資源可以利用嘛,像當?shù)氐膱D書館呀,還有Macmillan Computer Publishing網(wǎng)站,(網(wǎng)址是: http://www.mcp.com/personal), 在上面你可下載各種各樣的編程書籍。不過,如果確實想成為一個編程高手的吧,那你就得為你的事業(yè)做出必要的投資了。因為無論你采用何種途徑,都離不開錢呀!(當然,除非你嘗試非法途徑。)
其實網(wǎng)上也有不少的學(xué)習C/C++語言的輔導(dǎo)資料,但依我之見,那些輔導(dǎo)資料最好作書本學(xué)習的一個補充, 而不應(yīng)該成為你唯一的學(xué)習資源。
選擇一個合適的編輯器
你寫的程序,也叫做源代碼,可用一個文本文件保留起來,你甚至可以用“寫字板(NOTEPAD)”寫C/C++程序。但如果你要把它轉(zhuǎn)化成一個可執(zhí)行文件那就得費些周折了,這時你可以使用編輯器。
市面上有不少各種各樣的編輯器,其中免費的也為數(shù)不菲。但選擇一個你順心順手的至關(guān)重要。免費的編輯器有一項好處就是你可以拿來試試,看看哪款最稱心如意。但絕大多數(shù)免費編輯器不是“先天條件不足”,就是 "后天發(fā)育不良"(意思是缺陷很多),遠不如商業(yè)版的。而且所有的商業(yè)版的編輯器都在測試階段,價格不高,而且其功能也與正版差不了多少。
總之,編輯器的選擇取決于你的經(jīng)濟承受力,以及你文件運行的操作系統(tǒng)編及開發(fā)平臺。如果你打算在Windows上開發(fā)的話,那我強力推薦Microsoft Visual C++,它有強大的開發(fā)環(huán)境,能讓你的開發(fā)工作如魚得水般的自如。另外學(xué)生朋友可以以一個低廉的價格購買到它。但如果你想用dos開發(fā)的話,你最好使用DJGPP,可免費得到。
選擇一個合適目標平臺
Windows:如果你想在游戲領(lǐng)域中成為專業(yè)人員,或你希望你開發(fā)的游戲會有眾多的玩家光顧,那你就選擇Windows吧,因為絕大多數(shù)的玩家都使用這玩意兒,它也不會那么快就被逃汰的。DirectX是種能直接操作硬件的開發(fā)庫,也就是說有了它,你可以編寫高性能的游戲。
Dos:Dos曾是游戲開發(fā)平臺的主流,但它已是昨日黃花了。盡管不少Dos迷仍然用它進行開發(fā),但如今已沒有一款商業(yè)游戲是由它做出來的,而它時日將隨著微軟對它的背棄而越發(fā)顯得日薄西山,窮途末路。所以如果你才開如開發(fā)游戲的話,還是別選Dos為妙,如果你選了的話,那最好適可而止。
Linux:Linux與UNIX有著剪不斷,理還亂的淵源,近來越來越得人心,其原因眾多,包括它的性能穩(wěn)定性,價格合理以及反微軟陣營等。雖然它的用戶群還不是很大,但它的巨大的發(fā)展?jié)摿κ沟盟蔀槟繕似脚_之中的合意之選。
Macintosh:Mac有一群為數(shù)不小的忠實追隨者,而且?guī)缀趺恳粋€我所知道的MAC狂熱者都向我傾訴了同一個愿望,就是用MAC開發(fā)出更多更好的游戲。盡管我倒沒有看到有很多用MAC開發(fā)游戲的參考資料,但我堅信將來會有的,因此也許MAC也是一個不錯的選擇呢。
Consoles:游戲機的游戲市場巨大,因此它的發(fā)展?jié)摿σ膊蝗菪☆?。然而,在當前這個年代,以非商業(yè)模式去開發(fā)游戲機游戲是不合情理的,其緣由甚多,一言難盡。但如果你現(xiàn)在在開發(fā)游戲機游戲的話,那你最好是在一家商業(yè)游戲公司工作。
開發(fā)好的游戲
現(xiàn)在是時候讓我們具體討論一下開發(fā)游戲的事了。為方便起見,我假設(shè)你用C/C++在WINDOWS上開發(fā),不過你選擇其它的開發(fā)工具或開發(fā)環(huán)境的話,我所說的也同樣適用。
首先,在你開始考慮開始開發(fā)游戲之前,你得是一個玩C/C++的好手,你得懂得指針,數(shù)組,結(jié)構(gòu),最好還知道類,你得熟練地運用它們。如果萬事俱備的話,那就開始制作游戲吧。
其次,別指望本文能面面俱到,教會你在開發(fā)游戲中所有知識,所幸的是,也沒有必要,因為市面關(guān)于制作游戲的書可有不少,而網(wǎng)上諸如此類的輔導(dǎo)資料也數(shù)不勝數(shù),比如gamedev。net就應(yīng)有盡有。好了,下面就是我提出的幾點建議:
選一本或幾本適用的書:對于Windows初學(xué)者來說,Tricks of the Windows Game Programming Gurus 網(wǎng)站可是一個很好的資源可供利用。另外,讀透一本或幾本教科書,并認真實踐每個案例。
在線的資料是很好的補充教材:它不但對開發(fā)知識分門別類,而且還涵蓋了書本上沒有的知識。
找高手尋救幫助:如果你在書上或網(wǎng)上找不到你問題的答案,那就在留言簿上留下問題,或在聊天室里問問別人吧,有很多熱心腸的人都樂意為您效勞,OGDEV。NET就是一個很好的論壇。但是光"學(xué)"不行,還得"學(xué)以致用"。先從開發(fā)簡單的游戲開始,然后慢慢深入。一開始的時候,你可選擇獨立學(xué)習,千萬別忙著加入游戲制作團隊,那樣只會使你的學(xué)習進程"減速",而不是"加速"。但一旦為自己武裝了幾個像樣的小游戲,那就是你在大團隊里一展身手了的時候了。
【編輯推薦】















 
 
 

 
 
 
 