Native vs. Web game development: The past, and the future
Games development has had a long history with both native and the web. Whether you focus on the early arcade games developed for arcade machines, or the later explosion of web hosted flash games (which populated my teenage childhood), games for both native and web platforms have been around for decades. There have been multiple fundamental shifts however in terms of how to develop for both of these platforms, and the profitability offered by each avenue.
Web games started to become popular in the early 2000s with the most notable games portal, Miniclip, opening in 2001. For the most part web games have usually been developed with Flash, but that has changed in more recent years with the Unity Web Player becoming increasing popular (along with HTML5.)
In these early years, to develop as an indie developer the web offered a lucrative opportunity with high traffic which allowed advertising to be a sustainable revenue stream. With mainstream console developers not having a marketplace at the time for indie developers, and the mobile market yet to start, there wasn’t another platform for indie developers to develop with.
Web games still remain popular today but the marketplace is dominated by established brands such as Club Penguin and it’s much harder to penetrate without either a large marketing budget, or an accompanying native release. Miniclip themselves have diversified into offering native apps available for mobile devices. The viability of web development has now plummeted for indie developers in terms of financial opportunity but also with Flash becoming increasingly unpopular existing skills for many flash developers are becoming redundant.
More viable opportunities now exist on native platforms with the App Store and Google Play Store on mobile devices. On desktop machines there are many stores available such as Steam and the Humble Store and console manufacturers now encourage indie developers to publish games on their consoles.
This doesn’t mean web development is a bad route and with the right tools users can support both branches. A good example is the Unity game engine and our release of Embarrassing Bodies: Angry Boils last year. Unity allows developers to build to a large amount of platforms including: mobile devices, desktop devices and console. Unity also has its own web player and the game engine allows you to build a version of the game that works with the web player.
With the right development process, developers can support a multitude of platforms reasonably easily. There are games on Miniclip such as Broforce that have done both a web and native release using Unity. The web release has been designed to be an advertisement to their full game, which is available on native platforms.
This is perhaps the foreseeable future for web games with much fewer fully supported releases being mixed in with developers putting free web builds for advertising purposes. It’s a clever route for additional visibility in an increasing crowded games development scene.
Developing for native is always preferable though for a number of reasons (Spoiler: Android is an exception for most of these points):
- For the most part, you have a good idea about what you’re targeting in terms of hardware/software
- Routes to monetisation are easier to identify
- Fewer restrictions on functionality
- Easier to support
For most indie developers, those points add together to become quite valuable. That’s not to say native development doesn’t have its own challenges, the key issue I would say that developers have to consider when developing natively is to do with how difficult it is to get listed on key stores such as Steam. If the main stream of revenue involves getting listed on these stores, that’s a large risk and developers need to ensure they have alternative plans should they not get that opportunity. The review process for most of these stores as well can be long and laborious but for the most part that can be budgeted for.
Both platforms have their challenges, but both areas can still be profitable and worthwhile. It becomes a lot easier when you have a quality game to distribute in the first place. If you have that, and if the game can be marketed in the right way, then the tools exist to allow development for whatever platform(s) you wish.
The future of both platforms depends on the future technology. HTML5 has the potential to increase the popularity of web development hugely, with there being no need to install any third party player. Native development will however always offer the ability for the user to extract much more performance as the target architecture is much more limited. I’m looking forward to seeing what happens.