Choosing the Right Engine for your Android Game

Game Article
September 24,2014 - Eoxysgames Team

Abstract

Game developers know that there is a tremendous opportunity on Android. Of the top 100 apps on the Google Play store, about half are games (as are over 90% of the 100 top grossing apps). To tap into this market, speed of development is crucial. Some beginning and independent developers prefer to develop all of their own code from scratch, but to reach a high level of quality without spending years in development, others choose preexisting game engines. When selecting an engine, here are some factors to consider:

  • Cost – How much are you planning to spend?
  • Dimensionality – Is your game 2D or 3D?
  • Languages – What programming languages do your developers know?
  • Artist pipeline – How well does it integrate with content creation tools?
  • Full source access – Do you need access to make deep changes to the engine?

There are many Android game engines available, but they differ substantially in these criteria. With the increasing market penetration of high performing Android devices with Intel® processors, it is more important than ever to choose an engine optimized for x86-based Android devices. This paper will help you choose the right engine for your game so it runs its best for all your Android customers.

Contenders for Your Selection

This article examines three of the best candidates in light of these categories.

Un Real

Unreal* Engine by Epic Games, is a long-time heavy-hitter, boasting a large number of successful titles on PC, console, and mobile platforms since its first release in 1998. Unreal Engine has the following tools:

  • Unreal Editor (3D content editor)
  • Blueprint visual scripting (drag-and-drop editing)
  • Persona animation tool
  • Editors and tools for AI, lighting, and other effects
Project Anarchy

Project Anarchy* is a recent development from Havok. It combines Havok’s key game technologies that have their own proven track record into an engine customized for mobile development. Project Anarchy has the following components:

  • Havok Vision Editor (3D content editor)
  • Havok Vision Engine with Havok Physics
  • Havok Animation Studio (drag-and-drop editing)
  • Autodesk Scaleform* (UI tool)
  • Editors and tools for AI, lighting, and other effects
Marmalade

Marmalade* is a cross-platform SDK built for rapid creation of mobile games. Younger technology than the other two, Marmalade was just released as a game engine in 2011. Marmalade has the following flavors:

  • Marmalade C++ SDK
  • Marmalade Quick (Lua)
  • Marmalade Juice (Obj-C)
  • Web Marmalade (HTML5/JavaScript*)
unity

