适用于Android和iOS的2D跨平台游戏引擎?

ise*_*all 258 android 2d game-engine ios marmalade

我和Unity3d一起工作了一段时间,发现它是OnGUI()或GUITextures的2D部分太笨拙.此外,即使在Unity3d上完成的最小游戏也至少下载10MB,这对2D游戏来说太过分了.

所以,我目前正在寻找2D引擎.我已经尝试过Cocos2D,但它只是iOS,我不想将所有内容重写为Android的另一种语言(因此,例如,Android的Cocos2d的Java端口不是一个选项).相反,我想编写一次代码,并且最简单的麻烦在iOS,Android和Windows Phone 7上进行部署.我同时拥有Mac和Windows.

为了更详细,以下是我对引擎的要求:

  • 必须是跨平台的
  • 必须高效
  • 应该是C++,Java,C#或Objective C因为我对它们感到满意而不是 Flash,Javascript,HTML5,因为我不是Web开发人员
  • 必须有一个大型社区,教程,其他库,涵盖了你在iOS或Android上直接开发时所拥有的大部分内容(应用程序内结算,Facebook等)
  • 最终交付的包裹不能太大
  • 引擎可以免费,但我也不介意付出合理的价格

我找到了以下引擎:

  • Marmalade(和它上面的IwGame引擎) - C++,发现对Marmalade的整体非常积极的评论,但对IwGame不确定.编辑(2013年3月):看起来Marmalade SDK现在包括Cocos2Dx和一些内置的IDE,这使得它更好(并且对于indie dev而言每年花费150美元,这对我来说是好的).
  • Corona SDK - Lua(效率值得怀疑),还需要互联网连接才能编译代码
  • Cocos2d-x - C++收到了很多来自开发人员的评论,其中大多数都是积极的,许多人认为它最适合2D
  • 粒子代码 - Java + Eclipse,未找到评论或评论
  • Moai - Lua,没有找到任何评论/意见
  • 猴子引擎 - 似乎功能太少
  • Haxenme - 它是Flash,我从来没有使用它而且不想
  • 使用Unity3d,但使用像2D Toolkit这样的2D软件包
  • SDLAndroid(也在这里)和iOS的端口- 看起来没有太多支持或当前开发(?)
  • GLBasic - 基本语言,我不喜欢它
  • playN - 似乎是发展的早期(?)
  • Gamvas - HTML5,对我来说看起来不像是一个成熟的引擎
  • Ignifuga - Python,也看起来不成熟
  • ORX - 不确定它是否仍然开发(?)
  • 构造2 - 提醒GameMaker,可能适用于快速原型,但绝对不适用于行业级别的游戏
  • XNA然后使用ExEn移植游戏(将需要Mono Touch移植到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 .有没有人这样做过?我很确定会有限制,以及Google在Android上的应用内结算,AdMob和Facebook整合情况如何?
  • Moscrif - JavaScript,对于以前的网络开发人员来说更像
  • Starling - Flash 11,我对Flash并不多
  • ND2D - 还不是1.0,它有很多功能吗?

所以,如果你可以根据你对引擎的经验发表评论并建议列表中的哪一个(或者我错过的任何其他内容)最符合描述的要求,我会很高兴.我对某些引擎的第一印象也可能出错了.

我目前正在考虑将Marmalade + IwGame作为最佳选择,但由于我没有太多关于Cocos2d-x和Particle代码的信息,我对此并不十分肯定.

谢谢!

编辑(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的错误,所以我可能会看到相同的错误任何其他引擎或插件.

EDIT(2014年1月):我想在Unity 4.3中我的问题的答案现在非常明显:Unity的新精灵系统也许还有2DToolkit完全击败了其他任何东西,特别是那些曾经(像我一样)在Unity上工作过一段时间的人并购买了带附加组件的专业版.

Kam*_*mek 42

LibGDX是我用过的最好的引擎之一,适用于几乎所有平台,在我做过的大多数测试中,它的执行速度是cocos2d-x的两倍.您可以使用任何您喜欢的JVM语言.这是 Java的13部分教程,这里有一堆使用jruby.有一个很好的骨骼动画工具,用它工作在这里,并在瓷砖TMX地图支持已经出炉,以及.ui框架很棒,它有一个类似于cocos2d场景,精灵和动作的场景图和actor样式API.社区很棒,更新频繁,文档也很好.不要让java部分吓到你,它很快,你可以使用jruby或scala或任何你喜欢的东西.我强烈推荐它用于2d或3d工作,它支持两者.

  • 现在LibGDX也适用于iOS.但Monotouch许可证的成本约为400美元:) (5认同)
  • 从版本0.9.9开始,它使用免费的RoboVM for iOS (5认同)

noo*_*oob 31

Marmalade和我一起工作过,我发现它很令人满意.虽然它不是免费的,开发人员社区也不够大,但你仍然可以使用它的教程处理大部分任务.(一旦我有一些时间,我会写我的教程).
IwGame是一个很好的引擎,由Marmalade用户之一开发.它对基本游戏很有用,但如果你正在寻找一些严肃的高级游戏,你也可以使用Cocos2D-xMarmalade.我从来没有使用过Cocos2D-x,但是在Marmalade上有一个扩展Github.
关于Marmalade的另一个好处是它EDK (Extension Development Kit)可以让你扩展你需要的本机代码所需的功能,但不能用于Marmalade.我用它来开发我自己的Customized Admob扩展和Facebook扩展.

编辑:
Marmalade现在拥有自己的RAD(快速应用程序开发)工具,仅用于2D开发,命名为Marmalade Quick.虽然编码将在Lua中而不是在C++中,但由于它是在C++ Marmalade之上构建的,因此您可以轻松地包含C++库和所有其他EDK扩展.另外,Cocos-2DxBox2D扩展preincluded在快速.他们最近推出了它的发布版本(它已经测试了3-4个月).我想我们你真的只是在寻找2D开发,你应该试一试.

更新:
Unity3D最近推出了对2D游戏的支持,由于它的GUI和编辑器,它似乎比任何其他2D游戏引擎都要好.物理,精灵等支持是内置的.你可以看看它.

更新2
Marmalade即将停止使用他们的SDK,以支持他们的内部游戏制作.因此,依靠这一点并不是一个明智的决定.

  • 忘记[LibGDX] [1]当这种问题出现时是不可原谅的!;)[1]:http://libgdx.badlogicgames.com/ (2认同)

小智 12

你提到Haxe/NME,但你似乎本能地不喜欢它.但是,我对它的体验非常积极.当然,API是Flash API的重新实现,但您不仅限于定位Flash,还可以编译为HTML5或本机Windows,Mac,iOS和Android应用程序.Haxe是一种令人愉快的现代语言,类似于Java或C#.

如果您有兴趣,我会写一些关于使用Haxe/NME的经验:链接


小智 11

V-Play(v-play.net)是一款基于Qt/QML的跨平台游戏引擎,具有许多有用的V-Play QML游戏组件,用于处理多种显示分辨率和宽高比,动画,粒子,物理,多点触控,手势,寻路等等.API参考 引擎核心是用原生C++编写的,与自定义渲染器相结合,游戏在所有设备上都达到了60fps的稳定性能.

V-Play还附带了即时可用的游戏模板,适用于最成功的游戏类型,如塔防,平台游戏或益智游戏.

如果您对使用V-Play制作的游戏感到好奇,可以快速选择它们:

(免责声明:我是V-Play背后的人之一)


ise*_*all 6

以下是Richard Pickup在LinkedIn上对我的类似问题的回复:

我在iOS和Android上都使用过cocos 2dx marmalade和unity.对于2d游戏,cocos2dx是每次去的方式.对于2D游戏来说,Unity太过分了,而且已经说过,橘子酱只是一个很薄的抽象层而不是真正的游戏引擎.你甚至可以在橘子酱上运行cocos2d.我的方法是在iOS和android上使用cocos2dx然后在marmalade上运行cocosd2dx代码作为移植到bb10并赢得手机7的简单方法


小智 6

几天前我发现了一款​​漂亮又整洁的Wave游戏引擎.它使用C#并拥有Windows Phone和Windows Store转换器,这使它成为我的XNA的绝佳替代品


小智 5

我试过 AppGameKit,它既是 C++ 又是 Basic。在 Basic 变体中编写 2d 游戏非常容易,包括物理、碰撞和堆更多。它也在积极开发中,而且非常便宜(65 美元)。主要问题是它真的很难为 Android 编译(你需要下载大量文件并遵循困难的指南之类的东西)我的观点是它对于商业用途来说还不够好,但对独立程序员来说是好的它有一个中等规模的社区


Ewo*_*oks 5

那么BadLogicGames的LibGDX呢?


bal*_*nyi 5

看看Loom(http://theengine.co)是一款新的跨平台2D游戏引擎,其中包含设备上的热插拔代码和资产。这意味着您可以在Photoshop上处理资产,可以更新代码,修改应用程序/游戏的UI,然后在应用程序运行时查看设备上的更改。

考虑到我听说过的甚至玩过的其他跨平台游戏引擎,Loom游戏引擎是迄今为止我认为最好的,具有许多出色的功能。大多数其他类似的游戏引擎(Corona SDK,MOAI SDK,Gideros Mobile)都是基于Lua的(至少对于我来说具有奇怪的语法)。Loom游戏引擎使用LoomScripts(一种受ActionScript 3启发的脚本语言),并借鉴了C#的一些功能。如果您曾经使用ActionScript 3,C#或Java开发过,那么LoomScript会让您看起来很熟悉(相对于Lua的语法,我对这种语法更满意)。

Loom Game Engine的1年许可费用为500美元,我认为对于任何独立游戏开发商而言,这都是负担得起的价格。几周前,该公司还免费提供了1年许可。许可证过期后,您仍然可以使用Loom来创建和部署自己的游戏,但不会获得任何进一步的更新。Loom的创建者非常有信心,他们承诺会不断改善自己的婴儿,使其值得再购买一次。

事不宜迟,以下是Loom的主要功能:

  1. 跨平台(iOS,Android,OS X,Windows,Linux / Ubuntu)

  2. 受Rails启发的工作流,您可以花时间在游戏上(一个命令可以创建一个新项目,另一个命令可以运行它)

  3. 快速编译器

  4. 实时代码和资产编辑

  5. 集成第三方库的可能性

  6. 使用Cocos2DX进行渲染

  7. XML,JSON支持

  8. LML(标记语言)和CSS,用于设置UI元素的样式

  9. UI库

  10. 依赖注入

  11. 单元测试框架

  12. 花栗鼠物理学

  13. 实时查看您的更改使多设备开发变得容易

  14. 下载量小

  15. 专为团队打造

您可以在此处找到有关Loom的更多视频:http : //www.youtube.com/user/LoomEngine? feature=watch

也可以查看这4部分的深入教程:http : //www.gamefromscratch.com/post/2013/02/28/A-closer-look-at-the-Loom-game-engine-Part-one-getting -started.aspx