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

时间:2021-07-03 12:09:52

I've worked for some time with Unity3d and found it's 2D part with OnGUI() or GUITextures too clumsy. Also, even a smallest game done on Unity3d is at least 10MB download which is just too much for a 2D game.

我在Unity3d软件上工作了一段时间,发现它是OnGUI()或过于笨拙的吉他外接的2D部分。而且,即使是在Unity3d上完成的最小的游戏也至少需要10MB的下载,这对于2D游戏来说也太多了。

So, I'm currently looking for an engine for 2D. I've tried Cocos2D but it's iOS only and I wouldn't like to rewrite everything into another language for Android (so, e.g. Java port of Cocos2d for Android is not an option). Instead, I want to write the code once and with least hassle deploy it on iOS, Android and possibly Windows Phone 7. I have both Mac and Windows.

我目前正在寻找一个2D引擎。我尝试过Cocos2D,但它只是iOS的,我不喜欢把一切都重写为Android的另一种语言(例如,Android的Cocos2D的Java端口不是一个选项)。相反,我希望只写一次代码,并且尽可能不麻烦地将其部署到iOS、Android和Windows Phone 7上。我有Mac和Windows。

Just to be more detailed, here are my requirements to the engine:

更详细地说,以下是我对发动机的要求:

  • must be cross-platform
  • 必须是跨平台的
  • must be efficient
  • 必须是有效的
  • should be C++, Java, C# or Objective C since I'm comfortable with them and NOT Flash, Javascript, HTML5 since I am not a web developer
  • 应该是c++、Java、c#或Objective C,因为我对它们很熟悉,而不是Flash、Javascript、HTML5,因为我不是web开发人员
  • must have a large community, tutorials, additional libraries which cover most of the stuff you'd have when developing on iOS or Android directly (in-app billing, facebook etc.)
  • 必须有一个大的社区、教程、额外的库,这些库可以直接在iOS或Android上开发(应用内计费、facebook等)。
  • the final delivered package must be not too large
  • 最终交付的包裹不能太大
  • the engine can be free, but I also wouldn't mind paying a reasonable price
  • 发动机可以是免费的,但我也不介意支付一个合理的价格

I've found the following engines:

我发现了以下引擎:

  • Marmalade (and IwGame engine on top of it) - C++, found overall very positive reviews of Marmalade but not sure about IwGame. EDIT (March 2013): Looks like Marmalade SDK now includes Cocos2Dx and some in-built IDE which makes it much better (and costs $150 per year for indie dev which is ok with me).
  • Marmalade(以及上面的IwGame引擎)——c++,发现了对Marmalade的全面的正面评价,但对IwGame并不确定。编辑(2013年3月):看起来Marmalade SDK现在包括Cocos2Dx和一些内置的IDE,这使它变得更好(独立开发每年花费150美元,我觉得没问题)。
  • Corona SDK - Lua (efficiency doubtful), also needs internet connection to compile code
  • Corona SDK - Lua(效率可疑),也需要internet连接来编译代码
  • Cocos2d-x - C++, received lots of reviews from developers, mostly positive and many think it's best for 2D
  • Cocos2d-x - c++得到了开发人员的大量评论,大多数都是正面的,很多人认为它是2D的最佳选择
  • Particle code - Java+Eclipse, found no reviews or comments
  • 粒子代码- Java+Eclipse,没有发现任何评论或注释
  • Moai - Lua, coudn't find any reviews/opinions on it
  • Moai - Lua,我找不到任何评论/意见
  • Monkey engine - seems to have too few features
  • 猴子引擎-似乎有太少的功能。
  • Haxenme - it's Flash, I've never used it and don't want to
  • Haxenme——它是Flash,我从未用过,也不想用
  • use Unity3d but with 2D packages like 2D Toolkit
  • 使用Unity3d,但使用2D工具包等2D包
  • ports of SDL to Android (also here) and iOS - doesn't look to have much support or current development (?)
  • SDL到Android(也在这里)和iOS的端口似乎没有太多的支持或当前的开发(?)
  • GLBasic - Basic language, I don't like it
  • 基础语言,我不喜欢
  • playN - seems to be early in development (?)
  • playN -似乎在开发的早期(?)
  • Gamvas - HTML5, doesn't look like a mature engine to me
  • HTML5,在我看来不像一个成熟的引擎
  • Ignifuga - Python, also doesn't look mature
  • Python,看起来也不成熟
  • ORX - not sure if it's still developed (?)
  • ORX -不确定它是否还在开发(?)
  • Construct 2 - reminds GameMaker, might be ok for rapid prototypes but definitely not for industry-level games
  • 构造2——提醒GameMaker,可能适合快速原型,但绝对不适合工业级游戏
  • XNA and then port the game using ExEn (would need Mono Touch to port to iOS and Mono for Android to port to Android) - C#, and is probably more thought for folks coming from Microsoft products like xBox (I come from Android). Also, those Mono tools cost $800 in total for small developers
  • XNA,然后使用ExEn(需要Mono Touch来连接到iOS和Mono,以支持Android到Android)——c#,可能更多的是来自微软产品的人,比如xBox(我来自Android)。此外,对于小型开发人员来说,这些Mono工具总共花费800美元。
  • Impact - JavaScript, uses HTML5. I'm not much into JavaScript (e.g. preferred C# on Unity3d), also not sure about efficiency since it runs in the browser (?)
  • 影响- JavaScript,使用HTML5。我不太喜欢JavaScript(比如Unity3d中的c#),也不太确定它的效率,因为它在浏览器中运行(?)
  • GameMaker - own scripting language GML and I actually remember this one as a tool for non-programmers. Has it actually grown into a real engine, I mean for serious development?
  • GameMaker -自己的脚本语言GML,我实际上记得这是一个非程序员的工具。它真的成长为真正的引擎了吗?
  • AppGameKit - C++, yet seems to be still pretty new. Haven't found any reviews on it
  • AppGameKit - c++,但似乎仍然是相当新的。还没有找到任何评论
  • use Cocos2D and Objective C to develop for iOS only and then make an APK for Android out of it using Stella SDK. Has anyone done this? I'm pretty sure there will be limitations, and how about Google's in-app billing, AdMob and Facebook integration on Android?
  • 使用Cocos2D和Objective C为iOS开发,然后使用Stella SDK为Android开发APK。有人做过吗?我很确定会有限制,谷歌的in-app账单、AdMob和Facebook的Android集成会怎么样?
  • Moscrif - JavaScript, looks like it's more for former web-developers
  • JavaScript,看起来更适合以前的web开发人员
  • Starling - Flash 11, i'm not much into Flash
  • Starling - Flash 11,我对Flash不是很感兴趣
  • ND2D - not yet 1.0, does it have many features?
  • ND2D -还没有1.0,它有很多功能吗?

So, I'd be happy if you could comment from your experiences with the engines and suggest which one in the list (or anything else that I've missed) is the best for the described requirements. I also may be wrong with my first impressions about some of the engines.