Unity* is a cross platform tool for mobile desktop and web. It combines game technologies(2D & 3D) engine. Unity has the following components:

  • Unity Editor (2D & 3D).
  • Unity Game Engine with Physics.
  • Unity Language (c#/Java Script/boo).

Cost

Many engines offer multiple tiers of pricing depending on what functionality is required. Factors that most often determine cost are the target platforms and size of your team or company.

Unreal Engine requires a $19/month subscription, but also asks for 5% of your gross revenue from all programs based on their technology. Customized pricing structures, additional support, and development options for consoles are available.

Project Anarchy is (and will continue to be) free for teams of any size to use when developing mobile games. An available purchase allows for development targeting PC or consoles, as well as deeper access and more tools. For basic development, Project Anarchy is definitely the most cost-effective, asking only the option of co-marketing with your game.

At the time of writing this article, Marmalade is free for a team of up to 3 developers to use for 1 year if your organization’s revenue is less than USD 500,000. This is a temporary promotion, with the license normally costing $149 + tax. Higher pricing tiers allow development for more target platforms and grant direct developer support.

Unity is free to use for basic development. The free version of Unity may not be licensed by a commercial entity with annual gross revenues (based on fiscal year) in excess of US$100,000, or by an educational, non-profit or government entity with an annual budget of over US$100,000. To get Unity pro version $1,500 or $75/month.

Dimensionality

The appeal of 3D games is undeniable, but 2D is a better fit for many simple games and requires far less investment of time and resources. The dimensionality of your game has a strong bearing on your engine choice.

Marmalade does have 3D graphic support, but both Unreal Engine and Project Anarchy were built for it. These engines have been refined numerous times to provide the best experience in 3D development.

Similarly, all three can be used for 2D games, but Unreal Engine and Project Anarchy may be overkill. Project Anarchy currently has an alpha-level 2D toolset sample, and both Unreal Engine and Marmalade have 2D sample code. One subset of Marmalade tools designed for rapid development, Marmalade Quick, is 2D-specific.

Unity is notable for its ability to target games to multiple platforms. Within a project, developers have control over delivery to mobile devices, web browsers, desktops, and consoles. Supported platforms include BlackBerry 10, Windows Phone 8, Windows, OS X,Linux (mainly Ubuntu), Android, iOS, Unity Web Player (including Facebook), Adobe Flash, PlayStation 3, PlayStation 4, PlayStation Vita, Xbox 360, Xbox One, Wii U, and Wii. It includes an asset server and physics engine.

All three can be used for 3D and 2D games, but Marmalade is better suited for 2D, while Project Anarchy and Unreal Engine are the best for 3D.

Languages

If the developer(s) on your team are familiar—better yet, experienced—with a programming language used in an engine, the learning curve is much more reasonable.

Prior to Unreal Engine 4, gameplay programming in the Unreal Engine was done in UnrealScript, Epic’s proprietary scripting language with a C-like syntax. With the release of Unreal Engine 4, C++ is the primary development language.

Project Anarchy is based in C++, with Lua for scripting. Many engines use a lightweight scripting language such as Lua as much as possible to minimize risk to low-level tasks such as memory management.

Marmalade has multiple toolsets, depending on the language desired. The basic SDK uses C++, Marmalade Juice uses Objective-C*, Marmalade Quick uses Lua, and Web Marmalade is designed for HTML5/JavaScript development.

Unity is based on C#, Java Script or boo for scripting and development.

In versatility of language options, Marmalade really shines. There is a good chance that your developers will be able to use some form of Marmalade with their preferred flavor of development. This attribute is closely tied to its “write once, run anywhere” nature of abstraction layers.

Artist Pipeline

Long gone are the days when development teams were composed only of programmers. These days, game studios (large and small) have pretty even splits between programmers and artists. Engines that include tight integration with content creation tools have an edge over the competition. Both Unreal Engine and Project Anarchy have 3D editors for layout, level design, asset manipulation, etc. These are especially useful to 3D artists, as the interface is similar to many 3D art tools (which will also be used in conjunction with the engine’s editor for asset creation).

Un Real Engine

Unreal* Editor (left) and Havok Vision Editor (right)

The Unreal Engine has a “blueprint scripting” feature, where the script components such as actions are visualized as drag-and-drop elements.

Un Real Engine

Blueprint scripting in Unreal* Editor

Project Anarchy has a similar state-machine-based designer for animations.

Project Anarchy Engine

Project Anarchy* Hierarchal State Machine animation tool

Project Anarchy Engine

Project Anarchy* Hierarchal State Machine animation tool

Although Marmalade has a large community developing open-source plugins and tools to aid development (many of which are available at http://github.com/marmalade), the official Marmalade kits do not include anything for non-coders. Project Anarchy and Unreal Engine take the lead here for their fairly comprehensive tool suites.

Full Source Access

In terms of infinite possibility, the next best thing to creating your own engine is having the power to modify one. With access to the full source code, you can change anything in it, or add your own support for other, new target platforms.

The Unreal Engine is the most generous in this aspect; full source access is available when you pay the subscription fee for Unreal Engine 4.

Project Anarchy offers the source of some components, and full source is available at the higher investment level. Low-level access is always available, but modification is limited with the free version.

Despite having a large selection of open-source plugins, Marmalade itself is closed-source. The highest tier nets you targeted support, but no additional source access.

Unity offers the source of some components, and full source is available at Pro Version. Basic-level access is always available.

This isn’t much of a concern for most developers, but the more complex your game’s engine design is, the more control you may need over every last detail.

Comparison of Features

Un Real Engine
. Marmalade Project Anarchy Unreal Engine Unity
Lowest Cost Free promo/$149+VAT Free $19/month + 5% Basic Free
Pro $1,500 or $75/month.
3D Doable Built for it Built for it Built for it
2D Easiest ToolSet in Alpha Doable, Samples Built for it
Languages C++, Obj-C, Lua, HTML5 C++, Lua C++ C#, Java Script, boo
Non-Coder Features 3rd Party. 3D Editor, Animation Studio 3D Editor, Blue Print Scripting 3rd Party, Animation Studio
Full Source No. Some, All at Higher tier. Yes. Yes.

Summary

Each of the engines compared here has its strong suits, and a particular forte. If future cost is a concern, Project Anarchy is the way to go. Given the skills and desire to deeply modify and extend the engine, Unreal is the lowest-cost way to do so. For quick development of a 2D game, Marmalade is hard to beat. There are numerous other engines out there—free and open source—that can match many of the features of the engines compared here, but the ability of these engines to make your game shine on a wide variety of Android devices put these three at the top of many lists.

References

  • Unreal Engine
  • Project Anarchy
  • Marmalade
  • Unity
  • Google Play Store Statistics http://www.appannie.com/apps/google-play/top/

Courtesy:Intel