Cross-platform tools

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-x

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):

Cocos2d-x

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:

The pros are as follows:

  • Supports the most common programming languages such as C++
  • Works in the native environment
  • Lightweight and optimized library
  • Common OpenGL rendering system
  • All smartphone features supported for 2D development
  • Completely free open source Engine

The cons are as follows:

  • Majorly supports 2D development
  • Cross-platform deployment is tricky and complicated
  • Performance and memory optimization is weak
  • No visual programming support
  • No debugging tool is provided within the engine
  • Mostly works on mobile phone platforms

Unity3D

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):

Unity3D

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 pros are as follows:

  • Supports 17 different platforms for gaming
  • Very simple deployment procedure
  • Visual editor to support visual programming
  • Inbuilt powerful debug tool
  • Huge library support
  • Hassle-free development
  • Inbuilt powerful memory and performance optimizer

The cons are as follows:

  • Comparatively bigger library size
  • Slightly performance heavy (however, it is improving day by day)
  • Supports only scripting languages (C#, JavaScript, and Boo)
  • Not completely free for commercial purposes
  • Mainly works well with 3D

Unreal Engine

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):

Unreal Engine

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:

The pros are as follows:

  • The Blueprint feature allows flexible visual programming
  • Generic C++ language is more developer friendly
  • Graphic processing is excellent
  • Inbuilt dynamic shadow system
  • Simple to understand and start making games
  • Vast support in terms of device scalability
  • In-editor material designing

The cons are as follows:

  • Mobile optimization is still not up to the mark
  • Lack of 2D development tools
  • Lack of availability of third-party plugins
  • Working with sprites is a pain for mobile development
  • Still focused on high configuration hardware platforms

PhoneGap

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

PhoneGap features the following pros:

  • Supports almost all mobile platforms
  • Lightweight application build
  • Supports HTML, CSS, and JavaScript
  • Cordova apps install just like a native application
  • PhoneGap is open source and free

It has the following cons:

  • Lack of platform support
  • Lack of third-party plugins
  • Native UI is still difficult to use

Corona

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

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:

  • Good application performance in terms of FPS
  • Good inbuilt emulator
  • Light application build

It has the following cons:

  • Uses the less popular scripting language Lua
  • Not free
  • Less plugin support
  • No on-device debugging support

Titanium

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):

Titanium

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 pros are as follows:

  • Quick-start flexibility for the initial phase
  • Lightweight application build
  • Common JavaScript language
  • Web and mobile support on Android and iOS
  • Open source

The cons are as follows:

  • Lack of plugin support
  • Lack of platform support range
  • Script-based development increases complexity and effort
  • Performance varies with different platforms
  • Poor optimization compared to other tools
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.133.126.199