芒果视频下载

網(wang)站分類
登錄 |    

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

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

如何學習游戲開發

一、平臺與編程語言選擇

首先,游戲(xi)開發的(de)平臺就(jiu)有(you)很多類型:

*個人主機平(ping)臺:WindowsLinuxMac OC

* 移動平臺(tai):iOSAndroidWindows PhoneBlackBerryOSSymbian

* 專(zhuan)業(ye)主機(ji)平臺(tai):XboxPlayStationWill等。

如果你想從事移(yi)動(dong)平臺的(de)游(you)戲(xi)開發,Android主流JAVA語(yu)言,iOS主流Object-C語(yu)言(yan),那么你(ni)就要去學習這個(ge)平臺(tai)主(zhu)流(liu)的語(yu)言(yan),而在(zai)個(ge)人主(zhu)機上主(zhu)流(liu)的游戲(xi)開發語(yu)言(yan)現在(zai)包括以(yi)后很長(chang)時間也(ye)還是C++

但是(shi)并不是(shi)所不同平臺(tai)的(de)游戲開發(fa),就毫無共通之處,學了(le)這(zhe)個到了(le)另一個平臺(tai)就無用了(le)。不是(shi)這(zhe)樣的(de),編程(cheng)的(de)世界里你走得越遠你會發(fa)現很多東西的(de)本質(zhi)都是(shi)相似(si)的(de),例如(ru)你如(ru)果扎實地(di)理解了(le)C++的(de)基(ji)本(ben)語法(而(er)不是(shi)死(si)記硬背(bei)),日后再(zai)轉Java語言也(ye)不是很難的(de)(de)事情,因為它們本質(zhi)的(de)(de)面向對象特(te)性還有各種編程語言特(te)性都是相通的(de)(de)。

所以,如果你(ni)想(xiang)走得遠,在(zai)學習的(de)時候不能(neng)(neng)(neng)簡單流于表面,對于一樣(yang)知識越(yue)深(shen)入(ru)到底層,你(ni)就(jiu)越(yue)能(neng)(neng)(neng)看到其它知識與其的(de)異曲(qu)同(tong)工之(zhi)處,因此(ci)你(ni)將比別人(ren)更輕松。但是,當然一開始最好盡可能(neng)(neng)(neng)是貼合自己的(de)專屬(shu)領域和編(bian)程語言,這樣(yang)能(neng)(neng)(neng)盡快(kuai)地在(zai)這個(ge)領域持有一席之(zhi)地。

無論你(ni)選擇哪個平(ping)臺,游戲開發這個浩大的工程(cheng)都(dou)(dou)離不開游戲引擎(qing),所(suo)以這里都(dou)(dou)有二條路線讓你(ni)選擇:

*只(zhi)使用(yong)游(you)戲引擎;

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

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

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

線路一:只使用游戲引擎

對(dui)(dui)于第一條路線,游(you)戲(xi)引擎(qing)(qing)的(de)使用并(bing)不困難,因此(ci)適合想快速上手游(you)戲(xi)開發工作的(de)人(ren)(ren)。我們工作大(da)多(duo)數(shu)時候也(ye)不會自己開發游(you)戲(xi)引擎(qing)(qing),所以這樣對(dui)(dui)于一般的(de)日常工作也(ye)沒什么大(da)礙(ai)。對(dui)(dui)于只使用游(you)戲(xi)引擎(qing)(qing)的(de)人(ren)(ren)來說(shuo),入門(men)階段要做的(de)就是看該引擎(qing)(qing)的(de)教程(書(shu)籍(ji)、視頻、網(wang)上博客、網(wang)上教程、官(guan)方幫助(zhu)文檔等),并(bing)且熟練該教程所使用的(de)編程語言(yan)。

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

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

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

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

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

在選(xuan)擇游戲(xi)引擎(qing)的(de)時候,盡可能(neng)選(xuan)用(yong)流行的(de)游戲(xi)引擎(qing),因為這個游戲(xi)引擎(qing)流行意味著官方的(de)功能(neng)比(bi)較完善和易用(yong),問答社區也比(bi)較多人解疑。各個游戲(xi)引擎(qing)也各有千秋,Unity3d勝(sheng)在簡單易(yi)用(yong)(yong),對性能(neng)要求不高(gao),但是(shi)效(xiao)果(guo)不夠華麗,因而一(yi)般用(yong)(yong)在移(yi)動平臺(tai)而不會用(yong)(yong)在電(dian)腦或游戲(xi)主機。Unreal勝在開源免費,而且效(xiao)果也(ye)很出色,但(dan)是對設備要求比較高,因而常(chang)常(chang)用來開發效(xiao)果絢麗的大型游戲。cocos2d-x也是開源免費(fei)的(de),在2D領域深有造詣,但(dan)是缺(que)點是不可視化開發。另外,如果你想(xiang)了解(jie)游戲引擎(qing)原理,那么(me)首要考慮(lv)的就是開源的游戲引擎(qing)。

