芒果视频下载

網(wang)站分類
登錄 |    

如何學習游戲開發 游戲開發學習的兩條路線是什么

本文章由注冊用戶 溫暖·生活家 上傳提供 評論 發布 反饋 0
摘要:隨著電腦和智能手機的筑建普及,玩游戲幾乎成為了人們的常態,這就必然需要較多的游戲開發人,因此不少人都想要自學游戲開發的相關知識。那么,我們應該怎樣學習游戲開發呢?首先要選定游戲平臺的類型,然后就是有針對性的進行學習。你可以選擇只是用游戲引擎的學習也可以選擇使用游戲引擎并深入了解游戲引擎原理的學習兩條路線。當然,如果想要有所作為,那么推薦你選第二條。下面就一起來看下游戲開發學習的相關知識吧。

如何學習游戲開發

一、平臺與編程語言選擇

首先(xian),游戲開發的平(ping)臺就有很多類(lei)型:

*個人主機平臺:WindowsLinuxMac OC

* 移動平臺:iOSAndroidWindows PhoneBlackBerryOSSymbian

* 專業主機平臺:XboxPlayStationWill等。

如果你想從事移動平臺的游戲(xi)開發,Android主流JAVA語(yu)言,iOS主流Object-C語(yu)言(yan),那么你就(jiu)要(yao)去(qu)學習這(zhe)個平臺主流(liu)的語(yu)言(yan),而在個人主機(ji)上主流(liu)的游戲(xi)開發(fa)語(yu)言(yan)現在包(bao)括(kuo)以后很長(chang)時間(jian)也還是(shi)C++

但是(shi)(shi)并(bing)不(bu)(bu)是(shi)(shi)所不(bu)(bu)同平(ping)臺的游(you)戲開發,就(jiu)毫無共通之處,學了(le)這(zhe)個到了(le)另一(yi)個平(ping)臺就(jiu)無用了(le)。不(bu)(bu)是(shi)(shi)這(zhe)樣(yang)的,編程的世(shi)界里你走得(de)越遠你會發現(xian)很多東西(xi)的本質都是(shi)(shi)相似的,例如(ru)你如(ru)果扎(zha)實地理解了(le)C++的基本語(yu)法(而(er)不是死記硬背),日(ri)后再轉Java語言也不是(shi)很難(nan)的(de)(de)事情,因(yin)為它們(men)本質的(de)(de)面向對象特性(xing)還有各(ge)種編程(cheng)語言特性(xing)都是(shi)相通的(de)(de)。

所以,如果你想(xiang)走(zou)得遠,在學(xue)習的(de)時候不能簡單流于表面,對于一樣知(zhi)識越深(shen)入到底層,你就越能看到其它知(zhi)識與其的(de)異(yi)曲同工之(zhi)(zhi)處,因此你將比(bi)別人更輕(qing)松。但(dan)是,當然(ran)一開始最好(hao)盡(jin)可能是貼合(he)自己的(de)專(zhuan)屬領域和(he)編程(cheng)語(yu)言(yan),這樣能盡(jin)快地(di)在這個領域持有一席之(zhi)(zhi)地(di)。

無(wu)論(lun)你(ni)選擇哪個(ge)平(ping)臺,游戲(xi)開(kai)發這(zhe)(zhe)個(ge)浩大的工程都離不開(kai)游戲(xi)引擎,所以這(zhe)(zhe)里都有二條路線讓你(ni)選擇:

*只使(shi)用游戲(xi)引擎(qing);

*使用(yong)游戲(xi)引擎(qing)并深入學習游戲(xi)引擎(qing)原理(li)。

該圖片由注冊用戶"溫暖·生活家"提供,版權聲明反饋

二、游戲開發不同學習線路

線路一:只使用游戲引擎

對(dui)于第一條路線,游(you)戲引(yin)擎(qing)(qing)的(de)(de)使用并不(bu)困難,因此(ci)適合想(xiang)快(kuai)速上手游(you)戲開發(fa)工(gong)作的(de)(de)人(ren)。我們(men)工(gong)作大多數時候也不(bu)會自己開發(fa)游(you)戲引(yin)擎(qing)(qing),所以這樣對(dui)于一般(ban)的(de)(de)日常(chang)工(gong)作也沒(mei)什么大礙。對(dui)于只使用游(you)戲引(yin)擎(qing)(qing)的(de)(de)人(ren)來(lai)說,入門階段要做(zuo)的(de)(de)就是看該引(yin)擎(qing)(qing)的(de)(de)教(jiao)(jiao)程(書籍、視頻、網(wang)(wang)上博客(ke)、網(wang)(wang)上教(jiao)(jiao)程、官方(fang)幫助文檔等),并且熟練該教(jiao)(jiao)程所使用的(de)(de)編程語言。

