初學者的福音:遊戲開發新手入門指南

我經常被問及:一個具有很少甚至沒有編程經驗的人要如何開始遊戲制作。直到目前爲止,我總是盡我所能一個一個解答。然而,問題的數量已經增長到了一個難以處理的水平,于是,我便決定把所有的建議彙總在一篇文章裏作爲參考提供給人們。

這篇文章主要面向那些想開發自己的遊戲,但僅有一點點或沒有半點編程經驗的人們。實際上,我也假定讀者根本沒有任何的編程知識。我將把重點放在遊戲開發的編程和設計方面,而不是藝術方面。我也不預備對遊戲行業進行論述(因爲這個話題的資料太多了),但是,我會帶你浏覽一下在制作遊戲之前需要做的一些事情。該說明的一點是,不要將我這裏所介紹的方法當作唯一的或最好的學習遊戲制作的路徑,但對于我和其他人來說,它是有效的。

1、選擇一門語言

第一件要做的事就是選擇一門語言。你有一大堆的選擇,包括 Basic、Pascal、C、C++、Java 等等,同樣也有一大堆關于哪門語言最適合初學者的爭論。欲了解各種語言的優缺點,請參閱 John Hattan 的絕妙文章《我該使用什麽語言》。

我這裏建議使用 C 和 C++。有些人認爲這些語言對于初學者來說太難了,但從我個人角度來說我是反對這個觀點的,因爲我自己就是從 C++ 起步的。另外,C/C++ 是目前最廣泛應用的語言,因此,你能找到大量的資料和幫助。至于先學 C 還是先學 C++ 的問題不大,因爲一旦你學習了其中一種,再學習另外一種就沒太大問題了。不過,假如你一開始就選擇 C++,請確信在學習面向對象編程之前,你已經了解並把握了面向過程編程。(比如說,假如你在不使用類的前提下仍無法編好程序,先不要急于學習類)

假如你發現學習 C/C++ 是一件很困難的事,不要緊,回過頭選一門比較簡單的語言來學,比如 Basic 或 Pascal。不過我認爲,假如你堅持下去,並找一些好的資料,學習 C/C++ 的問題不大。

你的下一個問題是:我如何學習 C/C++?我很興奮你問這個問題。最好的方法是去聽課。有沒有老師幫助解答問題,對于你的發展影響巨大,而且編程作業將確保你確實把握了所學的東西。

假如聽課不在你的考慮範圍內,下一個最好的辦法就是找一些好書。不要把注重力放在那些“大全”書上,因爲你終究會買幾本。我建議你去一個本地書店,花點時間浏覽一下介紹 C 和 C++ 的書,直到找到你能理解並能從中學到東西的一本。同時,你可能還想買幾本進階書或是一本參考書,但一旦你具有了這門語言的部分知識,你會對你需要什麽有更好主意。可以在網站BOOKS頻道中找到一些建議。

在此,我簡要的說明一下我見過的很多入門程序員,尤其是年輕人關心的事情:沒有錢買書或其他東西。首先,有許多資源是免費的,包括圖書館和 Macmillan Computer Publishing (他們的網站www.mcp.com 上有數百本編程的書)。其次,假如你想成爲一名優秀的程序員,你不得不考慮在這上面的投資。利用各種手段(合法的 ;<)去弄點鈔票來。

網絡上有大量的 C 和 C++ 的學習教程,但是我認爲這些教程作爲你學習書本的參考要比作爲單獨的材料好得多。

2、選擇合適的編譯器

你寫的程序,或源碼是以文本文件存儲的,你甚至可以用記事本來寫 C/C++ 程序。但是,必須有樣東西能把這些源碼轉化成一個可執行文件。對于 C 和 C++ 來說,這樣東西就是一個編譯器。

現在有大量的編譯器存在,其中有許多是免費的。選擇一個合適的編譯器是非常重要的,而免費編譯器有個好處就是你能一個一個的試,看哪個你最喜歡。但是,免費編譯器經常是比商業編譯器功能少或缺少良好的技術支持。幸運的是,大多數商業編譯器都有與完整版功能相同,但價格便宜許多的介紹版或學習版,唯一的限制是,你不能發布使用該編譯器開發的程序(這點你肯定維持不久)。

3、選擇一個目標平台

雖然你可能最終會爲各種平台開發程序,你還是應該選擇其中之一進行學習。當你學習語言的時候,在沒進入圖象編程之前,你大概想使用一個非 GUI 的操作系統,比如 DOS 或 UNIX。這有助于你將注重力集中在語言學習上,從而避開一些高層的問題,如 Windows 編程。

不過,一旦你預備開始制作遊戲,你就該考慮轉換你的目標平台了。一下是幾個常用的平台:

