我已经浏览过互联网,但是用于开发Java游戏的资源并不多,几乎没有C++那么多。事实上,大多数引擎都是用C++编写的。我试着玩一个用jMonkeyEngine制作的游戏,但是这个游戏太慢了,以至于我的电脑都冻僵了。我没有运行其他Java应用程序,也没有太多的资源密集型。相比之下,我的电脑可以轻松地玩大多数现代3D游戏。如果我现在继续学习和改进Java,并且后来被要求学习C++,那么转换可能会很困难。
对于严肃的游戏开发,Java是一种可接受的语言吗?严肃地说,我指的是高质量的图形,在现代计算机上没有太大的落后。我还想考虑为游戏机制作游戏。
发布于 2012-03-13 22:48:36
是的,请检查这份清单以获得证据。这些游戏是用Java使用轻量级Java游戏库(LWJGL)制作的。它是一个低级别的框架,为高质量的图形提供OpenGL,为声音提供OpenAL .它还提供了输入API。有了这些,您可以很容易地开始在Java中进行严肃的游戏开发。
我目前正在编写我的第二个3D游戏作为一个爱好项目,在Java,我只是喜欢它。过去,我经常用C++编写游戏,但是在切换到Java之后,就没有回头路了。用Java支持多个操作系统可能非常容易,例如,我以前在Windows中开发了一年的Java游戏,在Linux和OS中工作,只有一个bug而不需要在这些平台上编译任何东西。
另一方面,使用Java会遇到一些问题。
发布于 2012-03-13 17:03:58
不怎么有意思。事情是这样的--首先,与C++的几乎所有东西相比,现有的Java库很少。
其次,Java作为一种语言根本无法很好地用于游戏开发--例如,如果您正在处理GPU缓冲区,那么Java就不会提供一个语言特性来帮助您确保它们被正确地锁定、解锁或处理,而C++就是这样做的。另外,还存在性能问题-- GC是不确定的,这对游戏来说是非常糟糕的。
我从未观察到任何非独立游戏在执行前没有编译成本机代码的语言中花费了大量时间,即使是这样做的独立游戏也很少见。因此,我现在的信念是,这是根本无法做到的。
而且,如果我现在继续学习和改进Java,并且后来需要学习C++,那么切换会很困难吗?
是的,绝对会。Java和C++有很大的不同,尽管它们在句法上有很大的相似之处。在学习C++时,Java经验几乎没有任何意义。
游戏对图形是一个可行的选择,你可以看到它的成功的游戏,如Terarria和我的世界。但是,如果您打算创建srs图形,那么它在Java中是行不通的。
发布于 2012-03-13 18:05:52
所以,我真的很重视游戏开发,Java仍然是一个可行的选择吗?我曾多次尝试学习C++,但我并不真正喜欢这种语言。我真的不知道为什么,但通常情况下,每当我试图学习,我永远无法理解的主题。
如果您选择Java的原因是您无法理解C++,那么您的Java程序对于高质量的图形来说是不够快的。使用更高层次的语言应该是因为它使你更有效率,而不是因为你无法理解低级语言。
我不认为用Java编写游戏完全是个坏主意,特别是在游戏很简单的情况下,但是如果您使用Java作为拐杖,您将立即遇到性能问题。
因此,简而言之,对于严肃的游戏开发来说,Java是可以被重视的。这包括沉重的图形,快速的游戏发挥无滞后,并可能,和容易切换到控制台?
https://gamedev.stackexchange.com/questions/25492
复制