- N +

java游戲編程?python編程能干什么

各位老鐵們,大家好,今天由我來為大家分享java游戲編程,以及python編程能干什么的相關(guān)問題知識,希望對大家有所幫助。如果可以幫助到大家,還望關(guān)注收藏下本站,您的支持是我們最大的動力,謝謝大家了哈,下面我們開始吧!

如何用JAVA開發(fā)游戲服務(wù)器

首先,我得說明的是,目前市場上新人很難去做pc游戲開發(fā),要么是做頁游要么是手游。

頁游不清楚我就不說了,手游里面,客戶端主要就是c2d和u3d。

如果你想做客戶端,那么你可以轉(zhuǎn)學(xué)u3d,因為它使用的語言是csharp,這個語言和java相似。網(wǎng)上unity的教程也很多,你隨便找一下就有了。

再說說手游服務(wù)器,其實我入行服務(wù)器還是挺巧合的,當(dāng)初本來是打算做客戶端的,都入職了,因為招不到服務(wù)器,就讓我轉(zhuǎn)服務(wù)器了。。

服務(wù)器的教程,我至今也沒找到,而且也找不到系統(tǒng)的教程。

開源的服務(wù)器框架也只熟悉kbengine和scut。其中一個是cpp做底層python做開發(fā)的,一個是csharp做開發(fā)。而且scut已經(jīng)兩年沒有更新了,應(yīng)該是死掉了。

所以,想要學(xué)服務(wù)器開發(fā),得碰點運(yùn)氣。

java服務(wù)器目前主流框架技術(shù)有網(wǎng)絡(luò)層netty或mina,數(shù)據(jù)協(xié)議protobuf,數(shù)據(jù)庫mysql,緩存數(shù)據(jù)庫redis,jdbc一般是mybaits或者jpa,項目管理maven,設(shè)計層面spring

然后還需要熟悉多線程,linux的基本操作,git或者svn。

差不多了,這些都有個大致的了解,會用,應(yīng)該就能找到工作了。

后面再深入需要學(xué)習(xí)的也挺多的,到時候你再根據(jù)業(yè)務(wù)需求自己琢磨著學(xué)吧。

網(wǎng)頁游戲用的是什么編程語言

網(wǎng)頁游戲用的是ActionScript、Java等編程語言。

盡管網(wǎng)頁游戲應(yīng)用的是服務(wù)器端腳本編寫,但是運(yùn)行還是需要一定的客戶端技術(shù)支持的,比如網(wǎng)頁瀏覽器,或者瀏覽器上常用的一些插件,如Flash.最新的網(wǎng)頁游戲典型應(yīng)用是大型多人在線角色扮演游戲(MMORPG:MassiveMultiplayerOnlineRole-PlayingGame)。

網(wǎng)頁游戲又稱Web游戲,無端網(wǎng)游,簡稱頁游。是基于Web瀏覽器的網(wǎng)絡(luò)在線多人互動游戲,無需下載客戶端,不存在機(jī)器配置不夠的問題,最重要的是關(guān)閉或者切換極其方便。

王者榮耀使用什么編程語言開發(fā)的

謝謝悟空小秘書邀請!

王者榮耀的客戶端是用C#開發(fā)、核心后端服務(wù)是用C++開發(fā)的。

曾經(jīng)傳出了騰訊為王者榮耀團(tuán)隊發(fā)出了最低100個月最高120個月的年終獎,不得不說這款游戲是騰訊的超級現(xiàn)金牛,賺得是盆滿缽滿。

大公司技術(shù)棧二三事

微軟的核心技術(shù)棧是C/C++/C#,微軟的Windows系統(tǒng)主要是C語言寫底層,應(yīng)用層軟件用了不少C#,大名鼎鼎的office早期是C語言寫的,后來微軟用C++完成了對Office的重寫。微軟還有自己的Unix系統(tǒng),并且可以肯定的是,微軟肯定到現(xiàn)在都還有服務(wù)器跑Unix系統(tǒng)。

Google的核心技術(shù)棧是C/C++/Python/Go等編成語言,尤其是C/C++在Google技術(shù)體系中占據(jù)著非常重要的地位。在Google的程序員中,大部分都用macOS、以及Google定制版的Ubuntu系統(tǒng)。

Facebook的核心技術(shù)棧是C++/PHP,并且用了很大比例的Erlang,F(xiàn)acebook收購的WhatsApp基本上全是用Erlang完成的,WhatsApp的服務(wù)器還是用的FreeBSD,當(dāng)然這主要是因為創(chuàng)始人的Yahoo時的良好FreeBSD背景。

