最大的问题是 Java 真的很慢。在纯 CPU/内存/显示/通信水平上,大多数现代手机应该是比 Game Boy Advanced 更好的游戏平台。使用 Java,在大多数手机上,你的 CPU 处理能力只有原来的4.77 mhz IBM PC 的水平,而且对所有事情的控制都很糟糕。
[ ... 剪... ]
写-一次-运行-任何地方。哈。哈哈哈哈。我们现在只在四个平台上测试,没有一个平台有完全相同的怪癖。所有的商业游戏都是针对每个(通常是100 +)平台单独进行调整和编译的。便携性并不是糟糕表现的理由。
但主要的问题是向后兼容性。游戏开发人员从 C 语言迁移到 C + + ,从汇编语言迁移到 C 语言,纯粹是因为迁移过程很顺利。每个代码都与之前的代码紧密互操作,它们之前的所有代码都可以在新语言中使用,通常是通过单个编译器。因此,迁移的速度可以按照您喜欢的那样慢或那样快。例如,我们今天使用的一些旧头文件中仍然包含 # ifdef WATCOMC,而且我认为在过去的十年或更长的时间里,没有人在这里使用过 Watcom 编译器。在旧代码中有大量的投资,每个位只在需要时被替换。如果您更改为一种不与现有代码进行本机互操作的语言,那么从一个游戏到下一个游戏替换和升级零碎内容的过程就远远不切实际。是的,C + +/Java 互操作性是可能的,但是与简单地编写“ C with a bit of C + +”或在 C 中嵌入 asm 块相比,这是非常不切实际的。