不(bu)同游(you)戲引擎(qing)(qing)使用的編程語言(yan)或(huo)者腳本語言(yan)可能是不(bu)一樣的,所(suo)以當你(ni)想(xiang)要學(xue)習某個(ge)游(you)戲引擎(qing)(qing)的時候,也應該留意該游(you)戲引擎(qing)(qing)所(suo)使用的語言(yan)。大部(bu)分情況是,Windows用的的是C++,同時結合(he)lua或(huo)python腳本語言。而ios平臺下使用Objective-Cswift,安卓(zhuo)平臺下使用Java。但這不(bu)是必然的,例如Unity在(zai)各(ge)個平臺下都可(ke)以用C#或者javascript腳本(ben)語言。

下(xia)面是(shi)商業上流(liu)行的游(you)戲引(yin)擎詳細比較:

1) Unreal4(虛幻(huan)4

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

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

*優點:開(kai)源免費,畫面效果出色,已有多款商業(ye)大作(zuo)經驗。同時,它還能(neng)跨(kua)平臺,商店資源豐(feng)富(fu),提供(gong)了(le)無需編寫代碼即可制(zhi)作(zuo)游戲的強(qiang)大功(gong)能(neng)(可視化開(kai)發(fa))。

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

2) Unity3D

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

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

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

*缺點:畫面效果(guo)一般(ban),不(bu)是(shi)免費(fei)開源(yuan),引(yin)擎效率比較低(di)。

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

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

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

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

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

4) CryEngine3

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

*編程語言:C++Lua

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

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

5) Frostbite3(寒霜(shuang)3

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

*編(bian)程(cheng)語言(yan):C++

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

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

6) Egret(白鷺(lu))

*適用(yong)平臺(tai):HTML5iOSAndroidWindows Phone

*編程(cheng)語(yu)言(yan):TypeScriptJavaScript

*優點(dian):免費開源,配套工具多,全中文文檔,可視化(hua)開發,跨(kua)平臺(tai)。

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

但是(shi)使(shi)用(yong)游戲引擎(qing)(qing)畢竟是(shi)停(ting)留在(zai)表面看不到本(ben)質,當游戲開發的(de)時候出現(xian)了某些問題或(huo)者特殊需求,你往(wang)往(wang)很難處(chu)理。而(er)且(qie)游戲引擎(qing)(qing)技(ji)術日新月異,你所學(xue)的(de)幾乎都(dou)是(shi)別人留下來的(de)方(fang)法,而(er)不是(shi)其本(ben)質思想。如果將來別的(de)游戲引擎(qing)(qing)興(xing)起,你又(you)要重新學(xue)習另外的(de)游戲引擎(qing)(qing)怎么(me)使(shi)用(yong)。在(zai)很多大公司里面,甚(shen)至都(dou)有自(zi)己(ji)公司內(nei)部專用(yong)的(de)引擎(qing)(qing)(如網易公司的(de)風魂引擎(qing)(qing)、金山公司的(de)劍網3引擎、蝸牛(niu)公司的Flexi引擎等(deng)等(deng))。所以單純地走這條路線(xian),可能(neng)不會(hui)讓你走得很遠并且可能(neng)會(hui)日漸(jian)乏(fa)味。

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

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

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

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

2) 因為游戲(xi)開發(fa)就是(shi)一門實(shi)時渲染(ran)的(de)藝術,所以離不開圖(tu)(tu)形(xing)庫的(de)學習(xi)。現在主(zhu)流的(de)圖(tu)(tu)形(xing)庫是(shi)Windows平(ping)臺專用的DirectX 11和(he)通用平臺的Opengl。這兩個圖(tu)形庫,至(zhi)少(shao)需要入(ru)門其中一個。

3) 然后,你(ni)(ni)就可以(yi)開始看計算(suan)機圖(tu)形學的(de)書籍(ji)了。如果你(ni)(ni)發(fa)現你(ni)(ni)的(de)理論底子不(bu)足(zu),這個時候就需要補一下線性代數、基本的(de)微(wei)積分、還有(you)3D數學(xue)的(de)知識。

4) 游戲引擎中(zhong)包含了各個部(bu)(bu)(bu)分(fen),上(shang)面的渲染只是游戲引擎的一部(bu)(bu)(bu)分(fen)。還有其它諸(zhu)如著(zhu)色(se)器(qi)編寫、地(di)形編寫、物理引擎編寫、模型和動畫、人工智(zhi)能體設(she)計、網(wang)絡編程等等,完成渲染部(bu)(bu)(bu)分(fen)的基本學(xue)習(xi)后,你可(ke)以選(xuan)擇自己感興趣的部(bu)(bu)(bu)分(fen)進行專攻,畢竟我(wo)們實際(ji)工作(zuo)大多數(shu)時候(hou)是團(tuan)隊(dui)開發(fa),而(er)不是單(dan)打(da)獨斗,每個人都應該精通自己所擅長的那部(bu)(bu)(bu)分(fen)。

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

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