到了國內(nèi),百度的核心技術(shù)棧是C/C++/PHP,騰訊是C++,Java則是阿里巴巴的核心技術(shù)棧。

王者榮耀用什么開發(fā)的?

王者榮耀的前臺客戶端是用C#開發(fā)的,當(dāng)然準(zhǔn)確地說是Unity3D開發(fā)的,目前Unity3D是最著名的游戲引擎之一,相比于虛幻引擎來說在移動端應(yīng)用廣泛,而C#就是Unity3D的主要腳本語言。

下載王者榮耀的apk文件解壓,從那些dll文件就可以看出,王者榮耀客戶端背后肯定是Unity3D是主要技術(shù)棧。不是說iOS和Android,就一定是swift和Java開發(fā),在游戲領(lǐng)域因為特殊性,有專門的解決方案。

至于王者榮耀的后端服務(wù),基本上就是C++,C++到現(xiàn)在都是騰訊公司的核心技術(shù)棧,并且游戲領(lǐng)域,Java/PHP這些編程語言難度是很大的。

因此王者榮耀的客戶端應(yīng)該是C#(Unity3D)開發(fā)的,核心后端服務(wù)是C++開發(fā),C++也是騰訊最重要的編程語言。

本文為字節(jié)跳動簽約作者EmacserVimer悟空問答原創(chuàng)文章,未經(jīng)允許轉(zhuǎn)載、抄襲必究!

學(xué)習(xí)java可以做游戲嗎

可以的,可以做Java游戲。

【資料】

主要是用Java分支中的J2ME來寫,但是J2ME中需要Java的基礎(chǔ)知識。

現(xiàn)在有大部分人,都是從零開始學(xué)J2ME的,學(xué)習(xí)J2ME的時候,總是從Java基礎(chǔ)開始學(xué)習(xí),而且現(xiàn)在講Java基礎(chǔ)的書籍中都是以J2SE來講基礎(chǔ),這就給學(xué)習(xí)造成了一些不必要的麻煩,下面將J2ME中用到的和不需要的Java基礎(chǔ)知識做一個簡單的說明。

J2ME中使用到的Java基礎(chǔ)知識:

1、Java語法基礎(chǔ):包括基本數(shù)據(jù)類型、關(guān)鍵字、運(yùn)算符等等

2、面向?qū)ο蟮乃枷耄侯惡蛯ο蟮母拍?,繼承和多態(tài)等等。

3、異常處理

4、多線程

做游戲開發(fā)是學(xué)UNITY還是學(xué)java

Java?你確定這家伙不是來湊數(shù)的嗎?Java表示好尷尬。

結(jié)論

先上結(jié)論吧,首先,你的問題就錯了,現(xiàn)在做游戲開發(fā),一般會直接使用游戲引擎來開發(fā),引擎決定了使用什么語言來開發(fā)流程程序,目前最火的是Unity3D(后面簡稱U3D)和虛幻4,早期最火是的Cocos2X,H5方向游戲最火的是Egret和CocosCreator,哦,對了,還有個Layabox。為什么我說你問題錯了呢?因為你把一個引擎和一個語言相比較。

游戲引擎

那我為啥說Java是湊數(shù)的呢?

來,上面說完引擎,我們說下引擎使用的語言。

U3D

你如果學(xué)習(xí)U3D,它是支持三種語言的,一種是Lua,一種是C#,還有一種是UnityJavaScript(魔改版WebJavaScript),這邊建議你直接用C#吧,Lua版本較高,C#比較成熟,第三方庫也多。

虛幻4

你如果學(xué)習(xí)虛幻4的話,就得用C++語言了,對了,這個C++還是魔改版的,所以這個門檻相對于U3D來說,會高點,畢竟操作指針最煩了,不過虛幻4可以調(diào)用Python。對了,虛幻4那光影效果,真是好的不要不要的。

Cocos系列

移動互聯(lián)網(wǎng)剛起步的時候,最火的是Cocos2DX,那時間手游九成都是這個引擎寫的,他有多個語言版本,早期是C++,好像也有Java和OC版本,當(dāng)然也是C#版本。對,好像Java就是這邊使用。

不過近年來,Cocos2DX已經(jīng)基礎(chǔ)被拋棄了,官網(wǎng)也在大力推廣CocosCreator,這個引擎的話,使用了TypeScript,這個語言你可以認(rèn)為是JavaScript的超集,語法和C#有點像,用例和JavaScript有點像。

Egret

而Egret也是比較火的H5引擎,收編了國內(nèi)Flash的陣營,也是用TypeScript來編寫

的,不過很多方法有Flash的ActionScript的影子。

Layabox

