我用 Unity3d 工作了一段时间,发现它的 2D 部分与 OnGUI() 或 GUITextures 太笨拙了。此外,即使是在 Unity3d 上完成的最小游戏也至少需要 10MB 的下载量,这对于 2D 游戏来说实在是太大了。
所以,我目前正在寻找 2D 引擎。我已经尝试过 Cocos2D,但它只是 iOS,我不想将所有内容都重写为 Android 的另一种语言(因此,不能选择用于 Android 的 Cocos2d 的 Java 端口)。相反,我想编写一次代码,并在 iOS、Android 和可能的 Windows Phone 7 上轻松部署它。我有 Mac 和 Windows。
为了更详细,以下是我对引擎的要求:
我找到了以下引擎:
因此,如果您能根据您使用引擎的经验发表评论并建议列表中的哪一个(或我遗漏的任何其他内容)最适合所描述的要求,我会很高兴。我对某些引擎的第一印象也可能是错误的。
我目前认为 Marmalade+IwGame 是最好的选择,但由于我没有太多关于 Cocos2d-x 和粒子代码的信息,所以我不太确定。
谢谢!
编辑(2013 年 6 月) : 到目前为止,我制作了 2 个跨平台的 2D 游戏,并使用了 Unity3D 和 2D Toolkit 插件。对于GUI简单的游戏,我使用了一个基于Unity自己的简单的自制GUI系统。对于更复杂的一个(例如 GUI 元素可以重叠的地方),我使用了 NGUI 插件。最近 2D Toolkit 为 GUI 添加了更多类,这非常方便,因为在将 NGUI 与 2D Toolkit 结合时,必须使用 2 个不同的系统来制作纹理图集。我肯定会在下一个 2D 游戏中尝试那个。为 2D 游戏选择 Unity3D 的主要原因是我已经深入 Unity3D,无论是经验还是积累的代码片段以供重用。此外,我为 3D 游戏购买了 Unity3D pro(带有 Android Pro 和 iOS Pro),只需额外支付 60 美元购买 2D 工具包即可获得 2D 游戏。我到目前为止还没有 不后悔我的决定,这似乎对我来说是最佳选择。唯一让我头疼的是使用 Prime31 的插件(Android 和 iOS 社交插件)添加社交功能,但我认为它们的错误不是 Prime31 的错,而是 Twitter/Facebook 的错,所以我可能会看到相同的错误任何其他引擎或插件。
编辑(2014 年 1 月) :我想 Unity 4.3 对我的问题的答案现在非常明显:Unity 的新精灵系统,也许还有 2DToolkit 完全击败了其他任何东西,特别是对于那些(像我一样)在 Unity 上待过一段时间的人并购买了带有附加组件的 Pro 版本。
我合作过Marmalade,我觉得很满意。虽然它不是免费的,而且开发者社区也不够大,但你仍然可以使用它的教程来处理大部分任务。(一旦有时间,我也会写我的教程)。 IwGame是一个很好的引擎,由一位 Marmalade 用户开发。这对于基本游戏来说是很好的,但如果您正在寻找一些严肃的高级游戏内容,您也可以Cocos2D-x与 Marmalade 一起使用。我从来没有使用过 Cocos2D-x,但是 Marmalade 的Github. Marmalade 的另一个好处是它EDK (Extension Development Kit),它可以让您扩展您需要的任何功能,这些功能在本机代码中可用,但在 Marmalade 中不可用。一世’
Marmalade
IwGame
Cocos2D-x
Github
EDK (Extension Development Kit)
编辑 : Marmalade 现在拥有自己的 RAD(快速应用程序开发)工具,仅用于 2D 开发,命名为Marmalade Quick. 虽然编码将在 Lua 中而不是在 C 中,但由于它构建在 C Marmalade 之上,因此您可以轻松地包含 C++ 库和所有其他 EDK 扩展。Cocos-2Dx和扩展也Box2D预先包含在快速中。他们最近推出了它的发布版本(它是 3-4 个月的测试版)。我认为我们您真的只在寻找 2D 开发,您应该尝试一下。
Marmalade Quick
Cocos-2Dx
Box2D
更新: Unity3D 最近推出了对 2D 游戏的支持,由于它的 GUI 和编辑器,这似乎比任何其他 2D 游戏引擎都要好。内置物理、精灵等支持。你可以看看它。
更新 2 Marmalade 将很快停止他们的 SDK 以支持他们的内部游戏制作。因此,依赖它不是一个明智的决定。