您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

为什么只有少数几个用Java编写的视频游戏?

为什么只有少数几个用Java编写的视频游戏?

游戏开发世界是一个有趣的世界:一方面,他们通常很快就会接受新的想法,另一方面,他们仍然处在僵局。

事实是,切换到.NET / Java /除C / C ++之外的任何东西的动机很少。

大多数游戏公司从其他公司获得游戏引擎的部分许可。这些部分是用C ++编写的,尽管您可以访问源代码以便移植,但是这需要花费很多精力(当然,许可证需要允许它)。

同样,C ++中已经存在许多旧代码。如果以前项目中的代码可以重复使用(例如,如果您要编写续集),则更重要的是坚持使用相同的语言,而不是用新的语言重写(因为这样很可能会重新引入)大量的错误,您需要花费一些时间来解决

最后,无论如何,用100%C ++编写游戏都是很罕见的- 使用脚本语言可以完成很多工作,无论脚本是自定义的,还是只是集成现有的语言(Lua如今都是最受欢迎的语言之一)。

垃圾收集而言,这可能是个问题。问题不仅仅在于它存在,还在于它是如何工作的- 垃圾收集器必须是非阻塞的(或者至少保证仅非常短暂地阻塞),因为将游戏冻结10秒钟是不可接受的,它会扫描所有分配的内存,以查看可以释放的内容。我知道Java在接近用尽内存时(在某些游戏中,它会)会在GC’ing中阻塞很多。

您的工作也受到更多限制:由于运行时的开销,您无法充分利用硬件。想象一下Crysis是用Java编写的……即使这是唯一可见的区别,也不会是相同的(我也很确定您需要Core i7来运行它)。

这并不意味着这些语言没有在游戏开发中占有一席之地-不,我不仅指工具编程。对于大多数游戏,您不需要C ++带来的额外性能包括3D游戏),而且如果您是从头开始编写所有内容,那么使用XNA之类的东西就很有意义了-实际上,很有机会。

就商业游戏而言-RuneScape算在内吗?那很可能是最成功的Java游戏。

java 2022/1/1 18:33:59 有614人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