CocoonJS Updates For Construct 2 Developers

Ludei has been for several years now serving as a game native hybrid HTML5 app building system for many Construct 2 (and other frameworks) users. A big number from our more than 42,000 developer community have used CocoonJS successfully to release final products to the stores, hundreds of them made with Construct 2. We have provided a good platform for many, but we also understand CocoonJS might not have worked as expected in some situations. We would like to clarify this and help the Construct 2 and other game and app development platform communities to grow and be successful.

First of all, CocoonJS has evolved in the last months. We started focusing just on HTML5 games, where we saw the biggest needs, about 3 years ago. The HTML5 Canvas component was available in mobile browsers and native hybrid technologies (WebViews), but it was slow, fragmented and lacking many advanced features (and still does). We developed Canvas+, a cross-platform technology for iOS and Android that solved many of these problems. But this technology has been built from the ground up by Ludei (yeah, we built a subset of a browser from scratch!) and it wanted to fulfill only one purpose: render HTML5 Canvas 2D and WebGL applications on mobile. It did and does not render any DOM elements apart from Canvas. It lacks many features. We have added some over time (basic HTML parsing, XHR, WebSockets, gamepad, …) but still, it is not a complete HTML5 execution environment. We understand that it can be a hard environment to work with (specially at the beginning) as it limits the HTML5 APIs that can be used. But despite these limitations, it has been used by all our games and by thousands of projects from our developer community that have been successfully published to the Apple AppStore, GooglePlay, Amazon, Tizen, OUYA, etc. Big companies like Disney, Nickelodeon and others have used it too to accelerate and publish their games.

About a year ago we realized that a new trend of HTML5 execution environments were about to be launched. The iOS WebView was getting better in every aspect, even on the Canvas execution (still lacking WebGL until iOS 8, released last week). Google released the source code for the Chromium Project for Android and was announcing a possible inclusion of the runtime inside every new Android. The Cordova community also grew and it has become the de facto standard for native hybrid app compilation. We went back to the roots and tried to include these technologies and as a result, WebView+, the System WebView execution environments and the CocoonJS Cordova Command Line Interface were added to CocoonJS.

Now CocoonJS is not just Canvas+, a HTML5 Canvas 2D and WebGL execution environment, it is a complete set of technologies that developers can test and use in order to select the one that best fits their needs. We have also contributed the WebView+ (Chrome based) to the Cordova community with the CocoonJS Cordova Command Line Interface so anyone can build their Android and iOS (WebView based) projects on their own. Our Cloud Compilation System also provides the option to compile the Cordova project for you, so you do not need to install nor update any SDKs locally.

Additionally, we made all of our CocoonJS Extensions available in any of these new environments (WebView+, WebView) too and of course, if you choose to use Cordova compilations, you can use any Cordova plugins.

Regarding the Construct 2 community specifically, as Scirra has hidden the CocoonJS export option from the latest release, and as we know there is a big part of the Construct 2 community that might still want to use our service, we are providing different solutions:

  1. The latest versions of Construct 2 hides anything related to CocoonJS by default. If you want to still get access to these features, you can do so by specifying to “show deprecated exports/plugins” by right clicking in both the Construct 2 export options and the Construct 2 plugins respectively.

image_02

image_00

  1. A couple of months ago we announced that CocoonJS Canvas+ was compatible with the regular Construct 2 HTML5 Web export option. This means that if you export to the HTML5 Web and still be able to test and deploy Canvas+ based projects. There might no be fullscreen mode when WebGL is enabled in this type of export but if you disable WebGL in Canvas+ and use it’s fast Canvas 2D acceleration, your game should be correctly adapt to the whole screen. Although we recommend option 1, we are also mentioning this possibility for all those developers that do not have the export to CocoonJS option.

image_03

image_01

  1. Remember that CocoonJS is a platform that provides different runtime environments. If you want a phonegap like experience, but still use an improved WebView on Android, you can use our WebView and WebView+ options and compile your Construct 2 HTML5 Web export using both the CocoonJS Cordova Command Line or the CocoonJS Cordova Cloud compiler.

All these runtime environments are available to be tested using the CocoonJS Launcher application for iOS, GooglePlay and Amazon, a great testing tool for your projects.

