遊戲編程入門步驟,適合初學者

遊戲編程 Windows 編譯器 微軟 匯眾教育 2017-05-26

經常有人問我,沒有編程經驗的人該如何開始開發遊戲。在此之前,我總是一個個的盡力回答。然而,後來提相同問題的人數增長到難以處理的地步。我決定,是時候把我所有的建議寫成文章,作為一個大概。

這篇文章是針對那些想要開發遊戲,但幾乎沒有編程經驗的人。事實上,我假設讀者沒有任何編程經驗。我主要討論遊戲開發的程序和設計方面,而不是藝術性。我也不準備講述如何進入遊戲行業(這方面已經有足夠的資料),而只是讓你逐步的開始開發自己的遊戲。最後,我所指出的這條道路也並不能作為唯一的,或是最好的路徑來學習開發遊戲,但至少對我和一些人很有用。

遊戲編程入門步驟,適合初學者

選擇一門語言

你要做的第一件事就是選擇一門開發語言。你有很多選擇,包括Basic,Pascal,C,C++,Java,等等。也經常會有人爭論對於初學者那一門語言是最好的。對於這一系列流行語言的討論,你可以參看John Hattan的著作,What Language Do I Use?(我用什麼語言?)

我的建議是以C和C++開始。有些人會說這些語言對初學者來說太高級了,但因為我自己就是學C++,我並不同意這一說法。而且,C/C++是當今使用最廣泛的語言(譯者認為應該是漢語。。。),所以你可以找到大量學習資料和幫助。你先學C或C++都無所謂,因為只要學了一個,再學另外一個就很容易。但是,如果你先學C++,請保證在學習面向對象編程之前能理解和使用過程編程(等編程熟練再去學習類)。(譯者:C是過程性語言,C++是面嚮對象語言)

如果你開始學習C/C++,發現太難,那再學一個簡單一點的也沒關係,比如Basic或Pascal。但是我真的認為,如果你堅持努力,而且有好的資料,學C/C++應該沒有太大問題。

你的下一個問題可能會是:“我該怎麼學C/C++?”我很高興你這樣問。最好的辦法是上課。有老師可以回答你的問題,幫助你產生很大進步,編程練習作業也可以保證你能用到所學的東西。

如果你不覺得上課是個好主意,那麼就買一些好書。不要花太多時間去選一本什麼“超級寶典”或“萬用全書”,因為你最終可能會買幾本。我建議你去一家書店,然後拿幾本比較入眼的C或C++書看,直到找到一本或幾本你能看懂,並且可以拿來學習的。

同時,你可能會想要一些更深入的,或者一些材料,但是你一旦對於這門語言有了一些瞭解,我相信你應該有自己更好的選擇。

在這裡,我有必要花一些時間,來說我看到很多初學者所關心的一個事情,特別是年輕人:沒有錢買書和其他東西。首先,有很多免費資源可以利用,圖書館,Macmillan Computer Publishing ,有成千上百的編程書籍。但是如果你真的想要成為一個好的程序員,還是應該投入一部分資金。應當想方設法(合法的)幫助你弄到一些錢。

網上也有很多C/C++的學習指南。但是我認為那隻能作為補充而不是你自學的主要資源。

選擇正確的編譯器

你寫的程序,或者代碼,是以文本方式儲存的,你甚至可以用記事本寫C/C++程序。但是總需要有東西把他們轉換成為可執行文件。對於C和C++,那就是編譯器。

可用的編譯器有好多種,包括很多免費的。選擇一款自己適合的編譯器很重要,免費的編譯器就有這樣的好處,你可以把它們試個遍,然後從中選擇自己最喜歡的。然而,免費編譯器比起商業版,可能會缺失一些功能和大部分服務。幸運的是,多數商業版編譯器也兼售介紹版或學習版,這要便宜得多,通常功能卻不見得少,唯一的限制是你不能發佈用它編譯的程序(短時間內你也根本用不著)。

總之,選擇編譯器取決於你能花多少錢,用什麼操作系統,和為什麼平臺開發。如果要為windows開發,我強烈推薦Microsoft Visual C++。他強大的開發環境使得很多事做起來更方便,毫無疑問沒有其他編譯器更適合開發windows應用程序。如果你是個學生,你還可以折價買到。(譯者:爽!)如果你在DOS平臺開發,你最好的選擇可能是DJGPP,免費的哦~。

選擇開發平臺

儘管最終你很可能為好幾個平臺開發,總要先選擇一個來學。當你在學這門語言,還沒有接觸到圖像的時候,你可能會想使用非圖形用戶界面的操作系統,比如DOS,Unix.這樣可以避免接觸高層,比如windows編程,讓你集中精力學習語言本身。

