JAVA能不能开发大型游戏?为什么?

肯定的回答可以。

大型游戏通常分为客户端(单机游戏可归于客户端)和服务端,下面我们分别来说

客户端/单机游戏的核心是游戏引擎,而高性能的游戏引擎毫无疑问都是C/C++开发的,原因就是高性能和对硬件的完全控制,这基本是其它高级语言都无法做到的。不过市面上这么多游戏公司,有几家拥有自己的引擎?大部分都是购买版权或使用开源引擎二次开发,而为了开发效率,我们知道现在游戏的交互界面和主要游戏逻辑通常都是通过脚本完成的,那么如果我们把java看作一种游戏脚本语言通过调用游戏引擎完成高性能的3d计算和渲染,那是不是同样可以开发高性能的游戏客户端。

服务端,网游服务端的性能瓶颈主要就在于网络性能,早期的Java是不支持异步IO的,所以那时java的网络性能很底下,是不可能支撑网游服务端的,但现在java的NIO和AIO已经很好的支持了异步IO,可以说网络性能有了质的提高,所以网游服务端最大的性能瓶颈已经不能限制Java进入这个行业了。

上面从技术上说java可以做游戏,但现实是游戏公司选择java的理由是什么,游戏开发的技术核心和积累在3d和图形处理,游戏开发的另一个核心在策划和运营,这些都和java没有必然的因果。


不能,java不能自己控制内存,fullgc的时候会有卡顿,而且很多引擎都是支持js或者c#的,所以java在游戏领域一般没有什么作为,网游服务器一般也不会用java,因为不能调用底层io用c++的比较多


网游,非单机版。

客户端和服务器都是纯Java版的.

画面流畅程度完胜盛大的原版,跑一步地图卷动48次,是电影级的。细节不多说了

发这个帖子的主要目的是说明:

用Java可以做任何游戏,Java速度慢什么的都是扯淡...我这程序已经和游资网上N个C++达人的同类产品比较过了,性能完胜。(所以就算C++快,也需要写程序的人优化的好才行)

视频只是演示了几分钟道士操作。虽然只有我一个用户在线,但是对于服务器而言,还控制了12000+个怪物的智能行为,姑且算是很多人在线了。(当然,怪物和用户还是不相同的)。

Ps:视频不够流畅,是我的录像软件FPS太低造成的,游戏本身比这个要强的多.

不能,所谓的大型游戏一般都是指端游。必须是C++

这没办法C++和java的效率还是有很大差距的。

java什么东西基本都能开发,只是java致命的是不能直接操作内存,只能安装虚拟机,这样使java在开发的时候造成很多局限性.但是java提供了本地方法,可以调用c的类库。使得功能进一步提升。又由于java对于垃圾回收机制是自动的,使得游戏在流畅性上有很大的折扣。所以java不适合开发大型游戏(除非自己实现垃圾回收等一些机制),使java能与c相比使。又因为java的初衷就不在界面和桌面游戏上。而在企业开发。因此java不适合开发大型游戏。中小型网络游戏还行。


呵呵!说到这个话题首先需要了解Java的特性,Java最初设计是为了能在嵌入式上使用,想取代C语言编程,可是由于历史的发展,Java在网页开发方面有了长足的发展,当时是sun公司推出的编程语言,与此同时业界出现了很多优秀的第三方开源开发框架,把Java瞬间推上了编程语言的榜首,当然Java的跨平台特性为其更加赢得程序员的喜爱,高效自动化的内存管理机制,让她很快脱颖而出,各大软件开发商都向Java语言靠拢,使的Java语言得到很大的开发市场,但Java语言在PC桌面级的应用程序开发的不是很多(我在这里都指的是大型软件),因为先期对界面设计没有很好的支持,当然现在已经支持了界面设计;然而再从运行机制分析一下,Java跨平台得益于Java虚拟机,Java编译器首先会把Java编译成与机器无关的中间码(这个中间码很类似于指定平台的机器码),最终需要在哪个平台运行时在解释成本平台的机器码,显然这样为了夸平台却牺牲了性能,当然目前可以有选项直接生成本地机器码的可执行程序,但我依然认为从性能上不及c于c++的运行性能,古话说得好鱼和熊掌不可兼得;最后话锋一转,再谈谈今天的主题游戏开发,现在游戏开发的核心引擎99%都是用的是c和c++开发的,在使用Java,c#,lua,JavaScript等语言作为游戏引擎的脚本开发语言,这样就是一个最优搭配,通过语言的优缺点进行完美搭配,游戏核心引擎把几乎所有与性能有关的功能全部实现,游戏引擎给二次开发者提供了脚本语言,这使得游戏开发难度大大降低,同时也增加了程序的稳定性(指针安全性),会根据语言的使用市场来扩大开发人群,这样大型游戏开发难度成本和稳定性就得到充分的权衡!综上所述:Java是可以进行大型游戏开发的,但需选择游戏引擎支持的游戏开发平台,当然游戏平台的支持很重要!以上所述仅代表本人个人观点。喜欢的读者可添加关注”嘿咪编程专家”号或转发,私信留言都可交流,后续会有更精彩的回答与大家分享


多元合创感谢你的邀请!Java是不适合开发大型游戏的!

java开发范围很广,但它一直弊病就是不能直接操作内存,只能安装虚拟机,这样使java在开发的时候造成诸多局限性,但是java提供了本地方法,可以调用c的类库。这样的话可以功能进一步提升;java对于垃圾回收机制是自动的,使得游戏在流畅性上大打折扣。所以java不适合开发大型游戏,中小型网络游戏还行。


原始地址:/dongtai/16016.html