Evolving Construct 2's export options

1
Official Construct Post
Ashley's avatar
Ashley
  • 19 Jan, 2015
  • 725 words
  • ~3-5 mins
  • 3,028 visits
  • 0 favourites

HTML5 has come a long way. When we launched Construct 2 in 2011, mobile support for HTML5 games was unheard of. Then non-browser wrappers filled in the gap: services like directCanvas (later renamed Intel AGI), CocoonJS Canvas+ and Ejecta allowed HTML5 games to be published as native apps. Now mobile has finally caught up, and Cordova provides a better way to publish HTML5 games as native apps using real browser technology. In response to this we've recently made a few changes to Construct 2's export options, and have new advice for users publishing Construct 2 games to mobile.

Deprecating non-browser wrappers

Ejecta, CocoonJS Canvas+ and directCanvas are all "non-browser wrappers". This means they are simply a barebones Javascript engine with just enough browser-like additions to run HTML5 canvas games. However writing even a small fraction of a browser engine is a significant engineering challenge, and these platforms never reached true compatibility with Construct 2 games. They lacked significant features that browsers provide, like Web Audio support, form controls, WebRTC multiplayer, XML parsing, video playback, the User Media object, and letterbox scaling. Further these platforms were all prone to bugs that never occurred in any real browsers, with issues like memory management, character encoding, screen scaling and more affecting compatibility with Construct 2 games.

As a result of these problems some users had trouble porting games to these platforms when they worked just fine in real browsers. During development we also found ourselves regularly running in to issues and having to modify our code in unintuitive ways to work with the non-standard quirks of these platforms. Overall these platforms were often painful to work with.

Now that there are better options available, all of these non-browser platforms are deprecated and will no longer be officially supported. We recommend new projects target Cordova-compatible platforms instead, and if possible for any existing projects to port over. These options provide far better compatibility since they are based on full browser engines. If the change proves difficult to make, you can keep using the deprecated platforms by right-clicking in the Export Project dialog and selecting Show deprecated exporters. Note however that these options will not see any further maintenance.

Moving to Cordova

Cordova is an open-source library currently maintained by the Apache software foundation. It was formerly known as "PhoneGap", but the name is trademarked and now used by Adobe for their distribution of Cordova. Cordova allows HTML5 apps to be built as native apps for mobile. With the latest developments in mobile technology, it provides excellent compatibility and good performance for Construct 2 games. In Construct 2 there is now just one "Cordova" export option which can be used for any Cordova-compatible platform. Some Cordova-compatible platforms include:

Recommended ways to export

Our recommended ways to export to the major mobile platforms are now:

Note that Cordova-compatible platforms other than Crosswalk work well with Android 5.0 and above. However since it is likely to be a couple of years before this is widely installed, Crosswalk provides good support for Android 4.0+.

Note about NW.js

Construct 2 provides desktop publishing via node-webkit. However node-webkit recently was renamed to NW.js. There is more information and an alpha of the latest release in this forum post. We just released a stable update which still uses the "node-webkit" name; over the next beta cycle we will be updating Construct 2 to refer to NW.js instead.

Happy exporting!

The new export options should provide robust, compatible and well-performing platforms for you to publish your Construct 2 games. We recommend moving away from the non-browser platforms and transferring to the Cordova-compatible platforms as soon as is practical. We expect Cordova provide a solid base for publishing HTML5 content to mobile in to the long term future.

Subscribe

Get emailed when there are new posts!