• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            天行健 君子當自強而不息

            【ZT】游戲編程入門

            作者: 超級飛魚

            經常有人問我,沒有編程經驗的人該如何開始開發(fā)游戲。在此之前,我總是一個個的盡力回答。然而,后來提相同問題的人數增長到難以處理的地步。我決定,是時候把我所有的建議寫成文章,作為一個大概。
                 這篇文章是針對那些想要開發(fā)自己游戲,但幾乎沒有編程經驗的人。事實上,我假設讀者沒有任何編程經驗。我主要討論游戲開發(fā)的程序和設計方面,而不是藝術性。我也不準備講述如何進入游戲行業(yè)(這方面已經有足夠的資料),而只是讓你逐步的開始開發(fā)自己的游戲。最后,我所指出的這條道路也并不能作為唯一的,或是最好的路徑來學習開發(fā)游戲,但至少對我和一些人很有用。

                選擇一門語言

                 你要做的第一件事就是選擇一門開發(fā)語言。你有很多選擇,包括Basic,Pascal,C,C++,Java,等等。也經常會有人爭論對于初學者那一門語言是最好的。對于這一系列流行語言的討論,你可以參看John Hattan的著作,What Language Do I Use?(我用什么語言?)
                 我的建議是以C和C++開始。有些人會說這些語言對初學者來說太高級了,但因為我自己就是學C++,我并不同意這一說法。而且,C/C++是當今使用最廣泛的語言(譯者認為應該是漢語。。。),所以你可以找到大量學習資料和幫助。你先學C或C++都無所謂,因為只要學了一個,再學另外一個就很容易。但是,如果你先學C++,請保證在學習面向對象編程之前能理解和使用過程編程(等編程熟練再去學習類)。(譯者:C是過程性語言,C++是面向對象語言)
                如果你開始學習C/C++,發(fā)現太難,那再學一個簡單一點的也沒關系,比如Basic或Pascal。但是我真的認為,如果你堅持努力,而且有好的資料,學C/C++應該沒有太大問題。
                你的下一個問題可能會是:“我該怎么學C/C++?”我很高興你這樣問。最好的辦法是上課。有老師可以回答你的問題,幫助你產生很大進步,編程練習作業(yè)也可以保證你能用到所學的東西。
                 如果你不覺得上課是個好主意,那最好的辦法就是買一些好書。不要花太多時間去選一本什么“超級寶典”或“萬用全書”,因為你最終可能會買幾本。我建議你去一家書店,然后拿幾本比較入眼的C或C++書看,直到找到一本或幾本你能看懂,并且可以拿來學習的。同時,你可能會想要一些更深入的,或者一些材料,但是你一旦對于這門語言有了一些了解,我相信你應該有自己更好的選擇。
                在這里,我有必要花一些時間,來說我看到很多初學者所關心的一個事情,特別是年輕人:沒有錢買書和其他東西。首先,有很多免費資源可以利用,圖書館,Macmillan Computer Publishing(www.mcp.com/personal),有成千上百的編程書籍。但是如果你真的想要成為一個好的程序員,還是應該投入一部分資金。應當想方設法(合法的)幫助你弄到一些錢。
                網上也有很多C/C++的學習指南。但是我認為那只能作為補充而不是你自學的主要資源。

                選擇正確的編譯器

                你寫的程序,或者代碼,是以文本方式儲存的,你甚至可以用記事本寫C/C++程序。但是總需要有東西把他們轉換成為可執(zhí)行文件。對于C和C++,那就是編譯器。
                 可用的編譯器有好多種,包括很多免費的。選擇一款自己適合的編譯器很重要,免費的編譯器就有這樣的好處,你可以把它們試個遍,然后從中選擇自己最喜歡的。然而,免費編譯器比起商業(yè)版,可能會缺失一些功能和大部分服務。幸運的是,多數商業(yè)版編譯器也兼售介紹版或學習版,這要便宜得多,通常功能卻不見得少,唯一的限制是你不能發(fā)布用它編譯的程序(短時間內你也根本用不著)。
                總之,選擇編譯器取決于你能花多少錢,用什么操作系統(tǒng),和為什么平臺開發(fā)。如果要為windows開發(fā),我強烈推薦Microsoft Visual C++。他強大的開發(fā)環(huán)境使得很多事做起來更方便,毫無疑問沒有其他編譯器更適合開發(fā)windows應用程序。如果你是個學生,你還可以折價買到。(譯者:爽!)如果你在DOS平臺開發(fā),你最好的選擇可能是DJGPP,免費的哦~。

                選擇開發(fā)平臺

                盡管最終你很可能為好幾個平臺開發(fā),總要先選擇一個來學。當你在學這門語言,還沒有接觸到圖像的時候,你可能會想使用非圖形用戶界面的操作系統(tǒng),比如DOS,Unix.這樣可以避免接觸高層,比如windows編程,讓你集中精力學習語言本身。
                一旦你做好開發(fā)游戲的準備,那么,應該考慮是否改變平臺,讓我們來看看每個選項的特征。
                windows:如果你想成為游戲行業(yè)的專家,或者如果你想讓許多人來玩你開發(fā)的游戲,那么,這就是你要選擇的平臺。因為多數你的用戶使用windows,而且現在我也看不出有什么改變的跡象。當今大多數的windows游戲都是由一種你可能聽說過技術---DirectX---開發(fā)的。你可以DirextX這個庫直接訪問硬件,這意味著你可以開發(fā)高性能的游戲。
                DOS:DOS過去是占統(tǒng)治地位的游戲平臺,但是已經一去不復返了。盡管可能有一些特殊愛好者還在為DOS開發(fā)游戲,現在沒有一個為DOS開發(fā)的商業(yè)游戲,他也將繼續(xù)衰落,直到微軟不再支持。如果你只是想開發(fā)游戲,還是不要選擇DOS,如果你非要這么做,也不要太久。記住:由于存在大量DOS游戲開發(fā)的書,可能還有人辯護從這些書中學習 DOS游戲開發(fā)。但是,windows游戲開發(fā)的書越來越多,那些辯解也變得越來越無力。
                Linux:Linux是Unix的一種,由于很多原因后來變得流行,包括穩(wěn)定性,價格,和反微軟情緒。盡管Linux用戶還是相當少,但是圍繞著他的熱情和不斷增長的市場潛力使其也成為不錯的選擇。
                Macintosh:MAC有大量忠實粉絲并不能說明什么,幾乎每一個和我討論的MAC狂熱者都需要更多更好的游戲。我沒有見過多少MAC游戲開發(fā)資源,但我相信還是有的,因此這也是一個選擇。
                consoles:console(就是PS,N64,DC等等)的游戲市場十分巨大,當然console游戲開發(fā)的前景也不錯。然而以非商業(yè)的形式開發(fā)console游戲,出于各種原因,在現在似乎行不通。如果你開發(fā)console,很可能是在被商業(yè)游戲開發(fā)組雇用之后。

                開始進入主題

                現在是時候討論開發(fā)游戲了。簡單起見,我假設你選擇用C/C++在windows平臺開發(fā),可能你選擇別的,但大多數我說的還是有用的。
                首先,甚至在你打算開始開發(fā)游戲之前,你必須很好掌握C和C++.你應該懂指針,數組,結構體,函數,可能還有類。如果你精通他們,就可以開始做游戲了。
                這篇文章可能不能教會你所有關于開發(fā)游戲的東西。幸運的是,也沒有這個必要。這方面有很多書,網上也有很多指南。GameDev.net應該有所有你想要的東西,這里我建議你怎么開始:
                找一本或幾本書。對于windows游戲開發(fā)初學者,Tricks of the Windows Game Programming Gurus是個完美的開始。除此之外,還有許多好書.讀透這些書,試試所有的例子,不懂得部分多讀幾遍。
                網上指南作為補充。除了弄清書上讀到的,他們還涉及一些書上沒有談及的主題。
                向專家尋求幫助。如果你不能在書上或指南找到問題的答案,好好利用我們的論壇和聊天室。那里有好多專家愿意幫助別人。
                這并不是要你按照順序執(zhí)行的,而是可以同時并且不斷的重復執(zhí)行。
                光學習還是不夠的,你必須運用你所學到的。從一個小游戲開始,然后在這個基礎上前進。你可以看一下Geoff Howland's 的著作: How do I Make Games? A Path to Game Development.
                開始,自己獨立工作。不要急著加入團隊,那樣只會減緩學習過程。而且一旦你有了自己的幾個游戲,你可以為團隊做出更大的貢獻。
                 還有關于書,你應該不僅僅看游戲開發(fā)的書。為了能夠開發(fā)出你看到商店出售的游戲,你應該鉆研比大多數游戲開發(fā)書籍更高級的一些主題。有一些可以在網上找到,但你也應該選一些圖形學,人工智能,網絡,物理學等方面的書。計算機科學學位看來唾手可得,但因為你被迫上這些課的時候可能認為他們和游戲開發(fā)無關- ---你錯了!

                包裝

                這里有一些提示很有用
                不要只積累知識,用它
                你永遠不會知道會理解一些東西知道你是用他們。用你學的東西作些演示。做作書上的練習。
                多玩游戲
                這樣做會使你做出更好的游戲。而且可以減輕編程的枯燥。
                幫助別人
                能幫別人的地方盡量幫助別人,教別人的過程中自己會學到更多。
                有始有終
                不要有這樣的想法:“我能夠完成這個游戲了,但是我又有一個新的想法,那就直接做下一個。”你可以學得更多如果你完成他,你也可以用事實證明你不是只會空談。所以,盡量不要做很大很復雜的游戲,直到你有了一定經驗。
                開始吧!你現在可以開始準備QUAKE4了。可能你不是很了解,但是至少應該知道如何開始這條道路,找多些資料,加上多年努力工作,他一定會實現!


            posted on 2007-05-12 00:42 lovedday 閱讀(1018) 評論(0)  編輯 收藏 引用 所屬分類: ■ Game Program

            公告

            導航

            統(tǒng)計

            常用鏈接

            隨筆分類(178)

            3D游戲編程相關鏈接

            搜索

            最新評論

            欧美黑人激情性久久| 久久99精品久久久久久水蜜桃 | 国产综合成人久久大片91| 日本久久久精品中文字幕| 久久精品18| 久久青青草原精品国产| 国产成人精品久久综合| 深夜久久AAAAA级毛片免费看| 无码人妻久久一区二区三区免费丨 | 97精品伊人久久久大香线蕉| 久久人妻少妇嫩草AV无码蜜桃| 国产亚洲美女精品久久久2020| 国内精品久久久久影院免费| 亚洲伊人久久综合影院| 久久精品国产亚洲av麻豆小说 | 天天躁日日躁狠狠久久| 国产成人久久激情91| 亚洲伊人久久成综合人影院| 久久青青草原国产精品免费 | 久久e热在这里只有国产中文精品99| 一级做a爰片久久毛片看看| 色综合合久久天天综合绕视看| 五月丁香综合激情六月久久| 亚洲国产成人精品91久久久| 97久久精品人人澡人人爽| 国内精品久久久久影院日本| 久久久久亚洲AV无码观看 | 久久精品中文字幕有码| jizzjizz国产精品久久| 欧美亚洲国产精品久久高清| 日韩精品无码久久一区二区三| 国产精品成人精品久久久| 日韩精品久久久肉伦网站| 少妇熟女久久综合网色欲| 午夜精品久久久久久久无码| 久久青青草原精品国产不卡| 国内精品久久久久国产盗摄| 国产福利电影一区二区三区久久老子无码午夜伦不 | 久久精品国产男包| 久久久久久精品免费看SSS| 国产欧美久久久精品影院|