最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

游戲開發(fā)需要具備哪些技術(shù)

2023-05-11 16:29 作者:馳網(wǎng)科技idc-艾西  | 我要投稿

游戲開發(fā)需要具備哪些技術(shù)

?

大家好我是艾西,今天跟大家閑聊一下。開發(fā)一款游戲在沒有參照物或是底板的情況下開發(fā)一款游戲都需要具備哪些技術(shù),在開發(fā)過程中我們又會涉及到哪些板塊或是領(lǐng)域。

一款游戲的開發(fā)需要一個(gè)總的游戲策劃人,為游戲編寫背景故事,制定游戲規(guī)則,設(shè)計(jì)游戲交互環(huán)節(jié),計(jì)算游戲公式,以及整個(gè)游戲世界的一切細(xì)節(jié)等。

和其他程序猿一樣,要想做一名優(yōu)秀的游戲開發(fā)者,底子不能差,算法,數(shù)據(jù)結(jié)構(gòu),語言等基礎(chǔ)一個(gè)都不能少。當(dāng)然,除了這些基本功外,還要對游戲有比較深入的理解,比如看到一個(gè)功能就能猜出或給出一個(gè)大概的實(shí)現(xiàn)思路。

?

游戲程序員:游戲程序員根據(jù)游戲策劃人的策劃書,不同的游戲需要不同的計(jì)算機(jī)語言以及不同的游戲引擎進(jìn)行開發(fā)。

?

比如網(wǎng)絡(luò)游戲程序,需要用到C++語言,用到cocos2D-x游戲引擎,untiy3D游戲引擎,Dx等技術(shù)。手機(jī)游戲程序,用到j(luò)ava計(jì)算機(jī)語言,安卓平臺技術(shù),ios平臺技術(shù)等。

?

游戲美工:游戲美工主要是游戲原畫,2D、3D游戲美工,需要用到手繪,PS,3Dmax等軟件。設(shè)計(jì)與制作游戲中的角色,場景,動畫,特效等。

?


一、網(wǎng)絡(luò)游戲策劃設(shè)計(jì)分為執(zhí)行策劃和主策劃,網(wǎng)絡(luò)游戲美工設(shè)計(jì)分為原畫設(shè)計(jì)、游戲UI設(shè)計(jì)、游游戲動畫設(shè)計(jì),網(wǎng)絡(luò)游戲程序設(shè)計(jì)分為游戲程序設(shè)計(jì)。

?

1、網(wǎng)絡(luò)游戲策劃設(shè)計(jì)師需要學(xué)習(xí):數(shù)字游戲宏觀環(huán)境解析、數(shù)字游戲高級策劃理論、數(shù)字游戲創(chuàng)意實(shí)踐Unity3D項(xiàng)目開發(fā)。

?

2、網(wǎng)絡(luò)游戲原畫設(shè)計(jì)需要學(xué)習(xí):手繪基礎(chǔ)、原畫藝術(shù)基礎(chǔ)、動物角色設(shè)定、場景設(shè)定。

?

3、網(wǎng)絡(luò)游戲UI設(shè)計(jì)需要學(xué)習(xí):UED概述、GUI設(shè)計(jì)基礎(chǔ)、網(wǎng)頁UI設(shè)計(jì)、軟件UI設(shè)計(jì)、游戲UI設(shè)計(jì)。

?

4、網(wǎng)絡(luò)游戲程序設(shè)計(jì)需要學(xué)習(xí):游戲程序設(shè)計(jì)、算法與數(shù)據(jù)結(jié)構(gòu)、Win32程序設(shè)計(jì)、游戲數(shù)學(xué)和智能應(yīng)用、2D游戲技術(shù)與應(yīng)用。

?

游戲開發(fā)工程師掌握內(nèi)容:

?

1、了解并致力于游戲總體設(shè)計(jì)。

?

2、配合主程序完成游戲架構(gòu)及各大功能的設(shè)計(jì)、開發(fā)、調(diào)試和其他技術(shù)支持。

?

3、負(fù)責(zé)游戲開發(fā)工具和運(yùn)營維護(hù)工具的設(shè)計(jì)與開發(fā)。

?

4、完成游戲服務(wù)器端模塊代碼及相關(guān)文檔的書寫、優(yōu)化對已完成代碼進(jìn)行單元測試。

?

5、管理維護(hù)游戲平臺的制作與運(yùn)行。

?

6、與團(tuán)隊(duì)其他人員配合,促進(jìn)游戲的改進(jìn)創(chuàng)新。

  

負(fù)責(zé)客戶端架構(gòu)設(shè)計(jì)、模塊劃分、編輯器規(guī)劃、引擎維護(hù)與人員分工。負(fù)責(zé)游戲客戶端與公司技術(shù)平臺的整合。協(xié)調(diào)與服務(wù)器端、策劃、美術(shù)和公司其他技術(shù)部門之間的關(guān)系。

?


看一下游戲開發(fā)的基本功有哪些:

數(shù)學(xué)基礎(chǔ):根據(jù)你所做內(nèi)容來決定,一般上層邏輯比較少的去考慮到積分等高數(shù)內(nèi)容。但是如果想搞圖形學(xué),矩陣線性代數(shù),高數(shù)必須要有一定的功底

算法:常見的排序,查找需要理解并掌握,進(jìn)一步常見的還有分治,貪心,動態(tài)規(guī)劃,有時(shí)候現(xiàn)學(xué)現(xiàn)賣也是可以的。另外,除了這些基本的算法,在游戲領(lǐng)域還是有很多其他領(lǐng)域不太常用的算法,比如八叉樹查找,碰撞檢測,A*。還有一些很特殊的情況需要開發(fā)者自己去尋找合適的算法。

