激情六月丁香婷婷|亚洲色图AV二区|丝袜AV日韩AV|久草视频在线分类|伊人九九精品视频|国产精品一级电影|久草视频在线99|在线看的av网址|伊人99精品无码|午夜无码视频在线

企業(yè)及高校合作:010-59833514 ?咨詢電話:400-810-1418 服務(wù)與監(jiān)督電話:400-810-1418轉(zhuǎn)接2
當(dāng)前位置:首頁 >問答首頁 >游戲設(shè)計
精選回答
來自不安憶電話的回答 2024-01-04 19:00:41

作為一個多年游戲服務(wù)端開發(fā)者,我來回答一下這個問題。只要你仔細(xì)去招聘網(wǎng)站看,會發(fā)現(xiàn)游戲招java的非常少(我希望杠精不要抬杠,我說的少,而且非常少,并不是說沒有)。那么為什么在其他領(lǐng)域的霸主在游戲行業(yè)連喝口湯的資格都沒有呢?其實(shí)主要有兩個原因,而且這兩個原因都和程序員最關(guān)心的效率有關(guān)系,一個是開發(fā)效率,一個是運(yùn)行效率。很遺憾的作為一個不上不下的java兩個都占不了。

首先是開發(fā)效率,在幾年前手機(jī)游戲開始火爆,游戲公司多,產(chǎn)品相似度高,那么如何能以最快的速度開發(fā)完游戲并且上線運(yùn)營,在快速迭代中試錯,降低開發(fā)周期就是減少開發(fā)成本。在這種環(huán)境下,很多腳本語言成了首選,比如nodejs、php甚至還有l(wèi)ua和python(這里多說一句,別看lua語言本身簡單,其實(shí)lua在游戲領(lǐng)域的使用成本是非常高的,至少在這四種腳本語言中是最高的,因?yàn)樗皇且粋€膠水語言,要依附于c/c++,作為游戲周邊的庫都要自己造輪子或找輪子,同時對于引擎部分來說,對核心開發(fā)人員要求也非常高,如果公司沒有經(jīng)驗(yàn)豐富的c/c++程序員,lua基本玩不轉(zhuǎn))。在這些腳本語言面前,java毫無優(yōu)勢。nodejs開箱即用,用js可以前后端一起寫(html5的流行讓這種情況更是越來越多)。而php上手容易,開發(fā)簡單,而且像一些用http的弱交互游戲,熱更新簡直不要太爽,無感知修bug。一些簡單的休閑游戲,用這些腳本語言完全可以很快速的完成,就拿之前比較火的刀塔傳奇來說,用這些腳本語言一點(diǎn)壓力都沒有,還有特別是棋牌類游戲,腳本語言更是首選。

其次再來說說運(yùn)行效率,在一些密集型計算的游戲中,c++是首選,一些大型游戲,對計算要求很高,業(yè)務(wù)邏輯復(fù)雜的情況下,提升效率就能多容納在線人數(shù),也是成本的減少。同時對內(nèi)存要求也高,使用c++可以數(shù)著內(nèi)存寫代碼(手法過于夸張[捂臉]),對象啥時候申請,啥時候釋放都是程序員說了算,gc消耗不存在的。而java生成的都是字節(jié)碼,代碼執(zhí)行都要經(jīng)過jvm來跑,這中間的消耗對于那些對性能要求苛刻的程序來說,絕對不能接受。

綜合以上兩點(diǎn),java處于運(yùn)行效率和開發(fā)效率中間的語言,在游戲這個行業(yè)自然是不會受到青睞。

做游戲引擎,當(dāng)然還是看性能啦,c的性能最好。java性能其實(shí)也很好了,看誰出個簡單快速的框架唄

JAVA 可以做游戲服務(wù)端的開發(fā),也就是網(wǎng)絡(luò)游戲的開發(fā),網(wǎng)絡(luò)游戲的實(shí)時性高,對高并發(fā),數(shù)據(jù)的一致性處理要求較高,并且因?yàn)槭亲陨鞪VM 的垃圾回收機(jī)制對服務(wù)器的內(nèi)核性能要求高,會占用一定的資源去處理這部分?jǐn)?shù)據(jù),游戲的實(shí)時性代表了大量數(shù)據(jù)會經(jīng)常被更改替換。

JAVA 不是不能做,而是對開發(fā)人員的能力要求高!如果能夠充分利用JAVA 的并發(fā)優(yōu)勢,那是可以做到的,并且這已經(jīng)被有些小公司當(dāng)做網(wǎng)絡(luò)游戲服務(wù)端的開發(fā)語言了。

PC 端,移動端的單機(jī)游戲就不用再考慮JAVA 了,顯然JAVA 的2D3D 處理效果沒有一些主流的游戲開發(fā)語言好!語言具有其使用場景,抓住其優(yōu)點(diǎn)去利用之,而不是拿它的缺點(diǎn)如何別的語言優(yōu)點(diǎn)相比!如今JAVA 是做服務(wù)端開發(fā)的不二人選,因?yàn)樗牡蹏髲B已經(jīng)很完善,開發(fā)人員也多!

因?yàn)閖ava中間多出來一個jvm,效率低,游戲?qū)崟r性很重要。

看一個語言適合開發(fā)什么,主要有三點(diǎn)

1.效率問題,包括開發(fā)效率和執(zhí)行效率。

2.生態(tài)圈,有人家提供好的成套解決方案,為什么不用呢?

3.產(chǎn)品的側(cè)重點(diǎn)。

就拿java和c++來說,java主要用于web開發(fā),但是c++通過cgi也可以寫web,而且c++的執(zhí)行效率甩java幾條街,但是為什么不用c++寫web呢,因?yàn)閏++的開發(fā)web的效率太低,而java有各種web方面的框架,開發(fā)效率高。

如果產(chǎn)品是游戲,游戲?qū)崟r性很重要,你玩?zhèn)€游戲反應(yīng)慢半拍那肯定很惱火。游戲這個產(chǎn)品的實(shí)時性就注定了要采用高效率的語言開發(fā),那c,c++自然就跑不掉了。

火星時代教育 影視學(xué)院劉老師,為你解答
恭喜,您已獲得免費(fèi)試聽資格請留下您的手機(jī)號,課程顧問將幫您激活課程
獲取驗(yàn)證碼
免費(fèi)領(lǐng)千元課程+隨課禮包

請留下您的手機(jī)號

課程顧問將幫您激活課程并贈送學(xué)習(xí)禮包

×

同學(xué)您好!

您已成功報名0元試學(xué)活動,老師會在第一時間與您取得聯(lián)系,請保持電話暢通!
確定