一般来说,这里所说的一切都是不移植到Java进行游戏开发的原因。是。游戏行业目前正在发生范式转变。有三件事已经改变或正在改变游戏行业:
- 海盗行为
- 客户端-服务器程序模型
- 模块化网络程序模型
游戏不再完全依赖于自己。前者(低级语言)中存在的关键优势是,通过C#和Java(高级语言)等语言中存在的优势来权衡速度。两个粗糙但不可否认的例子是在Facebook上运行的游戏,以及手机,平板电脑等远程媒体。
重要的是要指出,在所有两种情况下,上面列出的所有三个问题都已消除。没有服务器就无法工作的游戏不必担心被复制侵权(不包括通过逆向工程进行的私人托管)。对网络相关游戏的需求需要一种能够平衡系统性能与网络性能的语言(通常是Java和C / C++之间的僵局,由于大量预先存在的库,严格地有利于C / C++)。但是,在模块化网络程序模块中设计的游戏对于在C / C++等低级语言中开发是不切实际的。如果一家公司有兴趣在C/C++中为模块化网络程序模型设计游戏,则必须创建一个完全致力于该游戏的虚拟机,或者多次重新编程/重新编译游戏,以至于无法思考。IMO,虽然现在说哪种语言是首选可能还为时过早,但我把赌注押在Java上有三个关键原因。
1)JVM允许基于Java的应用程序几乎可以在任何平台上运行,无论是Apple,Android,Windows 8还是Linux / UNIX派生(几乎支持任何硬件平台)。
2)Java使用OpenJL(OpenGL衍生品,它将作为客户端在OpenGL上运行 - jMonkey是OpenJL中设计的引擎)。重要的是要注意,只有Microsoft Windows使用DirectX,尽管它可能很好,但它只有一个缺点。实际上,每个可以运行游戏的操作系统都能够在OpenGL中渲染,模块化设计正在以前所未有的方式推动这一点。(请注意,微软正试图通过垄断Windows 8的分发来偏离这个问题)。
3)Java支持JVM内部的线程,这使得它能够充分利用多核处理器,而无需使用任何第三方库。目前,这是所有其他语言(尤其是为手机开发的语言)的障碍。
虽然JVM确实存在延迟问题,但应该注意的是,可以通过线程消除这些问题。我也不会太担心Windows 8和微软的推动。谷歌的股价为每股720美元,苹果的股价为每股526美元,微软迄今为止的股价为27美元。虽然苹果可能会受到微软推动的影响,主要是由于使用C#,但另一方面,谷歌可能会从中获利。微软在与谷歌竞争时从未有过太多的幸运,谷歌/Android大量使用Java。Angry Birds最初是用Java FYI设计的,并移植到iPhone的C#中。如果谷歌/Android强制实施标准化,微软将像苍蝇一样下降,带走苹果。