C++(C#):基本語法,模板,代理,命名空間,const,繼承,內(nèi)存結(jié)構(gòu),虛表,引用,斷言,宏定義等

數(shù)據(jù)結(jié)構(gòu):首先是掌握鏈表,數(shù)組,隊(duì)列,堆,棧,圖,樹等數(shù)據(jù)結(jié)構(gòu),然后是各種排序,查找,遍歷等算法。這些掌握了以后可以很快的熟悉stl或者類似的基本庫原,用的時(shí)候可以更準(zhǔn)確的選擇合適的數(shù)據(jù)結(jié)構(gòu)

設(shè)計(jì)模式:一般來說,我們需要設(shè)計(jì)模式來快速的搭建游戲邏輯框架,比如前面提到的各種邏輯系統(tǒng)。而且還需要通過設(shè)計(jì)模式來理解引擎各個(gè)模塊的設(shè)計(jì)思路。

對引擎各個(gè)模塊有一定深入的理解:這個(gè)不用多說,看一遍游戲引擎架構(gòu)吧,不理解寫出的代碼經(jīng)常會出現(xiàn)各種問題(比如同步問題),編輯器各種功能也用不好。

內(nèi)存管理:可能很多引擎或者語言已經(jīng)盡可能的幫你處理內(nèi)存了,但是你難免需要在一些特殊情況下自己處理,內(nèi)存池技術(shù),各種C++的new的使用,不得不會。

對開發(fā)工具的熟悉:這里并不是指只是對某一個(gè)引擎使用熟練,而且對不同引擎相關(guān)的內(nèi)容都有一定理解,可以很快的觸類旁通。

編譯原理,鏈接,第三方庫:經(jīng)常會遇到各種鏈接錯誤,編譯錯誤,打包錯誤,這需要有一定的相關(guān)知識與經(jīng)驗(yàn)去解決這些問題。

性能分析與性能優(yōu)化: 主要就是三個(gè)方面——內(nèi)存,CPU,GPU。著手點(diǎn)有渲染批次,渲染實(shí)例化,布料優(yōu)化,網(wǎng)絡(luò)同步數(shù)據(jù)量,物理開銷等,加載資源優(yōu)化(包的合并),裁剪,聲音文件加載,LOD,美術(shù)資源制作規(guī)范化等。調(diào)試的時(shí)候可以使用引擎內(nèi)置工具,進(jìn)一步的細(xì)節(jié)可以采用Intel的VTune工具

對游戲的理解:雖然不玩游戲也一樣能參與游戲開發(fā),但玩過游戲的人還是有優(yōu)勢的。最明顯的是玩過游戲的人會對游戲有更多的想法與意見,也習(xí)慣去主動學(xué)習(xí)其他的游戲的技術(shù)與優(yōu)點(diǎn)。(程序這樣,策劃更是如此)

開發(fā)經(jīng)驗(yàn):這個(gè)就比較寬泛了,難以只言片語說清。


經(jīng)常聽別人說游戲開發(fā)很復(fù)雜

總結(jié)來說就是內(nèi)容太雜,細(xì)分又太深。隨便舉兩個(gè)技術(shù)方向(渲染,AI)就夠你無限深入了。還有一些模塊,說難不算太難,但是內(nèi)容相當(dāng)復(fù)雜,需求變更頻繁,處理不好就如無底洞一般~

?

那么我們簡單的對游戲模塊做一個(gè)總結(jié):

游戲邏輯模塊系統(tǒng):游戲玩法核心,包括各種武器,狀態(tài),技能,背包,戰(zhàn)斗等邏輯系統(tǒng)

動畫模塊系統(tǒng):狀態(tài)機(jī),Montage,動畫融合,IK等

物理模塊:給需要交互表現(xiàn)的對象賦予物理特性(包括剛體,流體,粒子,布料等),調(diào)整重力大小等各種參數(shù),調(diào)整交互中力的大小,調(diào)整物理約束

AI模塊: AI導(dǎo)航,與玩家交互等,玩家的很多功能系統(tǒng)也需要給AI來使用,更深層次的可以考慮將機(jī)器學(xué)習(xí)相關(guān)的內(nèi)容融入

UI模塊:搭建各種界面框架(背包,捏臉,地圖等),非常耗時(shí)間與精力,后期需要不斷調(diào)整

渲染模塊:客戶端表現(xiàn)核心,不用多說,內(nèi)容非常多且深

網(wǎng)絡(luò)模塊:底層架構(gòu),同步,網(wǎng)絡(luò)連接

場景模塊:包括地形,關(guān)卡,植被,角色管理與優(yōu)化等

輸入與輸入處理模塊:將玩家輸入處理轉(zhuǎn)換成邏輯,需要注意的有組合鍵,輸入法切換等

游戲登錄與更新:一般這是專門的工具組來做,比如我們常見的各種游戲登錄器,在線更新等。

這里面的除了網(wǎng)絡(luò)基本上都需要美術(shù),策劃,程序共同參與

?


游戲開發(fā)僅僅是寫邏輯代碼么?

當(dāng)然,不是~~~ 游戲也是一個(gè)軟件項(xiàng)目,是一個(gè)需求變化極為頻繁的項(xiàng)目。當(dāng)你跳出底層的邏輯程序員時(shí),你會發(fā)現(xiàn)你還有好多事情要去做。

比如:

版本控制:一般使用git或者svn

存儲與序列化(如protobuf):單機(jī)玩家的游戲存檔需要通過序列化。游戲中的同步系統(tǒng)也需要通過序列化 對象來搭建

反外掛:保證游戲公平性,一般服務(wù)器上做各種校驗(yàn)措施,這個(gè)東西真的不容易,而且又麻煩,身邊懂得人真的不多

多線程優(yōu)化:一般用于渲染,物理,網(wǎng)絡(luò)同步等,減少開銷,增加cpu利用率

數(shù)據(jù)庫:什么數(shù)據(jù)要存在數(shù)據(jù)庫里面,什么存在本地就可以。應(yīng)該選擇什么數(shù)據(jù)庫?之后會不會出現(xiàn)游戲合服數(shù)據(jù)庫合并?合并的Key怎么處理?

CDN /服務(wù)器的部署與運(yùn)行等:這個(gè)也很復(fù)雜,又要考慮成本又想容納更多玩家(網(wǎng)游),有時(shí)可能需要用到CDN技術(shù)來優(yōu)化網(wǎng)絡(luò)同步,另外還要考慮成本等問題來決定租用云服務(wù)器還是物理高性能服務(wù)器

實(shí)現(xiàn)網(wǎng)絡(luò)穿透 :對于玩家自己開房間類的游戲,需要我們提供網(wǎng)絡(luò)穿透的手段,才能讓兩個(gè)內(nèi)網(wǎng)的玩家鏈接并通信。有的時(shí)候,網(wǎng)絡(luò)穿透技術(shù)平臺會提供,不需要自己造輪子。

使用性能分析工具:前面提到了性能優(yōu)化,優(yōu)化前我們需要各種工具來輔助我們找到影響游戲效率的瓶頸(如VTune)

?


配置:需要大量策劃配置的數(shù)據(jù)存放在哪里?配置文件?XML?這需要構(gòu)建一套小的系統(tǒng)(或者引擎提供)

聲音數(shù)據(jù)處理:一般引擎提供基本的音樂與音效處理,但是有的引擎對音頻方面處理的更深入,效果更好

平臺對接:游戲需要發(fā)布到不同的平臺,這個(gè)平臺不僅僅指硬件平臺(Android,iOS,PS4,PC,XBOX)還包括各種軟件平臺(各種應(yīng)用商店,如PC上的Steam,WeGame。安卓上的應(yīng)用寶,各種軟件管家等)該過程其實(shí)也相當(dāng)繁瑣,有一些平臺的審核非常嚴(yán)格,需要積累一定的經(jīng)驗(yàn)才能快速的處理相關(guān)內(nèi)容

國際化與本地化:簡單來說,就是不同國家的語言版本不同。如果你的游戲不是只賣給英國美國,你就不得不面對本地化,坑很多

日志系統(tǒng):開發(fā)與運(yùn)營 游戲上線一定很多bug,你又沒辦法去玩家電腦上調(diào)試,如何快速定位bug,日志系統(tǒng)很有效

調(diào)試與維護(hù):開發(fā)期 斷點(diǎn)調(diào)試(最有效)、日志調(diào)試、dump調(diào)試 、控制臺調(diào)試,可視化調(diào)試(在場景內(nèi)繪制特定的幾何體),截圖錄屏調(diào)試(一般用于調(diào)試渲染,動畫等)

上線期 日志調(diào)試、服務(wù)器可以用dump調(diào)試,也可以想辦法把客戶端的dump傳送到服務(wù)器(做一個(gè)內(nèi)置的自動收集客戶端dump程序) 、管理員GM調(diào)試(非常重要,可以避免重啟服務(wù)器)

bug處理:嚴(yán)重?fù)p失的bug 有時(shí)候已經(jīng)發(fā)生的造成玩家嚴(yán)重?fù)p失的bug(如玩家投入大量時(shí)間、金錢獲取的)無法改變,又不能及時(shí)修復(fù),想要彌補(bǔ)玩家,可以通過GM來給予玩家補(bǔ)償。

