-
1 # taleair
-
2 # 多元合創
java開發範圍很廣,但它一直弊病就是不能直接操作記憶體,只能安裝虛擬機器,這樣使java在開發的時候造成諸多侷限性,但是java提供了本地方法,可以呼叫c的類庫。這樣的話可以功能進一步提升;java對於垃圾回收機制是自動的,使得遊戲在流暢性上大打折扣。所以java不適合開發大型遊戲,中小型網路遊戲還行。
-
3 # 城南天丶貝易
網遊, 非單機版。
客戶端和伺服器都是純Java版的.
畫面流暢程度完勝盛大的原版, 跑一步地圖捲動48次,是電影級的。細節不多說了
發這個帖子的主要目的是說明:
用Java可以做任何遊戲, Java速度慢什麼的都是扯淡...我這程式已經和遊資網上N個C++達人的同類產品比較過了, 效能完勝。 (所以就算C++快,也需要寫程式的人最佳化的好才行)
影片只是演示了幾分鐘道士操作。雖然只有我一個使用者線上,但是對於伺服器而言, 還控制了12000+個怪物的智慧行為, 姑且算是很多人線上了。(當然, 怪物和使用者還是不相同的)。
Ps: 影片不夠流暢,是我的錄影軟體FPS太低造成的, 遊戲本身比這個要強的多.
不能 ,所謂的大型遊戲一般都是指端遊。必須是C++
這沒辦法C++和java的效率還是有很大差距的。
java什麼東西基本都能開發,只是java致命的是不能直接操作記憶體,只能安裝虛擬機器,這樣使java在開發的時候造成很多侷限性.但是java提供了本地方法,可以呼叫c的類庫。使得功能進一步提升。又由於java對於垃圾回收機制是自動的,使得遊戲在流暢性上有很大的折扣。所以java不適合開發大型遊戲(除非自己實現垃圾回收等一些機制),使java能與c相比使。又因為java的初衷就不在介面和桌面遊戲上。而在企業開發。因此java不適合開發大型遊戲。中小型網路遊戲還行。
-
4 # 宜時合不
肯定的回答可以。
大型遊戲通常分為客戶端(單機遊戲可歸於客戶端)和服務端,下面我們分別來說
客戶端/單機遊戲的核心是遊戲引擎,而高效能的遊戲引擎毫無疑問都是C/C++開發的,原因就是高效能和對硬體的完全控制,這基本是其它高階語言都無法做到的。不過市面上這麼多遊戲公司,有幾家擁有自己的引擎?大部分都是購買版權或使用開源引擎二次開發,而為了開發效率,我們知道現在遊戲的互動介面和主要遊戲邏輯通常都是透過指令碼完成的,那麼如果我們把java看作一種遊戲指令碼語言透過呼叫遊戲引擎完成高效能的3d計算和渲染,那是不是同樣可以開發高效能的遊戲客戶端。
服務端,網遊服務端的效能瓶頸主要就在於網路效能,早期的Java是不支援非同步IO的,所以那時java的網路效能很底下,是不可能支撐網遊服務端的,但現在java的NIO和AIO已經很好的支援了非同步IO,可以說網路效能有了質的提高,所以網遊服務端最大的效能瓶頸已經不能限制Java進入這個行業了。
上面從技術上說java可以做遊戲,但現實是遊戲公司選擇java的理由是什麼,遊戲開發的技術核心和積累在3d和圖形處理,遊戲開發的另一個核心在策劃和運營,這些都和java沒有必然的因果。
回覆列表
不能,java不能自己控制記憶體,full gc的時候會有卡頓,而且很多引擎都是支援js或者c#的,所以java在遊戲領域一般沒有什麼作為,網遊伺服器一般也不會用java,因為不能呼叫底層io用c++的比較多