LayaBox呢?與其說它是個引擎,還不如說他是個庫,如果你開發(fā)個輕便小巧的H5游戲,可以考慮它,快是它的優(yōu)點,使用JavaScript,當(dāng)然,你可以用TypeScript來寫,然后轉(zhuǎn)成JavaScript。

我說Java是來湊數(shù)的,是因為目前幾大流行的引擎,除了Cocos2DXJava小眾版外,基本沒有使用它來寫游戲的。學(xué)習(xí),不能找太小眾的,一不小心就被市場淘汰了。當(dāng)然,如果你正好碰到這次美國的事情,我也不好說什么了。

上周,美國新澤西州州長菲爾·墨菲對公眾發(fā)出征集,希望州里的COBOL程序工程師志愿幫助維護(hù)和優(yōu)化失業(yè)保險系統(tǒng)。這套政府機(jī)關(guān)使用的系統(tǒng)已經(jīng)運(yùn)行了四十多年,由于最近的COVID-19疫情造成失業(yè)人口激增,為給他們辦理各類事務(wù)手續(xù),系統(tǒng)已不堪重負(fù),瀕臨癱瘓。

另外,游戲?qū)W習(xí),是以引擎為主,你語言花個幾天時間學(xué)習(xí)下,主要時間還是得放在引擎學(xué)習(xí)和使用上。

想用Java做游戲,但是小白,怎么做

1

設(shè)計游戲,首先就要設(shè)計界面。首先看一下我設(shè)計的一個界面。界面分為左邊的游戲區(qū)與右邊的控制區(qū)。游戲區(qū)包含“得分信息”和貪吃蛇的游戲區(qū),右邊控制區(qū)有“開始”“暫停”“停止”按鈕,等級選擇單選框以及游戲排行榜。

2

所以我們需要定義swing組件,并在類初始化時初始化這些組件,添加組件。因為后面設(shè)計游戲的時候,我們要確切知道游戲區(qū)的大小,所以這里設(shè)置游戲區(qū)固定大小值。本來想用布局來更好的管理,但作者對布局也掌握不夠,所以就先設(shè)置固定大小吧。

3

定義我們的游戲。貪吃蛇游戲其實就是包含很多細(xì)小網(wǎng)格,然后蛇在網(wǎng)格中移動。蛇由一連串的網(wǎng)格組成,為了視覺效果,蛇身用藍(lán)色標(biāo)記,食物用紅色標(biāo)記,背景白色。如第一張圖片所示。所以,我們需要定義二維數(shù)組,保存網(wǎng)格信息,保存蛇身和食物的位置信息等。初始化時,還需要添加鍵盤事件控制上下左右移動。

4

食物的位置信息是二維的,所以我簡單定義了一個類用來保存二維信息。

5

接著就是實現(xiàn)游戲的功能了。開始,暫停,停止按鈕添加事件控制游戲開始。等級按鈕定義游戲難度等。

6

開始游戲后,我們定義一個定時器。蛇身按照指定的方向移動,方向是通過初始化時添加的鍵盤事件,鍵盤的上下左右按鈕來控制。蛇身是連續(xù)的位置信息,保存到隊列中,所以蛇身的移動就是隊首增加一個位置,隊尾減少位置,然后重新繪畫游戲區(qū)就可以了。

在蛇身移動時進(jìn)一步做吃掉食物、撞墻、撞到自己的處理。這是游戲的主要邏輯。

7

最后,游戲結(jié)束我們彈出一個對話框提示是否保存游戲得分。我們制作了排行榜信息,只保留前10名的游戲得分。首先定義了一個實現(xiàn)Comparable接口的游戲得分類,按得分高,時間最早來排序。

8

游戲結(jié)束時保存得分信息,看是否進(jìn)入到排行榜中。而之前在初始化排行榜組件時就會加載游戲排行榜信息。

通過保存和讀取排行榜信息,我們也熟悉一下文件讀取操作,還有集合、排序算法的功能。

9

最后編譯運(yùn)行,結(jié)果良好。經(jīng)驗也只能寫一個大概的設(shè)計,貪吃蛇游戲功能實際是比較簡單的,主要就是界面的布局,swing編程等。如果有任何疑問,歡迎大家留言。

總之,沒有一技之長或者經(jīng)過訓(xùn)練,還是不要有這個想法了,不切合實際。

并且,游戲做好之后,還需要經(jīng)過一系列的游戲認(rèn)證,審核。

在小范圍內(nèi)可以傳播,但如果沒有通過的話,就不可以在大范圍內(nèi)傳播。

如果我的回答對你有幫助,點個贊再走唄~

關(guān)于java游戲編程的內(nèi)容到此結(jié)束,希望對大家有所幫助。

返回列表
上一篇:
下一篇: