2D移动游戏开发:OpenGL ES 2.0还是cocos2d-x?

3
我计划为移动设备构建一个游戏,目标平台是iOS和Android。我希望能在Windows和/或Linux上进行测试。除了一般的游戏开发经验外,所有技术对我来说都比较新,这让我有些超负荷了。我已经做了相当多的研究,得出结论:应该使用C++编写/移植游戏,以确保引擎的大部分内容可以轻松地移植到多个设备上。
另一件事是,我希望最初用Java编写游戏,然后再将其移植到C ++中,因为那是我最熟悉的语言,也是最快完成的方式。
现在我面临选择是否使用像cocos2d-x这样的游戏引擎,还是从头开始编写引擎,并使用OpenGL ES 2.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方面?

1
你看过 http://code.google.com/p/cocos2d-android/ 吗? - Till
2
我目前正在学习OpenGL,同时也在自学游戏编程。我可以告诉你,编写自己的游戏引擎需要大量的工作!在这里,我完全依赖其他人经过测试和优化的工作!如果你想更深入地了解游戏编程,可以看看UDK,它可以为所有主要移动操作系统编译二进制文件,而不需要额外的“成本”。 - guitarflow
@Till,哇,我不确定那是如何溜过我的眼睛的...谢谢,我会去检查一下。还有感谢guitarflow提供的见解。 - blend
我同意@Creator的观点;从零开始开发引擎是一项巨大的工程。使用现有引擎可以让你将精力集中在游戏本身上,而不是框架上。Cocos2D备受推崇,是你所描述情况的一个很好的选择。然而,我建议你用C++编写它,这样你就可以在不同平台之间进行移植而不是重写。 - gavinb
2个回答

0

从零开始构建自己的引擎将需要太多的工作,并且会吸引很多错误进入。在我看来,经过试验和测试的引擎是更好的选择。由于您将拥有一个可用的游戏,因此移植将更加容易。
我目前正在使用Marmalade引擎,我对它的性能非常满意。它可以直接访问OpenGL库,尽管我从未尝试过。您也应该尝试一下,虽然它不是免费的,但90天的评估许可证是免费的,可以进行检查。


0

我决定使用cocos2d-x从头开始用c++编写它。这并没有像我预期的那样糟糕。


1
如果你使用Cocos2d-x,那么你并不是真正从零开始编写引擎,因为它本身就是一个2D游戏引擎。如果你说你正在使用SDL从零开始编写引擎,那么这就有意义了。 - nenchev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接