我用Unity3d工作过一段时间,发现它的2D部分OnGUI()或GUITextures太笨拙了。此外,即使是在Unity3d上完成的一款最小的游戏也至少需要10MB的下载,这对于2D游戏来说实在是太多了。
所以,我目前正在寻找一个2D引擎。我尝试过Cocos2D,但它只适用于iOS,我不想将所有内容重写为Android的另一种语言(游戏邦注:例如,将Cocos2D移植到Android并不是一种选择)。相反,我希望只编写一次代码,并尽可能地将其部署到iOS、Android和Windows Phone 7上。我有Mac电脑和Windows电脑。
更详细地说,以下是我对引擎的要求:
- 必须是跨平台的
- 必须高效
- 应该是c++, Java, c#或Objective C,因为我很熟悉它们和不 Flash, Javascript, HTML5,因为我不是一个web开发人员
- 你必须拥有一个庞大的社区,教程和额外的库,这些都能够覆盖你在iOS或Android平台上所拥有的大部分内容(游戏邦注:如应用内置付费功能,facebook等)。
- 最后送出的包裹不能太大
- 引擎可以是免费的,但我也不介意付个合理的价钱
我发现了以下引擎:
- 果酱(和IwGame引擎在上面)- c++,发现总体上非常积极的评价Marmalade,但不确定IwGame。编辑(2013年3月):看起来Marmalade SDK现在包括Cocos2Dx和一些内置的IDE,这使它变得更好(独立开发每年花费150美元,这对我来说是可以的)。
- 电晕SDK - Lua(效率怀疑),也需要互联网连接来编译代码
- Cocos2d-x - c++,收到了很多开发者的评论,大部分是积极的,许多人认为它最适合2D
- 粒子的代码 - Java+Eclipse,发现没有评论或评论
- 摩埃 - Lua,找不到任何关于它的评论/意见
- 猴子引擎 -似乎有太少的功能
- Haxenme -这是Flash,我从来没有用过,也不想用
- 使用Unity3d,但使用2D包,如2D Toolkit
- SDL到安卓(也是在这里)和iOS的端口-看起来没有太多的支持或当前的开发(?)
- GLBasic -基本语言,我不喜欢它
- playN -似乎是早期开发(?)
- Gamvas - HTML5,对我来说不像一个成熟的引擎
- Ignifuga - Python,看起来也不成熟
- ORX -不确定它是否仍然被开发(?)
- 构建2 -提醒GameMaker,可能适用于快速原型,但绝对不适用于行业级别的游戏
- XNA,然后使用ExEn移植游戏(需要Mono触摸移植到iOS, Mono for Android移植到Android) - c#,可能更适合来自微软产品(如xBox)的人(我来自Android)。此外,对于小型开发人员来说,这些Mono工具总共要花费800美元
- 影响 - JavaScript,使用HTML5。我不太喜欢JavaScript(例如Unity3d上更喜欢c#),也不确定效率,因为它在浏览器中运行(?)
- GameMaker -自己的脚本语言GML,我实际上记得这是一个非程序员的工具。它真的成长为一个真正的引擎了吗?
- AppGameKit - c++,但似乎仍然是相当新的。我没有找到任何关于它的评论
- 使用是Cocos2D和Objective C只为iOS开发,然后使用Stella SDK为Android制作APK。有人这样做过吗?我敢肯定会有限制,谷歌的应用内计费、AdMob和Facebook在Android上的整合如何?
- Moscrif - JavaScript,看起来更适合以前的web开发人员
- 燕八哥 - Flash 11,我不太喜欢Flash
- ND2D -还不是1.0,它有很多功能吗?
因此,如果您能根据您使用引擎的经验给出评论,并建议列表中的哪个引擎(或我错过的任何其他引擎)最适合描述的需求,我将非常高兴。我对某些引擎的第一印象也可能是错误的。
我目前认为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的体验和可重复使用的代码片段。此外,我还购买了Unity3D pro (Android pro和iOS pro)来玩3D游戏,所以再多花60美元购买2D Toolkit也可以玩2D游戏。到目前为止,我并不后悔我的决定,这似乎是最适合我的情况。唯一让我头疼的是在Prime31的插件中添加社交功能(Android &iOS社交插件),但我认为他们的bug不是Prime31的错,而是Twitter/Facebook的错,所以我可能会在其他引擎或插件上看到同样的bug。
编辑(2014年1月):我想在Unity 4.3中,我的问题的答案现在是相当明显的:Unity的新精灵系统和2DToolkit完全击败了其他任何东西,特别是对于那些(像我一样)已经使用Unity一段时间并购买了带有附加组件的Pro版本的人来说。