The following blog post, unless otherwise noted, was written by a member of Gamasutraís community.
The thoughts and opinions expressed are those of the writer and not Gamasutra or its parent company.
Mobile Game Development: Native or Not?
By Roei Livneh, CEO & co-founder, Gingee
One of the greatest challenges facing mobile game developers in 2014 is the platform / OS development challenge: To develop native or not.
As a game developer with 12 years of experience, I can understand and appreciate the challenge developers face.
Reasons For Developing Native:
- Best suited to the hardware for which it was developed: Software is written for hardware. When a developer – any developer – develops in code which was developed for the specific hardware, the resulting application will have the best performance and provide users with the best experience. This will be true for a game or for any other application.
- Provide users with a UX & UI which is Native to their device: Native development enables developers to provide their users with a user interface / experience which they are already familiar with, making for a better playing experience.
- No need to rely on 3rd parties: A second important advantage of developing on one native platform is that you won’t need to rely on 3rd party technology. You’ll be developing with the technology that you know best. It’s kind of like a home court advantage in sports where everything feels natural because it’s your own court.
There are advantages to developing native, as I wrote above, though there are also a few good reasons against it.
Reasons Against Developing Native:
- Fragmentation / Optimization: mobile gaming is a fragmented world including Android, iOS, Windows, Blackberry, etc., and for each, there are current versions, recent versions and tablet versions. With Android alone, according to Open Signal, there are eight versions in use supporting 11,868 distinct Android devices, up almost threefold since 2012. †Research from InformationWeek’s Mobile Application Development Survey showed that the biggest challenges when developing native applications are the coding complexity and cross-platform compatibility for both iOS and multiple Android variants, with each requiring its own optimization.
- More updates: With a broad range of variants, native development will require extensive updating in order to support all the versions and updates of each OS / platform.
- Greater Time to Market: Not only will game developers need to hire more developers in order to develop natively across OSs / devices, but they will also experience a greater time to market, a situation that has been labeled ‘the 11th month challenge’. Let’s say a developer has a successful game for Samsung phones. Now this developer will want to increase revenue by developing for Android tablets and for the iPhone and the iPad. So one by one, they will open development pipelines and hire developers for each device / OS. As these development teams develop the game for each device / OS, they’ll need to make specific optimizations and updates for each in parallel. As I’ve heard from many developers, after 11 months, they are challenged to justify the costs of the parallel development in this fragmented market versus the revenue generated by the game. That’s why it’s referred to as the 11th month challenge.
Though there are development advantages for native development, from a business perspective it can be a challenge to justify the additional resources for native development.
How to decide if you should develop native or not? Ask yourself the following questions:
- Is development for one platform / OS sufficient for you?
- If not, can you sustain your business on one operating system / platform until you’ve generated enough revenue to develop on other platforms / OSs?
How do you decide if to develop via native OR not? I’d like to hear your input based on your experience in the comments.