Java 2d手机游戏开发:OpenGLES2.0还是cocos2d-x?

Java 2d手机游戏开发:OpenGLES2.0还是cocos2d-x?,java,android,c++,ios,opengl-es,Java,Android,C++,Ios,Opengl Es,我计划为手机制作一款游戏。我的目标平台是iOS和Android。我希望能够在windows和/或linux上进行测试。除了一般的游戏开发经验外,所有的技术对我来说都是相当新的。我已经做了大量的研究,并得出结论,游戏应该写在/移植到C++,以确保我的引擎可以很容易地移植到多个设备。 另一个我更喜欢的游戏是把游戏最初用java和端口写到C++,因为这是我最舒服的地方,而且会使它做得最快。 现在我面临的问题是选择是使用cocos2d-x之类的游戏引擎,还是从头开始编写引擎并使用opengles2.0进

我计划为手机制作一款游戏。我的目标平台是iOS和Android。我希望能够在windows和/或linux上进行测试。除了一般的游戏开发经验外,所有的技术对我来说都是相当新的。我已经做了大量的研究,并得出结论,游戏应该写在/移植到C++,以确保我的引擎可以很容易地移植到多个设备。 另一个我更喜欢的游戏是把游戏最初用java和端口写到C++,因为这是我最舒服的地方,而且会使它做得最快。 现在我面临的问题是选择是使用cocos2d-x之类的游戏引擎,还是从头开始编写引擎并使用opengles2.0进行渲染。起初我认为使用cocos2d-x会更好,因为我对OpenGL没有太多经验。然而,我使用cocos2d-x的问题是,因为我最初想用java编写游戏,所以我很难移植引擎以符合cocos2d-x(或者我必须先学习cocos2d-x引擎的所有知识,然后编写我的引擎来模仿cocos2d-x引擎,这似乎是多余的)

经过进一步考虑,我认为使用OpenGL编写自己的引擎实际上是更好的选择。我能够使用PowerVR SDK和JOGL来模拟GLES环境。它看起来也不错,因为我可以让GL为我完成碰撞检测和转换方面的大部分工作。我唯一的问题是,由于游戏也将支持多人游戏,GL碰撞检测等基本上是没有意义的,因为我将不得不在服务器端进行碰撞检查,以防止游戏被轻易入侵。当然,对于单人游戏来说,这种方法是可行的

显然,这个决定是主观的,取决于我个人的喜好,尽管我希望能给一些更有经验的人提供足够的背景,让他们发表自己的意见


我的问题是:如果给出这些参数,我会更好地使用COCOS2D-X,并且在C++中从地面上开始构建头部游戏,头部受到损伤。还是最好先用java编写自己的引擎,然后努力完成OpenGL方面的工作?

从头开始构建自己的引擎将是一项太多的工作,会吸引大量的bug潜入其中。在我看来,经过试验和测试的发动机是更好的选择。移植将更加容易,因为您将拥有一个工作游戏。

我目前正在使用引擎,我对它的性能很满意。它使您可以直接访问OpenGL库,尽管我从未尝试过。你也应该试试,虽然不是免费的,但是90天的评估许可证是免费的。

< P>我决定用C++ COUNCO2D X从地面上写出来。它没有我想象的那么糟糕。

你看了吗?我目前正在学习OpenGL,我也在从事游戏编程,我可以告诉你,编写自己的游戏引擎需要做大量的工作!我会完全依靠其他人的测试和优化工作在这里!如果你想更深入地研究游戏编程,你可以看看UDK,它可以为所有主要的移动操作系统编译二进制文件,而不需要额外的“成本”@直到,哇,我不知道我是怎么做到的。。谢谢,我去看看。感谢你对吉他流的洞察。我同意@Creator;从头开始开发发动机是一项巨大的事业。使用引擎可以让您将精力集中在游戏本身,而不是框架上。Cocos2D备受推崇,是您所描述的情况的最佳选择。但是我建议用C++而不是java编写它,然后你可以在平台之间进行端口而不是重写。如果你使用COCOS2D X,你就不会从头开始编写引擎,因为它本身就是一个2D游戏引擎。如果您说您是使用SDL从头开始编写的,那么这是有道理的。