Windows:假如你想在遊戲行業裏專職工作,或者你想讓一大群人玩你的遊戲,那麽 Windows 是你的首選。你的目標客戶大多數使用 Windows,且這個情況不會很快改變。目前大量的 Windows 遊戲使用一種你大概聽說過的名爲 DirectX 的技術。DirectX 是一個答應你直接操作硬件的程序庫,你可以依靠它寫出高性能的遊戲來。

DOS:DOS 曾經是遊戲的主要平台,但這已是昨日黃花。雖然有些愛好者仍然在爲 DOS 開發遊戲,但是已經沒有商業遊戲是爲 DOS 開發的了,而且, DOS 正由于微軟停止對它的支持而走向衰敗。假如你剛開始做遊戲,別選擇 DOS,假如你已經這樣做了,不要再停留了。注重:因爲有很多遊戲編程的書是爲 DOS 寫的,學習這些書時可能會認爲在 DOS 裏開發遊戲有理有據。但是,隨著 Windows 遊戲編程書籍數量的增長,這種爭論變得越來越少,也越來越沒有意義。

Linux:Linux 是 UNIX 的一個變種,由于它具有穩定、便宜、反微軟情節等多個因素,它正變得越來越受歡迎。雖然目前的 Linux 用戶還比較少,但是隨著它的熱愛者和市場的潛在增長,它也成爲了作爲目標平台的可行選擇。

Macintosh:蘋果機擁有一群數量不多但非常忠誠的追隨者,幾乎每個我見過的蘋果機愛好者都有一個強烈渴望更多蘋果機遊戲的願望。我沒有看過多少在蘋果機上開發遊戲的資料,但我確信確實有,因此,這也是個合理的選擇。

家庭遊戲機:遊戲機(如 Playstation、N64、Dreamcast 等等)遊戲市場非常巨大,前景可觀。然而,由于種種原因,開發非商業性的遊戲機遊戲在目前來說是不太可能的。你爲遊戲機開發的遊戲大多都會被商業遊戲公司買走。

4、充足電

是討論真正做遊戲的時候了。雖然我所說的大部分內容適用于其他語言,爲簡單起見,我將假定你選擇了 C/C++ 來進行 Windows 編程。

首先,在你考慮如何開始做遊戲之前,你應該能很好的把握 C 和 C++。你應該了解並精通指針、陣列、結構、函數,以及類等。做到了這一點,你就可以開始制作遊戲了。

本文無法教授你關于制作遊戲所該了解的一切。幸運的是,這也不是必要的。有很多關于這方面的書,網上也有數以百計的教程。GameDev.net 應該會有目前你所需要的一切。下面是我對你起步的一些建議:

學習一本或幾本書。對于 Windows 遊戲的初學程序員,《Tricks of the Windows Game Programming Gurus 》是一本極好的Windows編程入門教程。在這個站點裏擁有許多本站 Books section 裏所列出的好書。閱讀這些書籍,運行所有的例程,反複研讀你不理解的章節。

使用網上教程補充書本的不足。網上教程除了闡明一些你閱讀的東西外,通常也會包含一些書本上沒有涉及的主題。

找專家進行咨詢。假如你無法從書上或教程中找到答案,到本站的留言版或聊天室來,這裏有許多樂于提供幫助的人。

不要把上面幾點當成是個有序的過程,而應當看作是一個循環往複的並行過程。

僅僅是學習、思考是遠遠不夠的,你應當把你所學的東西付諸實踐。從一個簡單的遊戲開始,逐步發展。你可以閱讀一下 Geoff Howland 的文章《How do I Make Games? A Path to Game Development》。

首先,爲自己的工作制定一個計劃。不要急于加入一個團隊,因爲那只會減緩你的學習進程。當你囊中擁有數個遊戲時,你將爲一個團隊作出更大貢獻。

關于書本,有件事我要提醒一下:你需要閱讀除了遊戲編程外的其他書籍。爲了制作出你在商店貨價裏看到的各種遊戲,你將不得不鑽研那些比大多數遊戲編程書籍所授內容更高深的話題。有些可能你能從教程中找到,但是,你還是有必要買幾本關于圖形、人工智能、網絡、物理等等方面的書。這是獲得計算機科學學位的必經之路,因爲你將被要求學習一些你認爲與遊戲編程無關的課程,而實際上它們是相關的。

5、總結

這裏有一些能産生巨大差別的技巧:

要只知道聚集知識,應用是要害。除非你使用了,否則你無法確實知道和理解這些東西。做一些小的測試程序來應用你所學的東西,並切實完成書上每個章節後的習題。

玩大量的遊戲。你會因此找到靈感,從而幫助你制作更優秀的遊戲。當然,這也是一種受歡迎的解除編程壓力的調劑方式。

幫助別人。在你幫助別人的過程中,你會學到更多東西。