所以,如果你能从你的经验中对引擎进行评论,并建议列表中的哪一个(或者我漏掉的任何东西)是最适合描述的需求,我会很高兴。我对一些引擎的第一印象也可能是错误的。

I'm currently thinking of Marmalade+IwGame as the best option but since I don't have much info about Cocos2d-x and Particle code, I am not really sure about it.

我目前认为Marmalade+IwGame是最好的选择,但是由于我没有太多关于Cocos2d-x和粒子代码的信息,所以我不是很确定。

Thank you!

谢谢你!

EDIT (June 2013): So far I made 2 cross-platform 2D games and used Unity3D with 2D Toolkit plugin for both. For the game with simple GUI I used a simple self-made GUI system based on Unity's own. For more complex one (e.g. where GUI elements can overlap) I used the NGUI plugin. Recently 2D Toolkit added some more classes for GUI which is very handy since one had to use 2 different systems for texture atlases when combining NGUI with 2D Toolkit. I'll definitely try that one in the next 2D game. The main reason for choosing Unity3D for 2D games was that I already was deep into Unity3D both in terms of experience and accumulated code snippets for re-use. Also, I purchased Unity3D pro (with Android Pro and iOS Pro) for 3D games and it made full sense to just pay additional $60 for the 2D Toolkit to get 2D games also covered. I so far don't regret my decision, it seems to have been optimal for my case. The only thing which gave me headache was adding social features with the Prime31's plugins (Android & iOS social plugins) but I assume that their bugs are not the fault of Prime31 but of Twitter/Facebook instead, so I probably would see the same bugs on any other engine or plugin.

编辑(2013年6月):到目前为止,我制作了2款跨平台的2D游戏,并使用了Unity3D和2D工具包插件。对于使用简单GUI的游戏,我使用了一个基于Unity自身的简单的自制GUI系统。对于更复杂的一个(例如,GUI元素可以重叠的地方),我使用了NGUI插件。最近,2D Toolkit增加了一些GUI类,这非常方便,因为当将NGUI与2D工具包结合时,必须使用两个不同的系统来处理纹理地图集。我肯定会在下一个2D游戏中尝试这个。选择Unity3D用于2D游戏的主要原因是我已经深入到Unity3D中去了,无论是在经验上,还是在积累代码片段以供重用。此外,我还为3D游戏购买了Unity3D pro(包括Android pro和iOS pro),如果再花60美元购买2D工具包,2D游戏也可以买到。到目前为止我不后悔我的决定,它似乎是最适合我的情况。唯一让我头疼的是给Prime31的插件添加了一些社交功能(Android和iOS的社交插件),但是我认为他们的漏洞不是Prime31的错,而是Twitter和Facebook的错,所以我可能会在其他的引擎或插件上看到同样的错误。

EDIT (Jan 2014): I guess with Unity 4.3 the answer to my question is pretty obvious now: the Unity's new sprites system and maybe also 2DToolkit totally beat anything else, especially for people who have (like me) been on Unity for a while and purchased the Pro version with add-ons.

编辑(2014年1月):我想我的问题的答案现在已经很明显了:Unity的新精灵系统,也许还有2DToolkit完全打败了其他的东西,特别是对于那些(像我一样)已经在Unity上工作了一段时间的人,并且用附加组件购买了Pro版本。

11 个解决方案

#1


29  

I've worked with Marmalade and I found it satisfying. Although it's not free and the developer community is also not large enough, but still you can handle most of the task using it's tutorials. (I'll write my tutorials once I got some times too).
IwGame is a good engine, developed by one of the Marmalade user. It's good for a basic game, but if you are looking for some serious advanced gaming stuff, you can also use Cocos2D-x with Marmalade. I've never used Cocos2D-x, but there's an Extension on Marmalade's Github.
Another good thing about Marmalade is it's EDK (Extension Development Kit), which lets you make an extension for whatever functionality you need which is available in native code, but not in Marmalade. I've used it to develop my own Customized Admob extension and a Facebook extension too.

我和Marmalade合作过,我觉得很满意。虽然它不是免费的,开发人员社区也不够大,但是您仍然可以使用它的教程来处理大部分任务。(我也会写一些教程)IwGame是一个很好的引擎,由Marmalade用户开发。这对于一个基本的游戏来说是很好的,但是如果你正在寻找一些高级的游戏,你也可以使用Cocos2D-x和果酱。我从来没有使用过Cocos2D-x,但是在Marmalade的Github上有一个扩展。Marmalade的另一个好处是它是EDK(扩展开发工具包),它允许您为任何需要的功能进行扩展,这些功能可以在本地代码中获得,但不能在Marmalade中获得。我用它开发了我自己定制的Admob扩展和Facebook扩展。

Edit:
Marmalade now has it's own RAD(Rapid Application Development) tool just for 2D development, named as Marmalade Quick. Although the coding will be in Lua not in C++, but since it's built on top of C++ Marmalade, you can easily include a C++ library, and all other EDK extensions. Also the Cocos-2Dx and Box2D extensions are preincluded in the Quick. They recently launched it's Release version (It was in beta for 3-4 months). I think we you're really looking for only 2D development, you should give it a try.

编辑:Marmalade现在有了自己的RAD(快速应用程序开发)工具,用于2D开发,命名为Marmalade Quick。虽然代码将在Lua中,而不是在c++中,但是由于它构建在c++ Marmalade之上,您可以轻松地包括一个c++库和所有其他EDK扩展。此外,Quick还预装了cocoa - 2dx和Box2D扩展。他们最近发布了它的版本(3-4个月测试版)。我认为我们你只是在寻找2D开发,你应该尝试一下。

Update:
Unity3D recently launched support for 2D games, which seems better than any other 2D game engine, due to it's GUI and Editor. Physics, sprite etc support is inbuilt. You can have a look on it.

更新:Unity3D最近推出了对2D游戏的支持,这似乎比任何其他2D游戏引擎都要好,因为它有GUI和编辑器。内置物理、雪碧等支持。你可以看一下。

Update 2
Marmalade is going to discontinue their SDK in favor of their in-house game production soon. So it won't be a wise decision to rely on that.

更新2 Marmalade将很快停止他们的SDK,转而支持他们的内部游戏产品。因此,依靠这一点并不是一个明智的决定。

#2


39  

LibGDX is one of the best engines I've ever used, works on almost all platforms, and performs twice as fast as cocos2d-x in most tests I've done. You can use any JVM language you like. Here's a 13 part tutorial in Java, and here's a bunch using jruby. There's a good skeletal animation tool that works with it here, and it has baked in support for tiled TMX maps as well. The ui framework is awesome, and it has a scene graph and actor style API similar to cocos2d scenes, sprites and actions. The community is awesome, updates are frequent, and the documentation is good. Don't let the java part scare you, it's fast, and you can use jruby or scala or whatever you like. I highly recommend it for 2d or 3d work, it supports both.

LibGDX是我使用过的最好的引擎之一,几乎在所有平台上都可以使用,在我所做的大多数测试中,它的性能是cocos2d-x的两倍。您可以使用任何您喜欢的JVM语言。这里有一个Java的13部分教程,这里有一堆使用jruby的教程。这里有一个很好的框架动画工具,可以使用它,它还支持tiled TMX地图。ui框架非常棒,它有一个场景图和演员风格的API,类似于cocos2d场景、精灵和动作。社区很棒,更新频繁,文档也很好。不要让java部分吓到你,它很快,你可以使用jruby或scala或任何你喜欢的东西。我强烈推荐它用于2d或3d工作,它同时支持这两种功能。

#3


12  

You mention Haxe/NME but you seem to instinctively dislike it. However, my experience with it has been very positive. Sure, the API is a reimplementation of the Flash API, but you're not limited to targeting Flash, you can also compile to HTML5 or native Windows, Mac, iOS and Android apps. Haxe is a pleasant, modern language similar to Java or C#.

你提到Haxe/NME,但你似乎本能地不喜欢它。然而,我的经验是非常积极的。当然,这个API是Flash API的重新实现,但是您不仅可以针对Flash,还可以编译成HTML5或本地Windows、Mac、iOS和Android应用程序。Haxe是一种令人愉快的现代语言,类似于Java或c#。

If you're interested, I've written a bit about my experience using Haxe/NME: link

如果你有兴趣的话,我已经写了一些关于我使用Haxe/NME: link的经验

#4


12  

V-Play (v-play.net) is a cross-platform game engine based on Qt/QML with many useful V-Play QML game components for handling multiple display resolutions & aspect ratios, animations, particles, physics, multi-touch, gestures, path finding and more. API reference The engine core is written in native C++, combined with the custom renderer, the games reach a solid performance of 60fps across all devices.

V-Play (v-play.net)是基于Qt/QML的一个跨平台的游戏引擎,有许多有用的V-Play QML游戏组件,用于处理多个显示分辨率和纵横比、动画、粒子、物理、多点触控、手势、路径查找等。API参考引擎核心是用本地c++编写的,结合自定义渲染器,游戏在所有设备上达到了60fps的稳定性能。

V-Play also comes with ready-to-use game templates for the most successful game genres like tower defense, platform games or puzzle games.

V-Play也为最成功的游戏类型提供现成的游戏模板,如塔防游戏、平台游戏或益智游戏。

If you are curious about games made with V-Play, here is a quick selection of them:

如果你对V-Play制作的游戏感兴趣,这里有一些简单的选择:

  • Squaby: a tower defense game
  • 争吵:塔防游戏。
  • Chicken Outbreak: a platformer like Doodle Jump
  • 鸡爆发:一种像涂鸦跳的平台。
  • Blockoban: puzzle game
  • Blockoban:拼图游戏
  • Crazy Elephant: a game similar to Angry Birds
  • 疯狂大象:类似于愤怒的小鸟的游戏
  • Snowball Mania: multiplayer action game
  • 雪球*:多人游戏
  • Blitzkopf: brain game
  • Blitzkopf:脑游戏

(Disclaimer: I'm one of the guys behind V-Play)

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

#5


6  

Here is just a reply from Richard Pickup on LinkedIn to a similar question of mine:

以下是领英(LinkedIn)上理查德•皮卡普(Richard皮卡普)对我的一个类似问题的回复:

I've used cocos 2dx marmalade and unity on both iOS and android. For 2d games cocos2dx is the way to go every time. Unity is just too much overkill for 2d games and as already stated marmalade is just a thin abstraction layer not really a game engine. You can even run cocos2d on top of marmalade. My approach would be to use cocos2dx on iOS and android then in future run cocosd2dx code on top of marmalade as an easy way to port to bb10 and win phone 7

我在iOS和android上都使用了cocos 2dx marmalade和unity。对于2d游戏来说cocos2dx是每次的方法。对于2d游戏来说,Unity实在是太多了,正如我们已经说过的,marmalade只是一个很薄的抽象层,并不是真正的游戏引擎。你甚至可以在果酱上运行cocos2d。我的方法是在iOS和android上使用cocos2dx,然后在marmalade上运行cocosd2dx代码,这是一种简单的方法,可以移植到bb10并赢得phone 7

#6


6  

I find a nice and tidy Wave game engine few days ago. It uses C# and have Windows Phone and Windows Store converters as well which makes it a great replacement of XNA for me

几天前我找到了一个漂亮整洁的Wave游戏引擎。它使用c#,并且有Windows Phone和Windows Store转换器,这使它成为XNA的一个很好的替代品

#7


4  

I've tried AppGameKit, It's both c++ and Basic. It's very easy to code 2d games in the Basic varient, with physics, collision and heaps more. It's also in active development, and really cheap (65$). The main problem is that it's really hard to compile for Android (you need to download heaps of files and follow difficult guides and things like that) My opinion is that it isn't yet good enough for commercial use, but is good for indie programmers It's got a medium size community

我试过AppGameKit,它是c++和Basic。它很容易编码二维游戏的基本变化,与物理,碰撞和堆更多。它也在积极开发中,而且非常便宜(65美元)。主要问题是真的很难编译为Android(你需要下载大量的文件和跟踪困难指南之类的)我的看法是它还不足够用于商业用途,但有利于独立程序员有一个中等大小的社区

#8


4  

and what about LibGDX from BadLogicGames?

那么BadLogicGames中的LibGDX呢?

#9


4  

Check out Loom (http://theengine.co) is a new cross platform 2D game engine featuring hot swapping code & assets on devices. This means that you can work in Photoshop on your assets, you can update your code, modify the UI of your app/game and then see the changes on your device(s) while the app is running.

查看织机(http://theengine.co)是一个新的跨平台2D游戏引擎,在设备上提供热交换代码和资产。这意味着你可以在你的资产上使用Photoshop,你可以更新你的代码,修改你的应用程序/游戏的UI,然后在应用程序运行时看到你的设备上的变化。

Thinking to the other cross platform game engines I’ve heard of or even played with, the Loom Game Engine is by far the best in my oppinion with lots of great features. Most of the other similar game engines (Corona SDK, MOAI SDK, Gideros Mobile) are Lua based (with an odd syntax, at least for me). The Loom Game Engine uses LoomScripts, a scripting language inspired from ActionScript 3, with a couple of features borrowed from C#. If you ever developed in ActionScript 3, C# or Java, LoomScript will look familiar to you (and I’m more comfortable with this syntax than with Lua’s syntax).

考虑到我听说过的其他跨平台游戏引擎,甚至玩过,到目前为止,织机游戏引擎在我的oppinion中是最好的,有很多很棒的特性。其他大多数类似的游戏引擎(Corona SDK、MOAI SDK、Gideros Mobile)都是基于Lua的(至少对我来说是如此)。织机游戏引擎使用了LoomScripts,这是一种从ActionScript 3中获得的脚本语言,有几个从c#中借用的功能。如果您曾经在ActionScript 3、c#或Java中开发过,那么LoomScript对您来说应该很熟悉(与Lua的语法相比,我更熟悉这种语法)。

The 1 year license for the Loom Game Engine costs $500, and I think it’s an affordable price for any indie game developer. Couple of weeks ago the offered a 1 year license for free too. After the license expires, you can still use Loom to create and deploy your own games, but you won’t get any further updates. The creators of Loom are very confident and they promised to constantly improve their baby making it worthwile to purchase another license.

织机游戏引擎的一年授权费是500美元,我认为对于任何独立游戏开发者来说,这都是一个可以负担得起的价格。几周前,他们还免费提供了一年的许可证。许可证过期后,您仍然可以使用织布机创建和部署您自己的游戏,但您不会得到任何进一步的更新。织布机的设计者们非常自信,他们承诺将不断改进他们的婴儿,使购买另一种许可证成为值得的。

Without further ado, here are Loom’s great features:

不用多说了,下面是织机的主要特点:

  1. Cross platform (iOS, Android, OS X, Windows, Linux/Ubuntu)

    跨平台(iOS、Android、OS X、Windows、Linux/Ubuntu)

  2. Rails-inspired workflow lets you spend your time working with your game (one command to create a new project, and another command to run it)

    受rails启发的工作流允许您花时间处理您的游戏(一个命令创建一个新项目,另一个命令运行它)

  3. Fast compiler

    快速编译器

  4. Live code and assets editing

    实时代码和资产编辑

  5. Possibility to integrate third party libraries

    整合第三方图书馆的可能性

  6. Uses Cocos2DX for rendering

    使用Cocos2DX呈现

  7. XML, JSON support

    XML、JSON支持

  8. LML (markup language) and CSS for styling UI elements

    用于样式化UI元素的LML(标记语言)和CSS。

  9. UI library

    UI库

  10. Dependency injection

    依赖注入

  11. Unit test framework

    单元测试框架

  12. Chipmunk physics

    花栗鼠物理

  13. Seeing your changes live makes multidevice development easy

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

  14. Small download size

    小下载大小

  15. Built for teams

    为团队建

You can find more videos about Loom here: http://www.youtube.com/user/LoomEngine?feature=watch

你可以在这里找到更多关于织布机的视频:http://www.youtube.com/user/loomengine?

Check out this 4 part in-depth tutorial too: http://www.gamefromscratch.com/post/2013/02/28/A-closer-look-at-the-Loom-game-engine-Part-one-getting-started.aspx

查看这4部分的深入教程:http://www.gamefromscratch.com/post/2013/02/28/ a - clo- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

#10


2  

Recently I used an AS3 engine: PushButton (now is dead, but it's still functional and you could use something else) to do this job. To make it works with Android and iOS, the project was compiled in AIR for both platforms and everything worked with no performance damage. Since Flash Builder is kinda expensive ($249), you could use FlashDevelop (there is some tutorials to compile in AIR with it).

最近我使用了AS3引擎:PushButton(现在已经死了,但它仍然可以使用,您可以使用其他东西)来完成这项工作。为了让它与Android和iOS兼容,这个项目在AIR上为两个平台编译,所有的工作都没有性能损失。由于Flash Builder有点贵(249美元),您可以使用flashdevelopment(有一些教程可以使用它进行编译)。

Flash could be an option since is very easy to learn.

Flash可能是一个选项,因为它很容易学习。

#11


2  

I currently use Corona for business applications with great success. As far as games go, I'm under the impression that it doesn't provide the performance that some of the other cross-platform development engines do. It is worth noting that Carlos (founder of Ansca Mobile/Corona SDK) has started another company on a competing engine; Lanica Platino Engine for Appcelerator Titanium. While I haven't worked with this personally, it does look promising. Keep in mind, however, that it comes with a $999/yr price tag.

我目前在商业应用中使用Corona非常成功。就游戏而言,我的印象是它不像其他跨平台开发引擎那样提供性能。值得注意的是,卡洛斯(Ansca Mobile/Corona SDK的创始人)已经在另一个竞争引擎上创立了另一家公司;Lanica Platino发动机用于Appcelerator Titanium。虽然我还没有亲自处理过这个问题,但看起来确实很有希望。不过要记住,它的价格是999美元/年。

All that said, I have been researching Moai for a little while now (since I am already familiar with Lua syntax) and it does seem promising. The fact that it can compile for multiple platforms, not limited to mobile environments, is appealing.

尽管如此,我已经研究了Moai一段时间了(因为我已经熟悉Lua语法),它看起来确实很有前途。它可以为多个平台编译,而不限于移动环境,这一事实很有吸引力。

Multimedia Fusion 2 is also a worth contender, considering the complexity of games produced and the performance realized from them. Vincere Totus Astrum (http://gamesare.com) comes to mind.

多媒体融合2也是一个值得一试的竞争者,考虑到游戏制作的复杂性和它们所实现的性能。我想到了Vincere Totus Astrum (http://gamesare.com)。

#1


29  

I've worked with Marmalade and I found it satisfying. Although it's not free and the developer community is also not large enough, but still you can handle most of the task using it's tutorials. (I'll write my tutorials once I got some times too).
IwGame is a good engine, developed by one of the Marmalade user. It's good for a basic game, but if you are looking for some serious advanced gaming stuff, you can also use Cocos2D-x with Marmalade. I've never used Cocos2D-x, but there's an Extension on Marmalade's Github.
Another good thing about Marmalade is it's EDK (Extension Development Kit), which lets you make an extension for whatever functionality you need which is available in native code, but not in Marmalade. I've used it to develop my own Customized Admob extension and a Facebook extension too.

我和Marmalade合作过,我觉得很满意。虽然它不是免费的,开发人员社区也不够大,但是您仍然可以使用它的教程来处理大部分任务。(我也会写一些教程)IwGame是一个很好的引擎,由Marmalade用户开发。这对于一个基本的游戏来说是很好的,但是如果你正在寻找一些高级的游戏,你也可以使用Cocos2D-x和果酱。我从来没有使用过Cocos2D-x,但是在Marmalade的Github上有一个扩展。Marmalade的另一个好处是它是EDK(扩展开发工具包),它允许您为任何需要的功能进行扩展,这些功能可以在本地代码中获得,但不能在Marmalade中获得。我用它开发了我自己定制的Admob扩展和Facebook扩展。

Edit:
Marmalade now has it's own RAD(Rapid Application Development) tool just for 2D development, named as Marmalade Quick. Although the coding will be in Lua not in C++, but since it's built on top of C++ Marmalade, you can easily include a C++ library, and all other EDK extensions. Also the Cocos-2Dx and Box2D extensions are preincluded in the Quick. They recently launched it's Release version (It was in beta for 3-4 months). I think we you're really looking for only 2D development, you should give it a try.

编辑:Marmalade现在有了自己的RAD(快速应用程序开发)工具,用于2D开发,命名为Marmalade Quick。虽然代码将在Lua中,而不是在c++中,但是由于它构建在c++ Marmalade之上,您可以轻松地包括一个c++库和所有其他EDK扩展。此外,Quick还预装了cocoa - 2dx和Box2D扩展。他们最近发布了它的版本(3-4个月测试版)。我认为我们你只是在寻找2D开发,你应该尝试一下。

Update:
Unity3D recently launched support for 2D games, which seems better than any other 2D game engine, due to it's GUI and Editor. Physics, sprite etc support is inbuilt. You can have a look on it.

更新:Unity3D最近推出了对2D游戏的支持,这似乎比任何其他2D游戏引擎都要好,因为它有GUI和编辑器。内置物理、雪碧等支持。你可以看一下。

Update 2
Marmalade is going to discontinue their SDK in favor of their in-house game production soon. So it won't be a wise decision to rely on that.

更新2 Marmalade将很快停止他们的SDK,转而支持他们的内部游戏产品。因此,依靠这一点并不是一个明智的决定。

#2


39  

LibGDX is one of the best engines I've ever used, works on almost all platforms, and performs twice as fast as cocos2d-x in most tests I've done. You can use any JVM language you like. Here's a 13 part tutorial in Java, and here's a bunch using jruby. There's a good skeletal animation tool that works with it here, and it has baked in support for tiled TMX maps as well. The ui framework is awesome, and it has a scene graph and actor style API similar to cocos2d scenes, sprites and actions. The community is awesome, updates are frequent, and the documentation is good. Don't let the java part scare you, it's fast, and you can use jruby or scala or whatever you like. I highly recommend it for 2d or 3d work, it supports both.

LibGDX是我使用过的最好的引擎之一,几乎在所有平台上都可以使用,在我所做的大多数测试中,它的性能是cocos2d-x的两倍。您可以使用任何您喜欢的JVM语言。这里有一个Java的13部分教程,这里有一堆使用jruby的教程。这里有一个很好的框架动画工具,可以使用它,它还支持tiled TMX地图。ui框架非常棒,它有一个场景图和演员风格的API,类似于cocos2d场景、精灵和动作。社区很棒,更新频繁,文档也很好。不要让java部分吓到你,它很快,你可以使用jruby或scala或任何你喜欢的东西。我强烈推荐它用于2d或3d工作,它同时支持这两种功能。

#3


12  

You mention Haxe/NME but you seem to instinctively dislike it. However, my experience with it has been very positive. Sure, the API is a reimplementation of the Flash API, but you're not limited to targeting Flash, you can also compile to HTML5 or native Windows, Mac, iOS and Android apps. Haxe is a pleasant, modern language similar to Java or C#.

你提到Haxe/NME,但你似乎本能地不喜欢它。然而,我的经验是非常积极的。当然,这个API是Flash API的重新实现,但是您不仅可以针对Flash,还可以编译成HTML5或本地Windows、Mac、iOS和Android应用程序。Haxe是一种令人愉快的现代语言,类似于Java或c#。

If you're interested, I've written a bit about my experience using Haxe/NME: link

如果你有兴趣的话,我已经写了一些关于我使用Haxe/NME: link的经验

#4


12  

V-Play (v-play.net) is a cross-platform game engine based on Qt/QML with many useful V-Play QML game components for handling multiple display resolutions & aspect ratios, animations, particles, physics, multi-touch, gestures, path finding and more. API reference The engine core is written in native C++, combined with the custom renderer, the games reach a solid performance of 60fps across all devices.

V-Play (v-play.net)是基于Qt/QML的一个跨平台的游戏引擎,有许多有用的V-Play QML游戏组件,用于处理多个显示分辨率和纵横比、动画、粒子、物理、多点触控、手势、路径查找等。API参考引擎核心是用本地c++编写的,结合自定义渲染器,游戏在所有设备上达到了60fps的稳定性能。

V-Play also comes with ready-to-use game templates for the most successful game genres like tower defense, platform games or puzzle games.

V-Play也为最成功的游戏类型提供现成的游戏模板,如塔防游戏、平台游戏或益智游戏。

If you are curious about games made with V-Play, here is a quick selection of them:

如果你对V-Play制作的游戏感兴趣,这里有一些简单的选择:

  • Squaby: a tower defense game
  • 争吵:塔防游戏。
  • Chicken Outbreak: a platformer like Doodle Jump
  • 鸡爆发:一种像涂鸦跳的平台。
  • Blockoban: puzzle game
  • Blockoban:拼图游戏
  • Crazy Elephant: a game similar to Angry Birds
  • 疯狂大象:类似于愤怒的小鸟的游戏
  • Snowball Mania: multiplayer action game
  • 雪球*:多人游戏
  • Blitzkopf: brain game
  • Blitzkopf:脑游戏

(Disclaimer: I'm one of the guys behind V-Play)

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

#5


6  

Here is just a reply from Richard Pickup on LinkedIn to a similar question of mine:

以下是领英(LinkedIn)上理查德•皮卡普(Richard皮卡普)对我的一个类似问题的回复:

I've used cocos 2dx marmalade and unity on both iOS and android. For 2d games cocos2dx is the way to go every time. Unity is just too much overkill for 2d games and as already stated marmalade is just a thin abstraction layer not really a game engine. You can even run cocos2d on top of marmalade. My approach would be to use cocos2dx on iOS and android then in future run cocosd2dx code on top of marmalade as an easy way to port to bb10 and win phone 7

我在iOS和android上都使用了cocos 2dx marmalade和unity。对于2d游戏来说cocos2dx是每次的方法。对于2d游戏来说,Unity实在是太多了,正如我们已经说过的,marmalade只是一个很薄的抽象层,并不是真正的游戏引擎。你甚至可以在果酱上运行cocos2d。我的方法是在iOS和android上使用cocos2dx,然后在marmalade上运行cocosd2dx代码,这是一种简单的方法,可以移植到bb10并赢得phone 7

#6


6  

I find a nice and tidy Wave game engine few days ago. It uses C# and have Windows Phone and Windows Store converters as well which makes it a great replacement of XNA for me

几天前我找到了一个漂亮整洁的Wave游戏引擎。它使用c#,并且有Windows Phone和Windows Store转换器,这使它成为XNA的一个很好的替代品

#7


4  

I've tried AppGameKit, It's both c++ and Basic. It's very easy to code 2d games in the Basic varient, with physics, collision and heaps more. It's also in active development, and really cheap (65$). The main problem is that it's really hard to compile for Android (you need to download heaps of files and follow difficult guides and things like that) My opinion is that it isn't yet good enough for commercial use, but is good for indie programmers It's got a medium size community

我试过AppGameKit,它是c++和Basic。它很容易编码二维游戏的基本变化,与物理,碰撞和堆更多。它也在积极开发中,而且非常便宜(65美元)。主要问题是真的很难编译为Android(你需要下载大量的文件和跟踪困难指南之类的)我的看法是它还不足够用于商业用途,但有利于独立程序员有一个中等大小的社区

#8


4  

and what about LibGDX from BadLogicGames?

那么BadLogicGames中的LibGDX呢?

#9


4  

Check out Loom (http://theengine.co) is a new cross platform 2D game engine featuring hot swapping code & assets on devices. This means that you can work in Photoshop on your assets, you can update your code, modify the UI of your app/game and then see the changes on your device(s) while the app is running.

查看织机(http://theengine.co)是一个新的跨平台2D游戏引擎,在设备上提供热交换代码和资产。这意味着你可以在你的资产上使用Photoshop,你可以更新你的代码,修改你的应用程序/游戏的UI,然后在应用程序运行时看到你的设备上的变化。

Thinking to the other cross platform game engines I’ve heard of or even played with, the Loom Game Engine is by far the best in my oppinion with lots of great features. Most of the other similar game engines (Corona SDK, MOAI SDK, Gideros Mobile) are Lua based (with an odd syntax, at least for me). The Loom Game Engine uses LoomScripts, a scripting language inspired from ActionScript 3, with a couple of features borrowed from C#. If you ever developed in ActionScript 3, C# or Java, LoomScript will look familiar to you (and I’m more comfortable with this syntax than with Lua’s syntax).

考虑到我听说过的其他跨平台游戏引擎,甚至玩过,到目前为止,织机游戏引擎在我的oppinion中是最好的,有很多很棒的特性。其他大多数类似的游戏引擎(Corona SDK、MOAI SDK、Gideros Mobile)都是基于Lua的(至少对我来说是如此)。织机游戏引擎使用了LoomScripts,这是一种从ActionScript 3中获得的脚本语言,有几个从c#中借用的功能。如果您曾经在ActionScript 3、c#或Java中开发过,那么LoomScript对您来说应该很熟悉(与Lua的语法相比,我更熟悉这种语法)。

The 1 year license for the Loom Game Engine costs $500, and I think it’s an affordable price for any indie game developer. Couple of weeks ago the offered a 1 year license for free too. After the license expires, you can still use Loom to create and deploy your own games, but you won’t get any further updates. The creators of Loom are very confident and they promised to constantly improve their baby making it worthwile to purchase another license.

织机游戏引擎的一年授权费是500美元,我认为对于任何独立游戏开发者来说,这都是一个可以负担得起的价格。几周前,他们还免费提供了一年的许可证。许可证过期后,您仍然可以使用织布机创建和部署您自己的游戏,但您不会得到任何进一步的更新。织布机的设计者们非常自信,他们承诺将不断改进他们的婴儿,使购买另一种许可证成为值得的。

Without further ado, here are Loom’s great features:

不用多说了,下面是织机的主要特点:

  1. Cross platform (iOS, Android, OS X, Windows, Linux/Ubuntu)

    跨平台(iOS、Android、OS X、Windows、Linux/Ubuntu)

  2. Rails-inspired workflow lets you spend your time working with your game (one command to create a new project, and another command to run it)

    受rails启发的工作流允许您花时间处理您的游戏(一个命令创建一个新项目,另一个命令运行它)

  3. Fast compiler

    快速编译器

  4. Live code and assets editing

    实时代码和资产编辑

  5. Possibility to integrate third party libraries

    整合第三方图书馆的可能性

  6. Uses Cocos2DX for rendering

    使用Cocos2DX呈现

  7. XML, JSON support

    XML、JSON支持

  8. LML (markup language) and CSS for styling UI elements

    用于样式化UI元素的LML(标记语言)和CSS。

  9. UI library

    UI库

  10. Dependency injection

    依赖注入

  11. Unit test framework

    单元测试框架

  12. Chipmunk physics

    花栗鼠物理

  13. Seeing your changes live makes multidevice development easy

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

  14. Small download size

    小下载大小

  15. Built for teams

    为团队建

You can find more videos about Loom here: http://www.youtube.com/user/LoomEngine?feature=watch

你可以在这里找到更多关于织布机的视频:http://www.youtube.com/user/loomengine?

Check out this 4 part in-depth tutorial too: http://www.gamefromscratch.com/post/2013/02/28/A-closer-look-at-the-Loom-game-engine-Part-one-getting-started.aspx

查看这4部分的深入教程:http://www.gamefromscratch.com/post/2013/02/28/ a - clo- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

#10


2  

Recently I used an AS3 engine: PushButton (now is dead, but it's still functional and you could use something else) to do this job. To make it works with Android and iOS, the project was compiled in AIR for both platforms and everything worked with no performance damage. Since Flash Builder is kinda expensive ($249), you could use FlashDevelop (there is some tutorials to compile in AIR with it).

最近我使用了AS3引擎:PushButton(现在已经死了,但它仍然可以使用,您可以使用其他东西)来完成这项工作。为了让它与Android和iOS兼容,这个项目在AIR上为两个平台编译,所有的工作都没有性能损失。由于Flash Builder有点贵(249美元),您可以使用flashdevelopment(有一些教程可以使用它进行编译)。

Flash could be an option since is very easy to learn.

Flash可能是一个选项,因为它很容易学习。

#11


2  

I currently use Corona for business applications with great success. As far as games go, I'm under the impression that it doesn't provide the performance that some of the other cross-platform development engines do. It is worth noting that Carlos (founder of Ansca Mobile/Corona SDK) has started another company on a competing engine; Lanica Platino Engine for Appcelerator Titanium. While I haven't worked with this personally, it does look promising. Keep in mind, however, that it comes with a $999/yr price tag.

我目前在商业应用中使用Corona非常成功。就游戏而言,我的印象是它不像其他跨平台开发引擎那样提供性能。值得注意的是,卡洛斯(Ansca Mobile/Corona SDK的创始人)已经在另一个竞争引擎上创立了另一家公司;Lanica Platino发动机用于Appcelerator Titanium。虽然我还没有亲自处理过这个问题,但看起来确实很有希望。不过要记住,它的价格是999美元/年。

All that said, I have been researching Moai for a little while now (since I am already familiar with Lua syntax) and it does seem promising. The fact that it can compile for multiple platforms, not limited to mobile environments, is appealing.

尽管如此,我已经研究了Moai一段时间了(因为我已经熟悉Lua语法),它看起来确实很有前途。它可以为多个平台编译,而不限于移动环境,这一事实很有吸引力。

Multimedia Fusion 2 is also a worth contender, considering the complexity of games produced and the performance realized from them. Vincere Totus Astrum (http://gamesare.com) comes to mind.

多媒体融合2也是一个值得一试的竞争者,考虑到游戏制作的复杂性和它们所实现的性能。我想到了Vincere Totus Astrum (http://gamesare.com)。