2D手机游戏开发:OpenGL ES 2.0或cocos2d-x
2d mobile game development: OpenGL ES 2.0 or cocos2d-x?
我计划为移动设备开发一款游戏。我的目标平台是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库,尽管我从未尝试过。您也应该尝试一下,尽管它不是免费的,但 90 天评估许可证可以免费查看。
我决定使用 cocos2d-x 从头开始用 c++ 编写它。情况并没有我预期的那么糟糕。
- 构造对象 c++ (cocos2d-x) 时的区别
- OpenGL ES 2.0将纹理绘制到屏幕上是行不通的
- SDL + OpenGL ES 2.0 使用着色器显示纹理
- 为什么OpenGL ES 3.1+上GL_DEPTH_COMPONENT的glCheckFramebufferStatu
- 计算着色器Open GL ES的多个输入
- 如何避免 Cocos2d-x 3.15.1 中的 MenuItemImage 和 MenuItemSprite 之间的冲突
- Open GL ES 3.1 的计算着色器的最小工作示例
- OpenGL ES 绘制形状
- Cocos2D-X:从内存中读取 MP3 数据
- 如何使用着色器在 opengl es 中渲染四边形内部的部分纹理
- 如何在 cocos2d-x 3.17v 中创建字符串数组
- 错误:不支持 GLSL 3.30.支持的版本包括:1.10、1.20、1.30、1.00 ES、3.00 ES、3.10
- 如何使用 cocos creator 在 Cocos2d-X/Cocos2d-JS 中调用 javascript 函数并
- 音乐和音效无法在win32平台上播放?(Cocos2D-X)
- OpenGL ES:在顶点着色器中计算顶点位置时性能不佳
- C++ GLSL 着色器:"error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES,
- Cocos2d-x TiledMap,在调用 getLayer() 获取碰撞层时返回一个 nullptr?
- OpenGL (ES) 图像处理C++
- 为什么精灵在 cocos2d-x 中颤抖
- 2D手机游戏开发:OpenGL ES 2.0或cocos2d-x