2 ms·
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
by ruksi 11y ago
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.