Which platform to choose to create a mobile game
Technologies / / December 19, 2019
Denis Zaritskii
software developer. He is fond of developing games on the Unreal Engine, are also interested in: JavaScript, HTML5, Node.js, User Experience, online education, artificial intelligence and internet marketing. She loves to participate in interesting projects and startups.
Many dream to create your own game. But before you start to develop it, you need to decide on the game engine, where there are so many.
What is a game engine? In short, it is a set of systems that simplify the most commonly used features of the game. You can certainly write a engine from the ground up to, but it would take an inordinate amount of time. In this article we will look at popular game engines for game development for mobile devices. Comparing their capabilities, you can choose the most suitable to create the next big hit.
Let's take a look at the list!
Corona SDK
Corona SDK It is a cross-platform engine for creating games for iOS and Android. API allows 2D-games, and helps you to create complex functions based on using Lua API. In addition, you can monetize the Corona SDK using Corona Ads. Development with Corona is quite simple thanks to the test in real time.
Corona includes features of interest such as Corona Editor, Sublime Text plugin and many others. Composer GUIAvailable on OS X, will provide you with a graphical environment in which you will be able to create levels for games and see how objects interact with each other using Corona's physics engine.
The example in the development of Corona SDK →
Unreal Engine
UE4 It allows you to create high quality projects by a small group of developers at the expense of powerful tools (In particular, visual scripting by Blueprint), open source and continuous growth community.
There is a free version of Unreal Engine, go to Pro-version will cost a tidy sum.
Unreal Engine using C ++ on it you can develop games for iOS and Android. The engine has a powerful editor, enclosing a few highly specialized editors. Their development will greatly help you in the development. Some editors can even replace certain programs. The interaction of all these subsystems - a masterpiece.
Visualization gorgeous editor. Just the eyes diverge from the abundance of rendering options (such as those associated with lighting or with shader complexity). Here you will find a lot of cutting-edge shaders, which are also supplied with the engine. In principle, Unreal offers the best rendering engine on the market. You can create amazingly beautiful scene.
An example of development in the Unreal Engine →
Unity
Unity considered one of the best game engines in the industry. There is a free version that can be used to create 2D--and 3D-games. It covers 24 platforms: mobile devices, VR, desktop, console and web-based platform.
The engine supports three scripting languages: C #, JavaScript (modification), Boo (Python dialect). Unity It has a simple Drag & Drop-interface that is easy to configure. It consists of different windows, so you can debug the game directly in the editor. Project Unity is divided into scenes (levels) - individual files containing their game worlds with a set of objects, scripts and settings.
The example in the development of Unity →
Phaser
Phaser - a framework for developing desktop and mobile HTML5-games based on the Library PIXI.js. Supports rendering Canvas and WebGL, animated sprites, particles, audio, different input methods and physics objects. Phaser distributed with open source MIT license. This means that you can use the code without any restrictions, but with the preservation of the notification of copyright in copies of the software, that is in the text of your license you will need to add a reference to the copyright framework. It is well maintained and Richard Davey appeared around the community.
An example of development in the Phaser →
Cocos2d-x
Cocos2d-x, Which appeared in 2010 - is an open source project under the MIT license. Game Development in Cocos2d-x is based on the use of sprites. With the help of these containers are all sorts of scenes, such as game locations, or menu. sprites is controlled with the help of animation, or code with C ++, JavaScript or Lua. Thanks to the modern visual interface sprites can be easily changed, moved, resized, and spend time with them other manipulation.
Big guys such as Zynga, Wooga, Glu, Big Fish Games, KonamiUse Cocos2d-x for game development.
Cocos2D
Cocos2d - is open-source-framework compatible with Swift and Objective-C. He has the support of iOS and OS X, along and across the Android plugin SpriteBuilder Android (provided that your code is written in Objective-C). Swift support for Android is under development.
Projects are created through Cocos2d SpriteBuilder - graphical development environment that can be used for rapid prototyping and games.
scene is controlled via CCDirector class that can be used with numerous transitions CCTransition class. It offers animation with class and actions such as move, scale and rotate CCAnimation his CCAction-class. Cocos2d has support for particle systems with CCParticleSystem class and tile maps CCTiledMap class.
SpriteKit
2D-engine optimized for the creation of games for the Apple-devices. It is based on the popular physics engine Box 2D. As developers create his sharpened specifically for Apple devices, it benefits significantly speed the remaining engines. It provides all the basic functions for creating graphics in games: support for OpenGL-ES-shaders, lighting, effects, animation, collision checking, rendering of text, video, and so on.
CreateJS
CreateJS - a collection of different libraries to create open source games:
- EaselJS,
- TweenJS,
- SoundJS,
- PreloadJS.
EaselJS - is a library that is based on Canvas API. TweenJS - this animation Canvas. And she copes with its task, making for you and simplify many things. SoundJS, as you may have guessed, is designed to work with audio. PreloadJS helps manage and coordinate the loading of data.
These libraries can work both together and separately. Each module is responsible for his part of the work and does not interfere with the other, so if necessary, can be replaced by a similar functionality from other developers. But for those who intend to use the full range unchanged, the possibility of linking them to simplify the work and coding.
AndEngine
AndEngine is one of the most well-known free engines with open source for writing the 2D-games for Android. AndEngine, as well as many other platforms using OpenGL for rendering and Box2D for physics through expansion.
libGDX
libGDX - a cross-platform framework, which is written in Java and works with OpenGL. Offers cross-platform support for the publication of the game. Ingress (predecessor Pokémon GO) has been developed using libGDX. Community support is also great, thanks to it you can get the excellent documentation for the job.
EXAMPLE development using libGDX →
conclusion
In this article we looked at several frameworks and engines for game development. Now, you should have an idea of which solution will best fit your needs in the development of the next mobile game. Thanks for attention. I hope that the article was useful to you.