Monday, February 2, 2015

Crosswalk experiences

Our first Android game "Swing Rocket Dash" was developed using Construct 2 and the Android native build was done with Crosswalk.

As promised in the previous article, I listed some experiences using Crosswalk to build Android application from Construct 2 HTML5 export. There is a great tutorial for using Crosswalk flow at Scirra's webpage. However, there are few things I'd like to add:
  1. On Build Settings (under Cordova 3.x settings) you have to define App ID field. That is used as package name at Google Play, and it is using reverse domain name notation, e.g. com.myhost.myappname. This name is unique for each app, and for "Swing Rocket Dash" we were using com.gamaan.swingrockets ( is our own domain). 
  2. It is important to increment App Version Code field every time you create new version. Google Play wont't accept you new APK if it has same version number than any previously loaded package of your game
  3. You should also check the Plugins and Permissions section and activate permissions you really are going to use in your app. "Swing Rocket Dash" is currently using Device (should be always selected) and Admob plugin (for showing ads)
  4. After successful build you have an opportunity to install your application to your Android device without uploading it to Google Play first: Just open the "build successful" email from html5tools and click the correct architecture (x86 or arm) link to download the APK. This is pretty nice way to try if everything is working as expected. I found this very useful especially when trying to get Google Play Game Services working with my game (it required several iterations).
In general Construct2 + Crosswalk flow is working pretty well as far as you don't try to add anything special like Google Play Services plugin to your app. I struggled with this quite long, and finally the solution was to use Phonegapgame plugin for Game Services in Construct 2. After that there was no need to enable that in XDK.