在移动设备上开发游戏,应该使用原生开发还是引擎?

5
我希望开始涉足移动游戏编程。 我已经有一些Android和iPhone开发的经验。
之前,我使用XNA构建了一个2D JRPG游戏和一个3D FPS引擎,对游戏编程概念有很好的理解。
我不确定是否应该在Android上研究OpenGL,还是直接进入游戏引擎,例如Unity3D
根据我的经验,将时间投入到Android/iPhone的本地图形编程中是否更有效?我不仅寻求“快速”开发,也希望结果高效。 此外,opengl-es在不同平台之间的可移植性如何?

1
我认为选择Unity3D会让你受益匪浅,因为它将使你更容易将游戏发布到Android和IOS。你有使用XNA的经验,它与Unity一样使用C#,因此学习曲线会更快。除非你计划制作对智能手机资源使用较多的游戏,否则你可能可以用Unity实现任何想要的功能。但这只是一个观点,我的观点,不是答案。 - Roberto
1个回答

1
一个游戏引擎不仅涉及到图形方面,还包括音频、资源管理、网络、脚本等。为了实现跨平台,所有这些子系统都必须在每个平台上本地实现。这意味着需要非常好的设计和架构,当然也需要大量的代码。不幸的是,出于效率和可移植性的考虑,您应该使用C/C++。虽然现在可以使用更高级别的语言(如C#)开发这样的引擎,但您受限于其平台支持。
此外,您还需要考虑游戏玩法代码。
我不会担心引擎的速度。编写引擎的人知道他们在做什么,除非您花费大量时间优化事物,否则不会有显着的改进。
因此,编写可移植的游戏需要大量的工作,而没有引擎来解决涉及的所有问题。
OpenGL-ES是一种标准。与所有标准一样,每个平台都有一些微小的调整,但没有真正令人不安的东西。
总之,正确的答案取决于您。计算机科学中的一切都是权衡,只有您知道所涉及的价值。
希望对您有所帮助。

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