2D cross-platform game development

I worked for a while with the Corona SDK and love how fast and easy I can create powerful applications using Lua. But it can only be compiled for iOS and Android, which now seems too small.

My main interest is so that it can compile Desktop & Mobile. At least for the following:

  • Windows + Mac for desktop as stand-alone applications.
  • iOS + Android for mobile devices.

I would prefer it rather lean towards a script like Lua instead of ActionScript, but please feel free to post everything you worked with and love.

I found the following engines:

  • Marmalade Quick - After further study, Marmalade Quick can only build for mobile devices.
  • IwGame - Working on marmalade and saying that he can deploy desktop and mobile with Lua. Any information really appreciated on this
  • sio2 - Says: "SIO2 is a cross-platform 2D and 3D OpenGLES game engine for iOS, Android, MacOS and Windows" and "The engine also allows you to transfer the game to the Mac Store and Windows.", but their forum and The website’s name is "Mobile Game Engine". can't find any information about whether it can be deployed on desktop platforms, any information is much appreciated again.
  • Loom Engine - Loom is similar to Haxe + OpenFL (trying to attract Flash developers) in that it uses an AS3-like ECMAScript, but it does not create native code from it. However, it uses Cocos2D for rendering, so theoretically it should be as fast as Cocos2D. - Thanks to Boyan.
  • SDL - I read in several places that SDL can deploy to almost any platform or device and has a Lua binding. But I can not find how it works, because it is not an engine. Anyone who can explain how this works, and if possible, once again, is greatly appreciated.
  • SFML - "Windows, Linux, Mac OS X, and soon Android and iOS" does not use Lua, but can use others such as Java and Python, etc. Does anyone have any info on this?
  • Torgue2D - "Torque 2D was developed using OS X, Windows, and iOS devices and works equally well on all platforms." uses TorgueScript and Android = (
  • Sencha - Seems like a compiler for all platforms, I use Javascript that I know. But even with the V8 JS will this work well compared to other options?
  • GameMaker is GML's own scripting language, and I really remember it as a tool for non-programmers. Did it really turn into a real engine, I mean a serious development?
  • Construct2 - Same question as gamemaker
  • Corona - Lua, but only for mobile devices (only for Android and iOS).
  • Cocos2D - It seems to have a lot of options, but not sure with the same language? It looks like you have to rewrite all your code. Any information if cocos2D can be deployed to the desktop + mobile phone with almost the same code would be greatly appreciated.
  • Angel2D - Says it can be deployed in everything except Android, and uses Lua, has anyone ever used this before?
  • libgdx --- I only saw good things about this. Here is a test benchmark for libgdx, and I saw that it reached 40k sprites at 60 frames per second. http://www.sparkrift.com/2012/1/love2d-vs-allegro-vs-clanlib-vs-libgdx-vs-cocos2d-x-vs-monogame-vs-xna-vs-sfml . It seems that libgdx practically does not exceed 30 thousand. But still it seems amazing. This is at the same level as Qt for me, almost perfect, except that I am not really worried about the performance on it. libgdx can build for everything to a large extent.
  • XNA + MonoGame - - The performance of MonoGame seems a little lower than that of libgdx, which can be built on most platforms. However, I know little about XNA, and I heard that it will not receive future updates, but is it stable enough? Additional information is welcome.
  • Citrus --- Not much information about Citrus. AS3, which can work for iOS, Android, Windows, Mac and others.
  • Haxe + OpenFL --- OpenFL (Haxe) builds for native on many platforms, not just Flash. Windows, Mac, Linux, and Android all receive additional built-in deployment or OpenFL runtime called Neko, which is theoretically faster than Flash, and SDL 2.0 will soon include iOS (ish) deployment. - Thanks Boyan.
  • Qt-Project --- Just link the Qt project here, you can build for everything and have a fairly large community with a lot of third-party libraries to help you even more.
  • Moai --- The only Lua engine I know that can be created for desktops and mobile devices. The only drawback is that the community is not that big and the documentation is not the best. But if you can pass them on, this is a great solution and the one I'm using right now.
  • Adobe --- I can’t forget to add adobe here, since it can build anything that supports flash.
  • Unity3D --- Recently announced 2D integration looks very promising, Q3-Q4 2013 should be released.
  • Cocos2d-x --- An open source engine. Supports JS, Lua, C ++ and several platforms.
  • Html5 --- It seems that a lot of attention is paid to html5 mobile applications, here are just a few tools I have found that can help port your html5 project to the platform:

So, I would be glad if you could comment on your experience with any engine and suggest which one you would recommend. Thanks for the help!

EDIT: As this topic becomes popular, I will add other options that I have found over time. I suggest you choose what you know best and is best suited to your project needs.

+80
windows cross-platform mobile 2d game-engine
Jul 11 '13 at 3:47
source share
9 answers

I would recommend V-Play (v-play.net), a cross-platform game engine based on Qt for iOS, Android, Symbian, MeeGo, Blackberry10, and it can also export for native desktop applications for Windows, Mac and Linux.

It is based on C ++, but has neat script support for QML and JavaScript . QML does not require learning and can improve performance because it requires less code - just compare with cocos2d-x (60% less Loc) or Corona (15% less LoC) to compare the same games.

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

+9
Jul 11 '13 at 10:25
source share

If you use Python, Kivy is a great solution these days. It compiles to all the platforms you request:

Kivy runs on Linux, Windows, MacOSX, Android, and iOS. You can run the same code on all supported platforms. It can use protocol inputs and devices such as WM_Touch, WM_Pen, Mac OS X Trackpad and Magic Mouse, Mtdev, Linux Kernel HID, TUIO. A multi-touch mouse simulator is included.

Kivy uses a lot of optimized code for rendering graphics (via Cython), so it is also very fast.

Here is a speakerdeck that gives you some background and overview (specific for Android).

+6
Oct 25 '13 at 19:22
source share

Here is my Oxygine gaming infrastructure. This is a modern open source hardware accelerated 2D C ++ platform for mobile and PC platforms. Features: OpenGL (ES) 2, compressed textures, atlases, complex animations / tweens / sprites, scene graph, fonts, event processing, construction tools and others. Can be built on top of the SDL2 or Marmalade SDK.

The engine is based on a scene graph similar to Flash. In short, you can call it Flash for C ++, but more convenient and faster. It was originally developed for mobile platforms (iOS, Android), but can also be used for computer games.

enter image description here

+5
Sep 29 '13 at 21:02
source share

What about HaxeFlixel ? We have a large selection of demos and, of course, support for cross-platform development through Haxe + OpenFL. This is an open source project hosted on GitHub . We support all major platforms (including iOS).

+5
Oct 03 '13 at 15:04 on
source share

There is no mention of the App Game Kit (AGK) , so let me fill in the gap. This is basically a 2D cross-platform SDK that allows you to code once, either in C ++ or in your own “base” language. Version 2 has only received over 400% of funding on Kickstarter and will have full 3D support, Spine support (for 2D animated characters), bullet physics and a whole bunch of other new features.

He already has Facebook, Twitter, a bunch of Ultrabook, Box2D sensor commands and much more. I use it from the very beginning and love it (can you tell?). No, I do not work for The Game Creators (the company that created it), although I admit that I sometimes made some applications.

One of the best features from my point of view is that you can develop in Windows and stream from the IDE via Wi-Fi to any supported device, so while I am coding, I can (in a few seconds) check my code on iPad, Android, Windows , Mac, or Blackberry Playbook.

+4
Sep 03 '13 at 15:40
source share

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

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

+4
Sep 28 '13 at 6:59 on
source share

I am just answering to give you some insight into how SDL is used. As you said, this is not a game engine (it's just a library in fact). In addition, it is not object oriented at all, and you do not have easy animation capabilities (you have to code them yourself).

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

Include the headers needed to create the project on the desired platform.

Create your own game loop in which you configure (at least) an entire event processing system, frame rate manager and “screen cleaner (or updater)” (I insist that you need to manually refresh your screen using the SDL_flip_screen procedure, which is not one of your problems with Corona).

Then encode your game using all the "mechanics" that you did before.

SDL is a low-level library (do not expect an easy-to-use graphical interface infrastructure or Corona framework).

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 with Corona;)

PS: I am not a native English speaker, so please let me know if I do not understand :)

+2
Sep 29 '13 at 22:16
source share

You also have ShiVa3D , a serious competitor to Unity3D. It uses Lua and supports many platforms from mobile to game consoles and web browsers.

Very intuitive and very nice interface to work with.

+1
Oct 31 '13 at 16:04
source share



All Articles