一旦你做好開發遊戲的準備,那麼,應該考慮是否改變平臺,讓我們來看看每個選項的特徵。

windows

如果你想成為遊戲行業的專家,或者如果你想讓許多人來玩你開發的遊戲,那麼,這就是你要選擇的平臺。因為多數你的用戶使用windows,而且現在我也看不出有什麼改變的跡象。當今大多數的windows遊戲都是由一種你可能聽說過技術DirectX開發的。你可以DirextX這個庫直接訪問硬件,這意味著你可以開發高性能的遊戲。

DOS

DOS過去是佔統治地位的遊戲平臺,但是已經一去不復返了。儘管可能有一些特殊愛好者還在為DOS開發遊戲,現在沒有一個為DOS開發的商業遊戲,他也將繼續衰落,直到微軟不再支持。如果你只是想開發遊戲,還是不要選擇DOS,如果你非要這麼做,也不要太久。記住:由於存在大量DOS遊戲開發的書,可能還有人辯護從這些書中學習DOS遊戲開發。但是,windows遊戲開發的書越來越多,那些辯解也變得越來越無力。

Linux

Linux是Unix的一種,由於很多原因後來變得流行,包括穩定性,價格,和反微軟情緒。儘管Linux用戶還是相當少,但是圍繞著他的熱情和不斷增長的市場潛力使其也成為不錯的選擇。

Macintosh

MAC有大量忠實粉絲並不能說明什麼,幾乎每一個和我討論的MAC狂熱者都需要更多更好的遊戲。我沒有見過多少MAC遊戲開發資源,但我相信還是有的,因此這也是一個選擇。

consoles

console(就是PS,N64,DC等等)的遊戲市場十分巨大,當然console遊戲開發的前景也不錯。然而以非商業的形式開發console遊戲,出於各種原因,在現在似乎行不通。如果你開發console,很可能是在被商業遊戲開發組僱用之後。

開始進入主題

現在是時候討論開發遊戲了。簡單起見,我假設你選擇用C/C++在windows平臺開發,可能你選擇別的,但大多數我說的還是有用的。

首先,甚至在你打算開始開發遊戲之前,你必須很好掌握C和C++.你應該懂指針,數組,結構體,函數,可能還有類。如果你精通他們,就可以開始做遊戲了。

這篇文章可能不能教會你所有關於開發遊戲的東西。幸運的是,也沒有這個必要。這方面有很多書,網上也有很多指南。GameDev.net應該有所有你想要的東西。

在這裡我只建議你怎麼開始:

找一本或幾本書。對於windows遊戲開發初學者,Tricks of the Windows Game Programming Gurus是個完美的開始。除此之外,還有許多好書.讀透這些書,試試所有的例子,不懂得部分多讀幾遍。

網上指南作為補充。除了弄清書上讀到的,他們還涉及一些書上沒有談及的主題。

向老師尋求幫助。如果你不能在書上或指南找到問題的答案,好好利用我們的論壇和聊天室。那裡有好多專家願意幫助別人。

這些並不是要你按照順序執行的,而是可以同時並且不斷的重複執行。

光學習還是不夠的,你必須運用你所學到的。從一個小遊戲開始,然後在這個基礎上前進。你可以看一下Geoff Howland's 的著作: How do I Make Games? A Path to Game Development.

開始,自己獨立工作。不要急著加入團隊,那樣只會減緩學習過程。而且一旦你有了自己的幾個遊戲,你可以為團隊做出更大的貢獻。

還有關於書,你應該不僅僅看遊戲開發的書。為了能夠開發出你看到商店出售的遊戲,你應該鑽研比大多數遊戲開發書籍更高級的一些主題。有一些可以在網上找到,但你也應該選一些圖形學,人工智能,網絡,物理學等方面的書。計算機科學學位看來唾手可得,但因為你被迫上這些課的時候可能認為他們和遊戲開發無關-你錯了!

不要只積累知識,用它

你永遠不會知道會理解一些東西知道你是用他們。用你學的東西作些演示。做作書上的練習。

帶著思考,玩一些不同的遊戲

這樣做會使你做出更好的遊戲。而且可以減輕編程的枯燥。

幫助別人

能幫別人的地方儘量幫助別人,教別人的過程中自己會學到更多。

有始有終

不要有這樣的想法:“我能夠完成這個遊戲了,但是我又有一個新的想法,那就直接做下一個。”你可以學得更多如果你完成他,你也可以用事實證明你不是隻會空談。所以,儘量不要做很大很複雜的遊戲,直到你有了一定經驗。

開始吧!可能你不是很瞭解,但是至少應該知道如何開始這條道路,找多些資料,加上多年努力工作,一定會實現!

相關推薦

推薦中...