• <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>

            天行健 君子當(dāng)自強(qiáng)而不息

            【ZT】游戲編程入門

            作者: 超級飛魚

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

                選擇一門語言

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

                選擇正確的編譯器

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

                選擇開發(fā)平臺

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

                開始進(jìn)入主題

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

                包裝

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


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

            公告

            導(dǎo)航

            統(tǒng)計(jì)

            常用鏈接

            隨筆分類(178)

            3D游戲編程相關(guān)鏈接

            搜索

            最新評論

            青青热久久国产久精品| 国产成人久久激情91| 人妻无码久久精品| 中文字幕无码久久久| 久久青青草原精品国产| 国产成人精品久久| 狠狠色婷婷久久综合频道日韩| 国产Av激情久久无码天堂| 久久精品成人免费看| 久久久久青草线蕉综合超碰| 久久精品国产亚洲AV大全| 麻豆久久| 久久久久久久尹人综合网亚洲| 人人妻久久人人澡人人爽人人精品| 久久亚洲春色中文字幕久久久| 久久久WWW成人免费精品| 久久精品人成免费| 久久免费视频1| 色婷婷久久久SWAG精品| 久久99国产精品久久99果冻传媒 | 久久亚洲2019中文字幕| 久久精品99久久香蕉国产色戒| 欧美色综合久久久久久| 久久93精品国产91久久综合 | 久久国产免费直播| 国产精品岛国久久久久| 亚洲AV无码一区东京热久久| 亚洲国产成人久久综合区| 国内精品久久久久久久亚洲| 久久久久亚洲Av无码专| 久久久噜噜噜久久熟女AA片| 99久久精品免费看国产一区二区三区| 午夜视频久久久久一区 | 久久精品国产精品亚洲下载| 潮喷大喷水系列无码久久精品| 久久精品国产清自在天天线| 久久久久久国产a免费观看黄色大片 | 久久久久久久久无码精品亚洲日韩| 少妇无套内谢久久久久| 久久久久亚洲av成人网人人软件 | 日韩AV毛片精品久久久|