

Ask HN: What are you using for cross platform games? - xyclos

I&#x27;ve been making games for iOS for about a year and my current client wants their game on iOS and Android. I have never made anything for Android.<p>What are the most popular solutions for cross platform game development right now?<p>Are there any easy ways to port this game to Android without learning this whole other platform?
======
chipsy
For 2D stuff, Haxe/OpenFL has been quietly gaining a fanbase, including some
successful higher-profile releases. Comfortable environment for former Flash
devs since it builds on the same API. Some other FOSS options I've often seen
come up: LibGDX, Cocos2D. Haven't shopped around lately.

Unity is extremely common(bordering on the default option) for 3D. It has a
small industry of Asset Store add-ons that fill in the gaps and can
(sometimes) substitute for knowing how to code things. I recently decided to
familiarize myself with it enough to take on freelance work, since there's a
lot of activity there.

Unreal has been in a price war with Unity and since this past GDC it's now in
a "free plus royalties" deal. You're given complete source code access, not
just proprietary runtimes. It's behind Unity on buy-in and the subsidiary
market, but the core tech is generally more interesting and it has a big
legacy in AAA. You may like the Unity workflow more, depending.

------
EliRivers
SDL. It is solidly cross-platform (supports Haiku, which makes me smile, as
well as Linux, Win, iOS, Android and so on and so on) and zLib licensed (pay
nothing; use it, distribute it, static link, dynamic link, whatever you want -
the zLib licence fits on a postcard).

Here's someone talking about it at a steam dev day:

[https://www.youtube.com/watch?v=MeMPCSqQ-34&list=PLckFgM6dUP...](https://www.youtube.com/watch?v=MeMPCSqQ-34&list=PLckFgM6dUP2hc4iy-
IdKFtqR9TeZWMPjm)

------
ruksi
Unity is very popular for creating 3D mobile games; easy exporting to all the
major platforms and a visual editor. If you are a junior programmer, I'd
recommend Unity even if you are doing 2D. More advanced developers might find
themselves fighting against the design philosophy of components and game
objects in Unity, kinda like Entity System, but not quite. The engine design
makes debugging harder. Note that all Unity games run in a 3D scene even if
it's purely 2D so the raw performance and battery drainage is worse than in
pure 2D game engines.

Haxe+OpenFL, Haxe+OpenFL+Flixel and Haxe+OpenFL+HaxePunk combos are all good
if you need to do lower level stuff like manipulating video buffer, which is
rare but can give you pretty unique visual effects. Multiplatform support is
working, but I wouldn't say it's great in these.

Cocos2d-x is good for physic based 2D games. Good performance and a great tool
in the hands of more advanced programmers. Multiplatform support is better
than in Haxe but worse than in Unity.

I'll also note that development environment setup is a lot more painful in
Haxe and Cocos2d-x compared to Unity.

Source: my experience. Consume the information with a grain of salt.

------
troymc
According to Unity Technologies (the makers of Unity), who say they're quoting
an unreleased McKinsey report, "Worldwide, Unity takes a plus 45% share of the
full feature game engine market, approximately three times that of our closest
competitor."

From: [http://unity3d.com/public-relations](http://unity3d.com/public-
relations)

To get a sense of all the options for developing games that run on both iOS
and Android, see:

[http://www.mobilechameleon.com/](http://www.mobilechameleon.com/)

~~~
meir_yanovich
consider cocos2d-x , its open source can be develop with c++ , java script or
lua got good community and the engine have good support . you can check my
open source game to get the feeling [https://github.com/meiry/Cocos2d-x-
Guessing-Game](https://github.com/meiry/Cocos2d-x-Guessing-Game)

------
kidproquo
I prefer cocos2d-x. I used it for my music game
([http://www.adhyet.com](http://www.adhyet.com)).

Check out their Programming Guide
([http://www.cocos2d-x.org/programmersguide/1/index.html](http://www.cocos2d-x.org/programmersguide/1/index.html)),
that has a decent overview that will tell you why you should give it a go.

------
camhenlin
I wrote a fairly large and complex HTML5 platform game (a reimplementation of
MegaMan, actually) using EaselJS: [http://executive-
man.com/](http://executive-man.com/) here it is on github if anyone is
interested in taking a look at how it works:
[https://github.com/CamHenlin/ExecutiveMan/](https://github.com/CamHenlin/ExecutiveMan/)

------
jason_slack
For me, I prefer Cocos2d-x. Before I decided on it I tried Unity and UnReal
and I felt like Cocos2d-x offered me a way to learn and as I grew in
experience the engine grew with me. There are forums available that are also
very active: [http://discuss.cocos2d-x.org](http://discuss.cocos2d-x.org)

------
lewisl9029
For 2D, I'd recommend the HTML5-based Phaser:
[https://github.com/photonstorm/phaser](https://github.com/photonstorm/phaser)

Wrap it with Cordova to support iOS, Android, and many other platforms, as
well as a free web client.

------
jdmoreira
I would say cocos2d-x or maybe libgdx

