怎樣系統(tǒng)學(xué)習(xí)游戲編程?

作者:趙雅君

來(lái)源:知乎

主要是要?jiǎng)邮志ビ谩=ㄗh是C++學(xué)一下遣总,不用學(xué)的很深入,然后數(shù)據(jù)結(jié)構(gòu)看一下轨功,看到樹(shù)就可以了旭斥,樹(shù)和圖可以留到以后看,之前的鏈表堆棧隊(duì)列都看掉古涧,爭(zhēng)取自己寫(xiě)出來(lái)垂券。然后學(xué)下SDL,這個(gè)包很容易學(xué)蒿褂,看網(wǎng)上的教程幾天就學(xué)會(huì)了圆米,然后接下來(lái)就是從最傻逼的游戲開(kāi)始寫(xiě)卒暂。我的過(guò)程是貪吃蛇-->乒乓-->打磚塊啄栓,現(xiàn)在忙了沒(méi)寫(xiě)下去了,都快忘記了也祠,之后規(guī)劃的路徑是Galaxia-->警察抓小偷-->簡(jiǎn)單的2d scroll游戲-->簡(jiǎn)單的2d rpg引擎昙楚,最終目標(biāo)是看懂博德之門的那個(gè)開(kāi)源引擎,自己寫(xiě)2d RPG诈嘿,因?yàn)槲覍?duì)三維的興趣不大所以就不準(zhǔn)備學(xué)堪旧。

其實(shí)這里頭都是有學(xué)習(xí)點(diǎn)的:貪吃蛇是練手,順便學(xué)習(xí)簡(jiǎn)單的動(dòng)畫(huà)奖亚;乒乓是學(xué)最簡(jiǎn)單的碰撞檢測(cè)+物理淳梦;打磚塊是學(xué)稍微精細(xì)一點(diǎn)的碰撞檢測(cè)+第一個(gè)商業(yè)游戲(這玩意寫(xiě)得好的確可以賣,但是我們的目的就是練手)昔字;Galaxia是學(xué)習(xí)簡(jiǎn)單的AI和Sprite表爆袍,這是第一個(gè)Sprite數(shù)量比較大的游戲首繁;警察抓小偷是學(xué)習(xí)更復(fù)雜一點(diǎn)的AI,和簡(jiǎn)單的關(guān)卡編輯器陨囊;2d scroll游戲就是學(xué)習(xí)scroll的弦疮;簡(jiǎn)單的2d rpg引擎,這里我的規(guī)劃是類似創(chuàng)世紀(jì)3這樣的引擎就足夠了蜘醋,這里能學(xué)到的東西就很多了胁塞,但是最主要的是,這是第一次我要做一個(gè)完整的游戲引擎压语,以及所有的工具啸罢,包括更復(fù)雜的關(guān)卡編輯器、試驗(yàn)一下簡(jiǎn)單的腳本(物品掉落无蜂,比如說(shuō))伺糠。

推薦幾個(gè)鏈接,我覺(jué)得完全足夠了斥季。

Lazy Foo' Productions(SDL + C++的教程训桶,作者連怎么配置環(huán)境都手把手的交給我們了,每天學(xué)個(gè)兩節(jié)很快就下來(lái)了酣倾,等學(xué)完了基本上我上頭那個(gè)列表也寫(xiě)完了)

2D Game Programming Tutorials with SDL(同樣是SDL+C++的教程舵揭,但是這里頭有好幾個(gè)游戲的源代碼,開(kāi)始寫(xiě)游戲的話躁锡,C++學(xué)好了午绳,然后寫(xiě)一個(gè)月游戲應(yīng)該就能看懂這里所有的源代碼了,好處是他上來(lái)就告訴你游戲引擎要有怎么樣的架構(gòu))

最后看下entity driven engine的知識(shí)吧映之,如果你要寫(xiě)比較復(fù)雜的游戲的話拦焚。當(dāng)然如果要寫(xiě)3d的話要看的就更多了,我的建議其實(shí)也很簡(jiǎn)單杠输,就是比照著游戲發(fā)展史來(lái)赎败,比如說(shuō)你可以先上Wolf3d這樣的游戲,當(dāng)然不是比照它的源代碼蠢甲,而是實(shí)現(xiàn)類似的功能僵刮。

C++的教程就不給了,其實(shí)隨便挑本英文經(jīng)典的教程鹦牛,不用看完搞糕,看到面向?qū)ο螅览^承大概是個(gè)什么樣子曼追,就成了窍仰。細(xì)節(jié)部分慢慢追究,總體來(lái)說(shuō)我覺(jué)得每天花五六個(gè)小時(shí)(真心不多礼殊,寫(xiě)程序很容易沉浸在里頭的驹吮,五六個(gè)小時(shí)是為了保證生活質(zhì)量鲫忍,我去年夏天自學(xué)的時(shí)候往往一天十個(gè)小時(shí))看一個(gè)月絕對(duì)就看完了,然后看數(shù)據(jù)結(jié)構(gòu)钥屈。為什么看數(shù)據(jù)結(jié)構(gòu)呢悟民,因?yàn)榈谝贿@是游戲編程里頭很重要的一部分,數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)的不好將來(lái)你會(huì)呵呵呵的篷就,第二射亏,你之前學(xué)C++恐怕沒(méi)寫(xiě)過(guò)什么正經(jīng)的代碼,學(xué)數(shù)據(jù)結(jié)構(gòu)可以大量的練習(xí)算法竭业,而且最主要的智润,熟悉常用的數(shù)據(jù)結(jié)構(gòu)。我覺(jué)得學(xué)到樹(shù)就夠了未辆,最多把樹(shù)學(xué)完就足夠了窟绷,這也就是一個(gè)月的時(shí)間最多了。最后要注意咐柜,從一開(kāi)始就要寫(xiě)比較專業(yè)的代碼兼蜈,這個(gè)你去網(wǎng)上搜索下就好了,包括一些書(shū)上可能不會(huì)說(shuō)到的東西拙友,比如說(shuō)最新版C++里頭我記得有智能指針为狸。我C++其實(shí)都是自學(xué)的,所以也不知道是不是有什么庫(kù)要學(xué)遗契,蠻多流行的庫(kù)但是我不知道游戲編程是否要用到辐棒,你還是去問(wèn)下比較好。