And we are still working on improving our platform and these are some of the features that will soon be available.

  • We are working hard to be even more Cordova compliant and provide a seamless integration of all our runtime environments in a simple to use cloud compilation service.
  • The cloud compiler will be exposed through a REST API so third party development frameworks can easily access it and provide a unified experience for their developers.
  • A new version of the Construct 2 plugin will be available soon with a new plugin id.
  • A new iOS runtime environment option will be available: WebView+, based on the new WKWebView iOS 8 component. We are experimenting with it right now.

We fully respect Scirra’s decision to hide the CocoonJS related options. Still, we think we need to remember and correctly communicate that CocoonJS is no longer just a Canvas+ execution environment and that still can provide a great final product native hybrid app compilation for many developers (even using Canvas+, used by many!) from Construct 2 or any other HTML5 development framework. We hope to see more and more WebView and WebView+ projects being compiled using CocoonJS!

13 Comments CocoonJS Updates For Construct 2 Developers

  1. avatarC2user

    Where is support for memory management? Why whole app is loaded at the beggining?
    Why you don’t care about your own plugin?

    Ashley (from @Scirra) tried to co-operate with you, but you ignored him.

    LOL

    Reply
  2. avatarArcadEd

    All of my games have been compiled with CJS, and it’s always worked great for me. I’m looking forward to continued improvements and hopefully it all goes smoothly. It seems like you are listening to the C2 users that still want to use CJS, so please take this this to heart.

    Please Fix/Change the flashing Ludei logo on startup of every app. I don’t mind the logo, but at least add some LOADING… text or something too it. Also, please allow us to get rid of the logo completely, if this has to be a paid service, I am fine with that.

    Reply
  3. avatarMat Nicholas

    From my point of view the plugin is missing following plugin options.

    -Post/invite from Facebook / Twitter
    -Game Center / Google Play Games Service
    -Local notifications
    -Analytics

    Until those are included CJS doesn’t have all the things it needs from construct2 developers. Yes, the plugin is opensource. Yes, somebody else could do it… but fully supporting means you should do it for C2 users.

    Reply
  4. avatarTxus Ordorika

    As stated before, CocoonJS is not just Canvas+, a HTML5 Canvas 2D and WebGL execution environment, it is a complete set of technologies that developers can test and use in order to select the one that best fits their needs.

    This forces us to leverage some updates on the community behind, so that anyone can update the plugin.

    Webview+ can execute directly also complete games exported for the web. Most browser-capable plugins should work there too.

    Regarding the problems pointed out, we’ll try to provide workarounds for the flashing logo.

    Reply
  5. avatarErik

    I appreciate that you are continuing to work with C2, but I agree with Scirra, they could not have your export as an option due to many factors.

    One of the largest was the fact you do not have a dedicated customer support system or a way to pay for support. Many C2 users experienced issues and were ignored for MONTHS on the forums. Sometimes they would get replies asking for zip files etc, but again, nothing would come of it. I was willing to pay for support, but there was no option.

    Secondly is that the updates were not really communicated or on time. Months would by with bugs and folks would just give up waiting. I think communication on timelines needs to be completely changed.

    Last, this is an experience with me. I would use your CocoonJS Launcher, and the app would run GREAT! But then when I deployed natively, I would get flashing images, poor performance, or in the case of iOS, it wouldn’t load at all. Again, calls out for support on the forums went unanswered for weeks to months.

    These are the main reasons I feel Scirra abandoned your product, as they were my reasons. I love that you have created a “Toolbox” of HTML5. Developers can choose what they want, but you MUST support them!

    I bet you anything people want more stability and support over bleeding edge features.

    If some of this gets sorted, I’ll be back in a heartbeat because your tool is still the best as far as performance.

    Reply
  6. avatarDerik

    Always use the cloud compiler to test my games, performance greatly improved with the latest version, should take over the splash screen that flashes while loading the game.

    Reply
  7. avatarEd Farias

    Construct 2 just went to 184 Stable. Any chances on making sure the plugin is up with the latest stable? I know on 183 there was errors when you tried to run or compile.

    Reply
    1. avatarMarta Aguilera

      Hello,

      It worked perfectly in all our tests. If you find any issue, we will have a look a it, but you shouldn’t have any :).

      Cheers.

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *