2D Cross-Platform Game Development Engines [closed

2019-01-20 21:33发布

I've worked for some time with Corona SDK and love how fast and easy I can create powerful apps using Lua. But it can only compile for iOS and Android, which feels like too little now.

My main interest is for it to be able to compile to Desktop AND Mobile. At least for the following:

  • Windows + Mac for desktop, as standalone applications.
  • iOS + Android for mobile.

I'd prefer it to lean more towards Lua type scripting instead of ActionScript, but please feel free to post anything that you have worked with and love.

I've found the following engines so far:

  • Marmalade Quick - After further looking into it, Marmalade Quick can only build for Mobile!
  • IwGame - Works on top of marmalade and says it can deploy to desktop and mobile with Lua. Any info is greatly appreciated on this
  • sio2 - Says "SIO2 is an OpenGLES based cross-platform 2D and 3D game engine for iOS, Android, MacOS and Windows" and "The engine also allows you to port your game on the Mac Store and on Windows.", but their forum and web title is "Game Engine for Mobile Devices". Can't find any info on if it can deploy to desktop platforms, any info is greatly appreciated again.
  • Loom Engine - Loom is similar to Haxe + OpenFL (attempts to attract Flash developers) in that it uses AS3-like of ECMAScript, but it doesn't build native code from it. However it uses Cocos2D for rendering so it should in theory be as fast as Cocos2D. -- Thanks to Bojan.
  • SDL - I've read in multiple places that SDL can deploy to nearly any platform or device and has a Lua binding. But i can't find how this works as it's not an engine. Any one who can explain how it works and if it's possible is once again, very much appreciated.
  • SFML - "Windows, Linux, Mac OS X and soon Android & iOS. " doesn't use Lua but can use other languages like Java and Python etc. Anyone have any information on this?
  • Torgue2D - "Torque 2D was developed with OS X, Windows, and iOS devices in mind and works equally well on all the platforms." uses TorgueScript and no Android =(
  • Sencha - Seems to compile to all platforms, uses Javascript too which I know. But even with V8 JS would this work well performance wise compared to other options?
  • 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?
  • Construct2 - Same question as gamemaker
  • Corona - Lua but mobile only (Android and iOS only as well)
  • Cocos2D - Seems like it has lots of options but not sure with the same language? Seems like you'd have to re-write your entire code. Any info if cocos2D can deploy to desktop + mobile with almost the same code would be greatly appreciated.
  • Angel2D - Says it can deploy to everything except Android and uses Lua, anyone ever used this one before?
  • libgdx --- I've only seen good things about this. Here is a benchmark test for libgdx and is where I saw it reaching 40k sprites at 60fps. http://www.sparkrift.com/2012/1/love2d-vs-allegro-vs-clanlib-vs-libgdx-vs-cocos2d-x-vs-monogame-vs-xna-vs-sfml . It seems libgdx barely goes over 30k actually. But still seems amazing. This is on the same level as Qt for me, almost perfect, except I'm not really worried about performance on it. libgdx can build for everything pretty much.
  • XNA + MonoGame --- MonoGame's performance seems only slightly lower than libgdx, can build to most platforms. However I don't know much about XNA and I heard it won't be receiving future updates, but is quite stable? More information is welcome.
  • Citrus --- Don't have much information on Citrus either. AS3 game engine that can build for iOS, Android, Windows, Mac and more.
  • Haxe + OpenFL --- OpenFL (Haxe) builds to native on many platforms, not just to Flash. Windows, Mac, Linux and Android all get optional native deployment or OpenFL runtime called Neko which is in theory faster than Flash, and SDL 2.0 will enable iOS deployment soon(ish). -- Thanks to Bojan.
  • Qt-Project --- Just linking Qt project here, can build for everything and has a pretty big community with lots of third party libraries to help you even further.
  • Moai ---The only Lua engine that I know that can build for Desktop and Mobile. Only downside is the community isn't that big and documentation isn't the best. But if you can get passed those this is a great solution and the one I'm currently using.
  • Adobe --- Can't forget to add adobe here since it can build to everything that supports flash.
  • Unity3D --- Recently announced 2D integration looks very promising, should be released Q3-Q4 of 2013.
  • Cocos2d-x --- An open source engine. Supports JS, Lua, C++ and multiple platforms.
  • Html5 --- There seem to be a lot of emphasise on html5 mobile apps, here are just a few tools I found that can help port your html5 project to a platform:

    1. Chromium embedded

    2. Sencha

    3. Phonegap

    4. Appcelerator/Titanium

    5. Icenium

So, I'd be happy if you could comment from your experiences with any engines and suggest which one you would recommend. Thank you for your help!

EDIT: Since this topic is getting popular I'll be adding other options I've found over time. I suggest you choose what is most familiar to you and best for your project needs.

9条回答
何必那么认真
2楼-- · 2019-01-20 22:00

If you have C# background. Have a look at Duality.

Duality is a flexible 2D game framework written entirely in C# – and it’s here to make things a little easier for you. It provides both an extensible game engine and a visual editor to match. There will be no need for a level editor, testing environment or content manager because Duality is all that by itself. And best of all: It’s free.

查看更多
在下西门庆
3楼-- · 2019-01-20 22:00

I'm just answering to give you some insights on how the SDL is used. As you said before it's not a game engine (it's just a library actually). Furthermore, it is not object oriented at all and you don't have some easy animation facilities (you have to code them by yourself).

How it works (I used the C version but I guess the Lua binding should be similar):

Include the headers needed to build the project on the platform you want.

Design your own game loop in which you will set up (at least) a whole event processing system, frame rate manager and a "screen cleaner (or updater)" (I'm insisting on the fact that you have to manually refresh your screen using the SDL_flip_screen routine which is something that is not one of your concerns at all with Corona).

Then, code your game using all the "mechanics" you made before.

The SDL is a low level library (don't expect to have an easy to use GUI framework or the storyboard framework of Corona for instance).

Finally, this library was used to port Civilization III to Linux, so yes it works but it will ask you a lot of energy to have something like you had with Corona ;)

PS: I am not a native English speaker, so please let me know if I wasn't clear :)

查看更多
劫难
4楼-- · 2019-01-20 22:01

Gideros is a great Lua based 2d cross platforms engine, currently supporting both Android and IOS platforms, but more to come. And it also has some great features as instant on device testing, auto scaling and auto image resolution to easily target various of screen sizes, as well as the option to extend each platform through native plugins.

查看更多
登录 后发表回答