【发布时间】:2012-05-18 22:32:52
【问题描述】:
我计划开发一款手机游戏。我的目标平台是 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 方面苦苦挣扎?
【问题讨论】:
-
我目前正在学习 OpenGL,同时我也在从事游戏编程,我可以告诉你,编写自己的游戏引擎是一项艰巨的工作!我将完全依赖其他人在这里经过测试和优化的工作!如果你想更深入地研究游戏编程,你可以看看 UDK,它可以为所有主要的移动操作系统编译二进制文件,而无需额外的“成本”
-
@Till,哇,我不确定它是怎么从我身边溜走的。谢谢,我会检查一下。感谢您对吉他流的洞察力。
-
我同意@Creator;从头开始开发引擎是一项艰巨的任务。使用引擎可以让您将精力集中在游戏本身上,而不是框架上。 Cocos2D 备受推崇,是您所描述情况的最佳选择。然而,我建议用 C++ 而不是 Java 编写它,然后你可以移植而不是在平台之间重写。
标签: java android c++ ios opengl-es