android - 在手机上构建游戏。原生还是引擎?

标签 android iphone opengl-es unity3d

我想开始参与手机游戏编程。 我在 Android 开发和 iPhone 开发方面已经有了一些经验。

之前,我已经使用 XNA 构建了一个概念验证 2D JRPG 游戏和一个 3D FPS 引擎,并且我对游戏编程概念有很好的了解。

我不知道是开始研究 Android 上的 OpenGL 还是应该直接使用游戏引擎的快捷方式,例如 Unity3D .

根据我的经验,将时间花在 Android/iPhone 上的原生图形编程上会更有效率吗?我不仅在寻找“快速”的发展,我也在寻找高效的结果。 另外,opengl-es 从一个平台到另一个平台的可移植性如何?

最佳答案

游戏引擎不仅仅涉及图形:音频、资源管理、网络、脚本等。为了实现跨平台,所有这些子系统都必须针对每个平台本地实现。这意味着拥有非常好的设计和架构,当然还有大量的代码。遗憾的是,出于效率和可移植性考虑,您应该使用 C/C++。尽管现在可以使用 C# 等高级语言开发此类引擎,但您仅限于其平台支持。

此外,您还需要考虑游戏代码。

我不会担心引擎速度的想法。编写引擎的人知道他们在做什么,除非您花大量时间优化事情,否则您不会获得显着的改进。

因此,如果没有引擎解决所有相关问题,编写可移植游戏需要大量工作。

OpenGL-ES 是一个标准。与所有标准一样,每个平台总会有一些小的调整,但没有什么真正令人不安的。

恢复,正确答案取决于你。计算机科学中的一切都是一种权衡,您只知道所涉及的值(value)。

希望对您有所帮助。

关于android - 在手机上构建游戏。原生还是引擎?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10206019/

相关文章:

android - 使用 putExtra 创建 Intent

iphone - 模拟器与 IOS 设备性能

iphone - 如何在当前类中实现另一个类的init?

android - OpenGL ES Android 矩阵转换

opengl - 如何仅在特定矩形区域内更改纹理中的纹素?

android - 将数据库从服务器复制到 Android

android - 在android studio中关闭模块

iphone - 发送 qLaunchSuccess 数据包失败

iphone - 如何在 iPhone 上激活 OpenGL ES 中的多重采样?

android - 在 Android 的 TestCase 中启动服务