Although we are only talking about Android game development, game development cannot be efficient without cross-platform support. We have already discussed game design flexibility. From a typical technical perspective, it should be possible to deploy the game for various platforms such as iOS, Windows, consoles, and the like.
Always keep in mind that cross-platform mobile development isn't quite as simple as writing the code once, putting it through a tool for translation, and publishing both an iOS and Android app to the respective app stores.
Using a cross-platform mobile development tool can reduce the time and cost associated with developing apps on both platforms, but the UI needs to be updated to match each system. For example, adjustments are needed between the two so that the menu and control commands match the UX of how Android devices and iOS devices inherently operate in different ways.
There are plenty of tools that support cross-platform development. Let's take a look at a few of them:
Cocos2d is primarily used in two-dimensional game development. It gives developers the option of five different forks or platforms to develop on, based on their preferred programming languages, such as C++, JavaScript, Objective C, Python, and C# (image source: http://www.cocos2d-x.org/attachments/802/cocos2dx_landscape.png):
Primarily, this tool is efficient for Android, iOS, and Windows Phone. The development platform is mainly 2D; however, from Cocos2d-x 3.x it is possible to develop games in 3D also.
Cocos2d-x works with native Android, and can support different processor architectures separately. This tool works in a Unix-based environment.
There is a huge developer community that develops games on Cocos2d-x. Here are the pros and cons of this cross-platform development engine from the Android game development perspective:
Unity3D is the most popular cross-platform engine among Android and iOS game developers. Although it is mainly optimized for mobile platforms, it is powerful enough to deploy games for other major gaming platforms as well, for example, PC, Mac, consoles, web, Linux, Xbox, PlayStation, and so on. Currently, it supports 17 different platforms for game development (image source: http://img.danawa.com/images/descFiles/3/545/2544550_1_1390443907.png):
Once you've got your game on all your chosen platforms, Unity3D will even help you distribute it to the appropriate stores, get social shares, and track user analytics.
Unity3D has the largest game developer community, with huge support on almost every aspect of game development. It has its separate store where you can find an effective prebuilt custom library, prebuilt plugins, and so on, which helps a developer in terms of reducing development time significantly. Here are the main pros and cons of Unity3D.
The recently released Unreal Engine 4 is a very powerful cross-platform game engine. Previously, this engine focused on the console and PC platforms only, but it has extended its support to mobile gaming platforms such as Android and iOS (image source: http://up.11t.ir/view/691714/1425334231-unreal-engine-logo.png):
There have been a lot of debates about whether Unreal Engine 4 is better than Unity3D. They both have their own pros and cons. Let's have a look at the pros and cons of Unreal Engine 4:
Owned by Adobe, PhoneGap is a free resource that first-time app developers can use to translate code from HTML5, CSS, and JavaScript.
They maintain SDKs at their end for each of the platforms you can develop an app for, so it's one less thing you have to worry about. And once your app is completed, you can share it with your team members for review to see if you need to make any improvements.
Beyond iOS and Android, PhoneGap also creates apps for BlackBerry and Windows. So it is truly a cross-platform mobile development tool (image source: http://blogs.perceptionsystem.com/wp-content/uploads/2016/03/phonegap.png):
PhoneGap features the following pros:
Corona's SDK comes with the promise that you can start coding your new app in as little as five minutes after the download. It's another cross-platform mobile development tool that's optimized for 2D gaming graphics, and helps you make games 10 times faster than it would take to code everything from scratch (image source: https://qph.ec.quoracdn.net/main-qimg-fad64a16e531773325448e6ca699d117):
Corona's programming language is Lua, which is written in C, making it a cross-platform language. Corona chose Lua because they found it to be really robust, with a small footprint for mobile apps.
Corona has the following pros:
Using JavaScript, Titanium's SDK creates native iOS and Android apps while reusing anywhere from 60% to 90% of the same code for all the apps you make, thereby saving you a significant amount of time (image source: http://mobile.e20lab.info/wp-content/uploads/sites/2/2014/04/titanium.png):
Because Titanium is an open-source tool, hundreds of thousands of your fellow developers are constantly contributing to it to make it better, and give it more functionality. And if you happen to find a bug in its system, you can do so too.
The cons are as follows:
3.133.126.199