完成你的作品。不要陷入這樣一種思想的圈套中:“我知道我可以完成這個遊戲,但是我有個更好的主意,我要換做這個好的項目。”假如你能堅持有始有終,你會學到更多的東西,並且你有作品證實你不僅僅是空談。在你具有豐富的經驗之前,做得簡單一點,不要嘗試制作一個又大又複雜的遊戲。

出發吧!你該動手制作 Quake 4 了。當然,可能不那麽輕易,但至少你可以從這個方向出發,並且知道去哪裏查找更多的信息。經過多年的努力工作,你會成功的!

基本上,你選擇什麽樣的編譯器取決于你能花多少錢、你將在什麽操作系統和平台上開發程序。假如你預備爲 Windows 作貢獻,我強烈建議使用微軟的 Visual C++。它具有一個功能強大的開發環境,能讓你倍感輕松,再也沒有其他編譯器能比它更適合開發 Windows 軟件了。假如你是名學生,你可以以極低的價格獲得一份拷貝。假如你預備在 DOS 下開發程序,你最好使用免費的 DJGPP

初學者的福音:遊戲開發新手入門指南
  1、選擇一門語言  第一件要做的事就是選擇一門語言。你有一大堆的選擇,包括 Basic、Pascal、C、C++、Java 等等,同樣也有一大堆關于哪門語言最適合初學者的爭論。欲了解各種語言的優缺點,請參閱 John Hattan...查看完整版>>初學者的福音:遊戲開發新手入門指南
 
初學者的福音:遊戲開發新手入門指南
作者: ant3000 來源:編程論壇我經常被問及:一個具有很少甚至沒有編程經驗的人要如何開始遊戲制作。直到目前爲止,我總是盡我所能一個一個解答。然而,問題的數量已經增長到了一個難以處理的水平,于是,我便決定把...查看完整版>>初學者的福音:遊戲開發新手入門指南
 
遊戲開發新手入門指南
  我經常被問及:一個具有很少甚至沒有編程經驗的人要如何開始遊戲制作。直到目前爲止,我總是盡我所能一個一個解答。然而,問題的數量已經增長到了一個難以處理的水平,于是,我便決定把所有的建議彙總在一篇文章...查看完整版>>遊戲開發新手入門指南
 
遊戲開發新手入門指導(Q&A)
遊戲開發新手入門指導(Q&A) 遊戲制作新人:具備程式基礎:   注:遊戲開發入門常見問題整理,若有您想了解的入門問題這裏沒有,或者這裏的問題解答無法滿足您的需要,可以到這裏給我們或者留下問題,我們會盡...查看完整版>>遊戲開發新手入門指導(Q&A)
 
MySQL新手入門指南--快速參考
一、SQL速成   以下是一些重要的SQL快速參考,有關SQL的語法和在標准SQL上增加的特性,請查詢MySQL手冊。   1.創建表   表是數據庫的最基本元素之一,表與表之間可以相互獨立,也可以相互關聯。創建表的基本語...查看完整版>>MySQL新手入門指南--快速參考
 
新手指南:Jsp開發環境配置全過程
在配置Jsp開發環境的過程中會碰到不少問題,感謝許多前輩經驗總結性的文章對我來說簡直是雪中送碳,爲了幫助像我一樣的初學者,在此總結了不少作者的經驗,非常感謝他們的無私奉獻精神,也希望更多的人把這種精神發揚...查看完整版>>新手指南:Jsp開發環境配置全過程
 
Eclipse入門之使用指南及開發Eclipse插件 (2)
  假如啓動正常,可以進一步嘗試在Eclipse中調試Servlet或jsp程序。下面我們將用Tomcat自帶的Servlet例程HelloWorldExample.Java來示範一下如何在Eclipse中調試Sevlet程序。首先要在Java視圖中新建一個Java項目,爲...查看完整版>>Eclipse入門之使用指南及開發Eclipse插件 (2)
 
Eclipse入門之使用指南及開發Eclipse插件 (1)
  2001 年11 月 IBM 公布捐出了價值 4 千萬美金的開發軟件給開放源碼的 Eclipse 項目。如此受青睐的 Eclipse 是什麽樣子呢,如何使用呢?本文的第一部分會使你對Eclipse有一個初步的熟悉。並且,Eclipse這個號稱未...查看完整版>>Eclipse入門之使用指南及開發Eclipse插件 (1)
 
Eclipse入門之使用指南及開發Eclipse插件(1)
  2001 年11 月 IBM 公布捐出了價值 4 千萬美金的開發軟件給開放源碼的 Eclipse 項目。如此受青睐的 Eclipse 是什麽樣子呢,如何使用呢?本文的第一部分會使你對Eclipse有一個初步的熟悉。並且,Eclipse這個號稱未...查看完整版>>Eclipse入門之使用指南及開發Eclipse插件(1)
 
 
回到王朝網路移動版首頁