所(suo)以(yi)(yi)你要做的第一件事,就(jiu)是(shi)去了解現在流行的游戲(xi)引(yin)擎。因為不(bu)同(tong)平臺下(xia)的性(xing)能不(bu)同(tong),支持的編(bian)程語言(yan)也不(bu)盡相同(tong),所(suo)以(yi)(yi)針對不(bu)同(tong)平臺下(xia)的流行的游戲(xi)引(yin)擎也是(shi)不(bu)同(tong)的(方括號里面是(shi)特別推薦的,基于開源性(xing)、易用性(xing)、性(xing)能與(yu)效(xiao)果等方面的綜合水平推薦):

*windows或游(you)戲主機:【Unreal】、寒霜、CE3

*蘋果(guo)ios:【unity3D】、【cocos2d-ObjC】、【Unreal】、sparrowsprite kit

*安卓:【unity3d】、【cocos2d-x】、【Unreal】、AndEnginelibgdx

*網頁:【Egret】、【cocos2d-html5】、Fancy3Dunity3d

在選擇游戲引(yin)擎(qing)的(de)時候,盡可能選用流行的(de)游戲引(yin)擎(qing),因(yin)為這個游戲引(yin)擎(qing)流行意味著官方(fang)的(de)功能比較完善和易用,問(wen)答社區也(ye)比較多人解疑。各(ge)個游戲引(yin)擎(qing)也(ye)各(ge)有千秋,Unity3d勝(sheng)在簡單(dan)易用,對性能要(yao)求不高,但(dan)是效果不夠華麗,因而一般用在移動平臺而不會用在電腦或游(you)戲主機(ji)。Unreal勝在(zai)開源免費,而(er)且效(xiao)果也(ye)很(hen)出色,但是對設備(bei)要求比較高,因(yin)而(er)常常用來開發效(xiao)果絢(xuan)麗的大型游戲。cocos2d-x也是開源免費的,在2D領域(yu)深有造(zao)詣,但是缺點是不可視化開發。另(ling)外,如果你想了(le)解游戲引擎原理,那么首要考慮的就是開源(yuan)的游戲引擎。

不同游戲(xi)引擎(qing)使(shi)用的編程語(yu)言或者腳本語(yu)言可能是不一(yi)樣(yang)的,所以(yi)當你想要學習某(mou)個游戲(xi)引擎(qing)的時候,也應該(gai)留意該(gai)游戲(xi)引擎(qing)所使(shi)用的語(yu)言。大(da)部分情況是,Windows用(yong)的(de)的(de)是C++,同(tong)時結合luapython腳本語言。而(er)ios平(ping)臺下使用Objective-C或(huo)swift,安卓(zhuo)平(ping)臺下使用Java。但這(zhe)不是必然的,例如Unity在各個平臺下都可(ke)以用C#或者(zhe)javascript腳本語言(yan)。

下面是商(shang)業(ye)上流行的游戲(xi)引擎詳細比較:

1) Unreal4(虛(xu)幻4

*適用平臺(tai):Microsoft WindowsMac OS XiOSAndroid、虛擬現實(shi)設備(包括但不限于SteamVR/HTC ViveMorpheusOculus RiftGear VR)LinuxSteamOSHTML5平臺。

*編程語言:C++或(huo)無需編寫代碼。

*優點:開源免費(fei),畫面效果(guo)出色(se),已有多款商(shang)業大作經驗。同時,它(ta)還(huan)能跨平臺,商(shang)店資源豐富(fu),提供了無需(xu)編寫(xie)代碼(ma)即(ji)可(ke)(ke)制(zhi)作游戲的強大功能(可(ke)(ke)視化(hua)開發)。

*缺點:開發機(ji)器配置要求(qiu)較(jiao)高。

2) Unity3D

*適用平臺:iOSAndroidWindows phone 8TizenMicrosoft WindowsWindows Store應用程序(xu)、MacLinux/Steam OS、網絡播放器(qi)、WebGLPlayStation3PlayStation4PlayStation Vita版、Xbox OneXbox 360Wii UAndroid TVSamsung SMART TVOculus RiftGear VRMicrosoft HololensPlaystation VR

*編(bian)程語言:C#javascriptBoo

*優點:方便易用,中(zhong)文資料豐富(fu),跨(kua)平臺,商店資源(yuan)豐富(fu),可視化開(kai)發。