游戲崩潰性bug 需要在游戲上線的前兩天,把發(fā)生概率高的所有Bug通過Dump調(diào)試后盡快修復(fù)并更新

腳本:簡單邏輯代碼,熱更新

打包流水線,包的大小優(yōu)化,包的多層遞歸引用優(yōu)化等:整個(gè)項(xiàng)目從編譯到配置再到打包需要哪些處理,要注意哪些配置等

工具開發(fā):針對特殊需求開發(fā)特定的工具來提高程序、美術(shù)、策劃的開發(fā)效率

當(dāng)然,上面的內(nèi)容還遠(yuǎn)不足以覆蓋游戲開發(fā)的所有內(nèi)容

而且學(xué)習(xí)任何東西都需要一個(gè)過程,我們不需要一開始就掌握這么多東西。日積月累下都有可能成為一名優(yōu)秀的游戲開發(fā)者

?

游戲開發(fā)需要具備哪些技術(shù)的評論 (共 條)

分享到微博請遵守國家法律
迁安市| 资源县| 双鸭山市| 砚山县| 南江县| 韶山市| 大关县| 北票市| 增城市| 八宿县| 武鸣县| 安多县| 沽源县| 诏安县| 静宁县| 航空| 嘉鱼县| 荣昌县| 沅陵县| 双流县| 甘肃省| 白沙| 廉江市| 巴南区| 台东县| 西乌| 忻州市| 五华县| 溆浦县| 和林格尔县| 从化市| 科技| 甘孜| 美姑县| 雷山县| 荔波县| 年辖:市辖区| 韩城市| 泸定县| 特克斯县| 成都市|