接下來(lái)就是大量的寫(xiě)游戲牍蜂。寫(xiě)游戲要注意了漾根,從一開(kāi)始就要搞明白引擎的構(gòu)架,否則將來(lái)要吃虧鲫竞。我上頭給的兩個(gè)網(wǎng)站都是挺好的辐怕,教給你簡(jiǎn)單的架構(gòu),但是最好找個(gè)業(yè)內(nèi)的人問(wèn)一下贡茅,因?yàn)閮?nèi)容有些老了秘蛇,而且如果你志在三維游戲的話其做,一開(kāi)始有人推薦的那本游戲引擎架構(gòu)我覺(jué)得蠻好的顶考,雖然我看不懂但是翻了下覺(jué)得看完應(yīng)該足夠了。

然后就沒(méi)啥了吧妖泄,反正就是慢慢寫(xiě)驹沿,也別著急。如果有機(jī)會(huì)去業(yè)內(nèi)肯定要去的蹈胡,因?yàn)槟軐W(xué)到很多渊季。但是怎么說(shuō)呢朋蔫,如果你和我一樣不想寫(xiě)大型的三維游戲(二維角色扮演游戲其實(shí)也很大型,不過(guò)相對(duì)三維來(lái)說(shuō)還是容易點(diǎn))却汉,那么靠網(wǎng)上問(wèn)人也差不多了驯妄。但是有機(jī)會(huì)進(jìn)去肯定要去一下的,還能賺錢合砂。如果去不了公司青扔,就多看看源代碼,網(wǎng)上實(shí)在是太多了翩伪,看看行家是怎么寫(xiě)的微猖,同一個(gè)游戲同一個(gè)功能他為什么這么寫(xiě),想不明白直接發(fā)信嘛缘屹,搞IT的人一般都挺熱心的凛剥。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市轻姿,隨后出現(xiàn)的幾起案子犁珠,更是在濱河造成了極大的恐慌,老刑警劉巖互亮,帶你破解...
    沈念sama閱讀 206,482評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件盲憎,死亡現(xiàn)場(chǎng)離奇詭異虐秦,居然都是意外死亡凄敢,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門巫橄,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)慕爬,“玉大人窑眯,你說(shuō)我怎么就攤上這事∫搅” “怎么了磅甩?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,762評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)姥卢。 經(jīng)常有香客問(wèn)我卷要,道長(zhǎng),這世上最難降的妖魔是什么独榴? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,273評(píng)論 1 279
  • 正文 為了忘掉前任僧叉,我火速辦了婚禮,結(jié)果婚禮上棺榔,老公的妹妹穿的比我還像新娘瓶堕。我一直安慰自己,他們只是感情好症歇,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,289評(píng)論 5 373
  • 文/花漫 我一把揭開(kāi)白布郎笆。 她就那樣靜靜地躺著谭梗,像睡著了一般。 火紅的嫁衣襯著肌膚如雪宛蚓。 梳的紋絲不亂的頭發(fā)上激捏,一...
    開(kāi)封第一講書(shū)人閱讀 49,046評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音凄吏,去河邊找鬼缩幸。 笑死,一個(gè)胖子當(dāng)著我的面吹牛竞思,可吹牛的內(nèi)容都是我干的表谊。 我是一名探鬼主播,決...
    沈念sama閱讀 38,351評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼盖喷,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼爆办!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起课梳,我...
    開(kāi)封第一講書(shū)人閱讀 36,988評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤距辆,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后暮刃,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體跨算,經(jīng)...
    沈念sama閱讀 43,476評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,948評(píng)論 2 324
  • 正文 我和宋清朗相戀三年椭懊,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了诸蚕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,064評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡氧猬,死狀恐怖背犯,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情盅抚,我是刑警寧澤漠魏,帶...
    沈念sama閱讀 33,712評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站妄均,受9級(jí)特大地震影響柱锹,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜丰包,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,261評(píng)論 3 307
  • 文/蒙蒙 一禁熏、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧烫沙,春花似錦匹层、人聲如沸隙笆。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,264評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至瘸爽,卻和暖如春您访,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背剪决。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,486評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工灵汪, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人柑潦。 一個(gè)月前我還...
    沈念sama閱讀 45,511評(píng)論 2 354
  • 正文 我出身青樓享言,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親渗鬼。 傳聞我的和親對(duì)象是個(gè)殘疾皇子览露,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,802評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容