*缺點:畫面效果一般,不是免費開源(yuan),引擎(qing)效率比較低。

3) Cocos2d系列(包Cocos2d-xCocos2d-ObjCCocos2d-html5Cocos2d-xna等)

*適用(yong)平臺:Microsoft WindowsOS XLinuxiOSAndroidTizenLinuxMac OS XHTML5瀏覽器、Windows Phone 7 & 8Xbox 360

*編程語(yu)言:PythonObjective-CC++LuaJavaScriptSwiftJavaScriptC#

*優點(dian):開源免費,跨平臺,中文資(zi)料豐富,2D技術豐富且成(cheng)熟(shu)。

*缺(que)點:不(bu)可視(shi)化開發,3D方(fang)面技術不(bu)成熟。

4) CryEngine3

*適用平臺:Microsoft WindowsOS XLinuxPlayStation 3PlayStation 4Wii UXbox 360Xbox OneiOSAndroid

*編程語(yu)言(yan):C++Lua

*優(you)點:畫面效果世(shi)界(jie)一流,可視(shi)化開發,跨平臺。

*缺(que)點:開發(fa)機(ji)器配置(zhi)要(yao)求較高,不是免費(fei)開源。

5) Frostbite3(寒霜3

*適用(yong)平臺:Microsoft WindowsPlayStation 3PlayStation 4Xbox 360Xbox One

*編程語言:C++

*優(you)點:畫(hua)面效果(guo)出色,可視(shi)化開發,跨平臺。

*缺點:開(kai)發機器配置要求較高(gao),不是免費(fei)開(kai)源。

6) Egret(白(bai)鷺)

*適用平(ping)臺:HTML5iOSAndroidWindows Phone

*編程語言:TypeScriptJavaScript

*優點:免費開(kai)源,配套工(gong)具(ju)多,全中(zhong)文(wen)文(wen)檔(dang),可視化開(kai)發,跨平(ping)臺(tai)。

*缺點:支持平臺(tai)較少,大多數時候用于開發對性能(neng)和效率要求不高的小游戲。

但是(shi)使用(yong)游(you)戲引(yin)擎(qing)(qing)畢(bi)竟(jing)是(shi)停留在(zai)表面看不(bu)到本質(zhi),當游(you)戲開發(fa)的時候出(chu)現(xian)了(le)某些(xie)問(wen)題或者特殊需求,你往(wang)往(wang)很難處(chu)理。而且游(you)戲引(yin)擎(qing)(qing)技術(shu)日新(xin)月異,你所(suo)學的幾乎都是(shi)別(bie)(bie)人留下來的方法,而不(bu)是(shi)其本質(zhi)思想。如果將來別(bie)(bie)的游(you)戲引(yin)擎(qing)(qing)興起,你又(you)要重新(xin)學習另外的游(you)戲引(yin)擎(qing)(qing)怎么使用(yong)。在(zai)很多大公司(si)里面,甚至都有自己公司(si)內部專用(yong)的引(yin)擎(qing)(qing)(如網易公司(si)的風(feng)魂(hun)引(yin)擎(qing)(qing)、金山公司(si)的劍(jian)網3引擎(qing)、蝸(gua)牛(niu)公(gong)司(si)的Flexi引擎等(deng)等(deng))。所以單純(chun)地走這條路線(xian),可(ke)能不會(hui)讓你走得很遠并且可(ke)能會(hui)日(ri)漸乏味。

線路二:使用游戲引擎并深入了解游戲引擎原理

對于第(di)二條路線,深(shen)入學習(xi)游戲(xi)(xi)引(yin)(yin)擎(qing)(qing)原(yuan)(yuan)理(li)短時(shi)間不會讓你的(de)(de)(de)工作有什(shen)么卓越的(de)(de)(de)成效,但是(shi)可以彌補只使(shi)用游戲(xi)(xi)引(yin)(yin)擎(qing)(qing)導致的(de)(de)(de)問題,而且學習(xi)游戲(xi)(xi)引(yin)(yin)擎(qing)(qing)原(yuan)(yuan)理(li),更(geng)多(duo)時(shi)候(hou)不是(shi)一定就為了自己(ji)日后要造個游戲(xi)(xi)引(yin)(yin)擎(qing)(qing),而是(shi)更(geng)深(shen)入理(li)解自己(ji)的(de)(de)(de)游戲(xi)(xi)引(yin)(yin)擎(qing)(qing),更(geng)好(hao)地使(shi)用它(ta)。當然,千里之行始于足下,經常(chang)學習(xi)游戲(xi)(xi)引(yin)(yin)擎(qing)(qing)底層原(yuan)(yuan)理(li)的(de)(de)(de)人到了一定的(de)(de)(de)積(ji)累(lei)的(de)(de)(de)時(shi)候(hou),自己(ji)造個游戲(xi)(xi)引(yin)(yin)擎(qing)(qing)也是(shi)可以的(de)(de)(de)。

對于像學習游戲引(yin)擎原理的人來說,需要制定自(zi)己明確的長期(qi)目標:

1) 首先(xian),一開始(shi)可能對游戲引擎(qing)沒什(shen)么概念,建議先(xian)使用一兩個游戲引擎(qing)(我推薦C++程序(xu)員學習虛幻4游戲(xi)(xi)引(yin)擎(qing),現在是免費開(kai)源(yuan)的,非(fei)常值(zhi)得學習(xi)(xi)。那些(xie)不(bu)開(kai)源(yuan)的游戲(xi)(xi)引(yin)擎(qing)盡量不(bu)要去學習(xi)(xi),因為其(qi)對于學習(xi)(xi)原理來(lai)說沒有(you)多大(da)貢獻)。

2) 因(yin)為游戲開(kai)發就是一(yi)門(men)實時(shi)渲染的藝術(shu),所以離不開(kai)圖形庫的學習(xi)。現在主流的圖形庫是Windows平臺專用的DirectX 11和通用平(ping)臺的Opengl。這兩(liang)個圖形庫(ku),至少需(xu)要(yao)入門其中一個。

3) 然后(hou),你就可以開始看(kan)計算機圖形學的書籍了。如(ru)果你發現你的理(li)論底子不足(zu),這個時(shi)候就需要補一下線性(xing)代數(shu)、基本的微積分、還有3D數學(xue)的知識。

4) 游戲引(yin)(yin)擎中包(bao)含(han)了(le)各(ge)個(ge)部(bu)(bu)分(fen),上面的渲(xuan)染只是(shi)游戲引(yin)(yin)擎的一部(bu)(bu)分(fen)。還有(you)其(qi)它(ta)諸如著色(se)器編寫(xie)、地形(xing)編寫(xie)、物理引(yin)(yin)擎編寫(xie)、模型(xing)和(he)動畫、人工(gong)智能體(ti)設計、網絡編程(cheng)等等,完成渲(xuan)染部(bu)(bu)分(fen)的基本學習后,你可以選擇自(zi)(zi)己(ji)(ji)感(gan)興趣的部(bu)(bu)分(fen)進行專攻,畢竟(jing)我們實際工(gong)作大多數(shu)時候是(shi)團隊(dui)開發(fa),而不是(shi)單打獨(du)斗,每個(ge)人都(dou)應該精通(tong)自(zi)(zi)己(ji)(ji)所擅(shan)長的那部(bu)(bu)分(fen)。

申明:以上內容源于程序系統索引或網民分享提供,僅供您參考使用,不代表本網站的研究觀點,請注意甄別內容來源的真實性和權威性。

網站提醒和聲明
本(ben)站(zhan)為注(zhu)冊用戶(hu)(hu)提供信息存(cun)儲空間(jian)服務,非“MAIGOO編輯上傳(chuan)提供”的文章/文字均是注(zhu)冊用戶(hu)(hu)自主發布上傳(chuan),不代(dai)表本(ben)站(zhan)觀點,更不表示本(ben)站(zhan)支(zhi)持(chi)購買(mai)和(he)交易(yi),本(ben)站(zhan)對網頁中內(nei)容的合(he)法(fa)性、準確性、真(zhen)實性、適用性、安全(quan)性等概(gai)不負責。版權(quan)歸原作者(zhe)所有(you),如有(you)侵權(quan)、虛假信息、錯(cuo)誤(wu)信息或(huo)(huo)任(ren)何(he)問題,請(qing)及時聯系我們(men),我們(men)將在第一時間(jian)刪(shan)除或(huo)(huo)更正(zheng)。 申請刪除>> 糾錯>> 投訴侵權>>
提交說明(ming): 快速提交發布>> 查看提交幫助>> 注冊登錄>>
發表評論
您還未登錄,依《網絡安全法》相關要求,請您登錄賬戶后再提交發布信息。點擊登錄>>如您還未注冊,可,感謝您的理解及支持!
最新評論
暫無評論
頁面相關分類
熱門模塊
已有4078225個品牌入駐 更新519149個招商信息 已發布1590212個代理需求 已有1355669條品牌點贊