Suggestion! Consider bringing Cordova into Construct 2/3!

  • ethanpil I agree the ideal solution would be to have Scirra maintain it, but it would also be acceptable to a lot of us if there was a reliable 3rd party solution. C2 was built to allow this and we just need a solution we can count on. Sang Hi has helped a lot of people, but you only need to read a few threads to see that he really wants to be a builder of games and the plugins is a side thing for him. Since he has announced that he will support the plugins for money, I have still seen many posts of people saying they have been waiting for the plugins or fixes to them. If I had a published game now and something was not working, I would be out of my mind at this point. haha

    If I knew how to code plugins, I would consider doing it as it seems like a great opportunity for the right person/company. If you built reliable plugins and defined a clean path on how to use them and deploy to iOS and Android, I have no doubt someone could put some good coin in their pockets.

    part12studios I did start over and built as a new project in XDK and the game is locked in portrait mode. All the settings I know of are set to landscape, but it will not show in landscape. This was not a problem before. I am not even saying it needs to lock in landscape, but when I turn my phone, it stays in portrait. It works fine within C2 as well as when I emulate in XDK. If I Test in XDK with App Preview, it worrks fine as long as I am holding my phone in landscape when it launches. As soon as I flip it to portrait, the game flips and it is locked there. It won't go back if I turn my phone. Bizarre...

  • CDogs1964 yea that's really the long and the short of it. Sang Ki doesn't want to be a full time plugin developer. It's just not where his heart is.. and pretty much why he's priced it so low.. he's really not trying to majorly profit from it because there is an inherent obligation to support plugins when users invest "legitimate" amounts of money into plugins

    Ok so the portrait thing.. that's really weird.. so here are a few things to check.. 1. in your C2 project properties you have an option there.. 2. in the build settings of XDK there is a setting as well (fullscreen check as well). 3. unlikely but Sang Ki did make some plugins that actually help lock a position as well. 4. I think there might be some settings in the browser plugin as well that can determine this also. these are the only places I can think of that a player has control.

    Ashley I can't emphasise this enough.. PLEASE allow plugin developers to sell their plugins IN Construct 3.. it may already be in the works but seriously.. the current path to plugin discover is not impossible but it takes some hoops to jump through especially as a beginner. Doing this would better allow plugin services like Sang Ki's to reach ALL C2 developers much easier and allow the market to also compete. This however is a good thing. When someone offers a premium / dedicated product that might cost more.. they know they are also buying into a product that the community can review / promote / share.

  • I'm not sure exactly what you mean by "integrate Cordova in to Construct". The runtime already integrates with Cordova by using Cordova-specific features where available. I could copy-paste a bunch of Cordova files in to the Construct installer, but then specific C2 releases ship with specific Cordova versions, which slows down the whole update process. A nice thing about the fact Cordova is not directly integrated is whenever you go to a build service like the XDK or PhoneGap Build, you get the latest and greatest Cordova version with all the latest bug fixes and features - not whatever version happened to ship with r216 or whatever C2 version you happen to be using at that time.

    As has always been our policy, we do not obligate ourselves to support third party plugins in any way. If there are specific features you would like to see integrated as official features, please do suggest them.

    I guess we could run our own build system, but that is very time-consuming, difficult and expensive to run, and currently the Intel XDK provides that for free. So I don't see much point in us doing that either. I know there are several build systems to choose from, but I see that as a good thing: it protects you from any one service shutting down/hiking prices/otherwise making themselves not useful. We've also been criticised in the past for relying too much on one service, so...

  • Ashley just suggesting it be something like how you do Node Webkit. To allow plugins / game to output an IPA or APK in the same fashion.

    Intel XDK though is going through it's own updates and changes and this does and has cause problems. it's not always this way but when you are on a timeline and find that something is broken, it creates a real concern about dependability.

    Having something that you maintain and only update as needed would help insure that updates don't create new problems. having some standards for plugin developers to test against would help everyone insure their stuff works reliably everyone. maybe this puts us a little behind at times on bleeding edge performance tweaks but I think it's safe to say that most of us would take stability over performance.

    you owning your own cordova solution (my understanding is that it's open source?) would insure we NEVER have to worry about any of them being unreliable/unfair because we stay safe in the C2 environment. This also means added services / features / options could be offered (for a price) to allow C2/C3 developers to opt in too.

    I don't know what your price models are for C3.. but I think most of us who are professional developers know C2 is a good value and frankly I'd be happy to pay more for C3 because it will run on Mac (amen!) and i mean back when I was a game salad developer I was paying $300 a year to be a pro developer and that engine is a kids toy compared to what C2 is capable of. I understand it is more to take on and it may take additional help.

    The common theme among EVERYONE I know who use C2 is that it's incredible for making games quickly and effectively. We can explore a broad range of game ideas and happy developers mean productive developers, but what I'm also hearing (which reflects my own experiences) is that when it comes time to publish.. productivity goes south.. time wasted over endless testing building pushing over and over suddenly takes the dream of creating a game and publishing it half fulfilled. If something could be done to make the plugin / authoring process to be stable and universal.

    I do understand some people might not like it.. and guess what? they can still choose those other platforms.. you're not limiting anyone.. but you are offering a standard that (if I understand cordova correctly) you own. I can see being reliant on another service/3rd party putting you in a bad place (like cocoonjs) but that's because they make their own changes.. make their own rules.. in this solution you are the gate keeper. You keep developers in your environment and even keep money coming that way.. if Cocoon IO can ask $500 to debrand their apps.. maybe you could too? I'm not a fan of that method, i'm just spitballing here.. but ultimately there must be a way that the signing of apps for iOS/Android (and even windows phone if you are inclined) could all be safely inside the Construct environment.

    This also means all forums posts about people having trouble can likely get straight answers.. because everyone is using the same approach.. right now if an XDK user is having trouble.. any phonegap / cocoonio people will have little help to offer.. and this is what's happen.. "works for me on phonegap..." or whatever platform they use.

    Thanks Ashley for taking some time to respond to this. I hope you understand it's not torches and pitchforks here, we're just really passionate about this software and see this particular aspect of it as something perhaps could be resolved with your help and maybe we help you see a need you hadn't realized exists.

  • We know lots of developers do use the Intel XDK, PhoneGap Build and other services successfully, but that's not to say the publishing workflow couldn't be smoother. It's unlikely we'll make significant changes in the C2 time scale since most of our efforts are going in to C3 right now, but we're aware of the difficulty some people face with publishing, so we'll be looking in to what we can do to improve this for the future. We do want to avoid pitfalls like locking users to a specific version, and it's a little more complicated than the NW.js model since Cordova & app store publishing is more involved than just copy-pasting the NW.js files around. Given we're still relatively small and there are free options available we hadn't prioritised this, but we are well aware of this kind of feedback coming up on the forum and we'll be thinking about how to make it better for C3.

  • Ashley thanks for taking this into account and thanks for explaining that it's more involved than NW.js

    Getting an app on the store is not so hard.. well.. it can be done with some persistence I've never found it easy.. I just was one of the people who stuck with it long enough to see some things get through, but the real issue seems to be having access to the latest / in demand monetization methods. admob is ok, but it's other options like IAP which is a most for almost any game these days that requires a 3rd party plugin. That doesn't seem right. Also rewarded videos are a very hot / good paying option that people are asking for and it's features like this that prove to be a single point of failure when we have to turn to 3rd party services which are in a fragmented state.

    Also yes I would much rather see improvements in C3 (like selling plugins IN the C3, not having to go through 3rd party websites / paypal to find / pay for things) that ask or expect these things to happen in C2. I kinda sigh a little each time we get C2 updates lol.. thinking.. that was time he could have spent working on C3.. but i know others are helped by these updates so of course I know it's not really wasted effort!

    Thanks!

    Caleb

  • Excellent discussion! The ability to add monetization methods without running into issues when you go to publish is key. Without this, I see C2 as something for hobbyists or as something people will move away from when they decide they want to make some money on the games they are creating. Th tool is so good, I would hate to see that happen, but I have read in other threads how people have given up and pulled features from their game simply because they could not get a clean build made.

    Personally, I am in the midst of this situation now. I spent about 6 months creating my first game. I knew exactly how I would monetize the app, but waited until the end to actually add it in. Everything was working great until I got to this point and it has been nothing but headaches since. I actually downloaded Unity at one point, but I enjoy working with C2 so much I decided to try again.

    By the way, I loved the "it's not torches and pitchforks" comment! We all love the tool, but the business side that comes after making games needs to be addressed. Thanks for your time.

    I also think the ability to share info with social media from within a game is very important. This seems to be causing less headaches.

  • I kinda sigh a little each time we get C2 updates lol.. thinking.. that was time he could have spent working on C3.. but i know others are helped by these updates so of course I know it's not really wasted effort!

    If you are referring to Ashley, as far as I know he only works on C3 at the moment. Scirra hired a new member to do the updates for C2.

  • ah ok great to know glerikud I remember their being talk of some added help but wasn't sure how that help was being applied. Good to know.

  • Ashley I dont see Construct2 building out the final apps... outputting APK or IPK. That would be a nightmare on your end and as you said, plenty of services do that already. I think Phone Gap build or other platforms should specialize and be used for that as they do now.

    What I thought we were talking about the while time., and what I am most interested in, is having Cordova core APIs integrated within Construct as platform plugins, to enable devs to better utilize the hardware and common OS features of mobile devices, which is specially what many of the CranberryGame plugins provide.

    Cordova already has a solid and stable release cycle and its easy to target specific versions in a build. This means adding a build target to Construct of a specific PhoneGap/Cordova version. This results in an HTML project output as Construct already does, with the extra Javascript files and an XML config for Cordova.

    By targeting PhoneGap/Cordova for output, Construct would output a complete Cordova project ready for submission to PhoneGap build or self compilation or any other compatible build service.

    If Construct would integrate even a few core mobile functions as built in plugins, it would truly be amazing. Take a look here at the cross platform goodness for Android, Windows and iOS mobile. http://docs.phonegap.com/plugin-apis/

    I am talking about Cordova/PhoneGap's unified cross platform API to do a lot of these things on all platforms with the same code base:

    • Use mobile camera
    • Receive push notifications
    • Access device storage
    • Hardware buttons
    • Geolocation
    • Vibration
    • Dialogs

    I don't think Scirra targeting the core PhoneGap API is any different than targeting the Node API. Its an established ecosystem that is stable and very well documented, supported and versioned. The hardest part would be developing the Construct plugins for the GUI, which is what cranberrygame has done to some extent, and this is what I have been rooting for in this thread.

    If this was implemented, this is how I imagine that it might work in Construct:

    I can insert a new Platform Specific objects into my Construct project, lets say "PhoneGap Vibrate" which activates new actions and events similar to the way the Touch object works. I can then use Construct's system to trigger a vibration.

    Or maybe I can add a PhoneGap Listen Notification object. Then I can add events for On Notification Receive.

    Or maybe I can add a PhoneGap Send Notification object. Then I can add trigger a local notification.

    Or can add an object PhoneGap Camera and then acquire images from front or rear camera similar to the current user media system.

    Or a PhoneGap system plugin can allow me to read battery stats, network state, etc.

    Or a PhoneGap share plugin can allow me to use the mobile OS social/sharing tools

    Then I output from Construct out to my Cordova/PhoneGap target, and I now have a folder with a full HTML5 build with some extra plugins and XML thats ready to go. (Instead of going crazy fiddling with the output and trying to integrate these ourselves after the fact, as we do now before building for mobile).

    Next, since Cordova is basically an industry standard, I can do the final Cordova compile myself with the free tools on my system. Or I can upload the Construct output as is to one of many Cordova compatible build services such as:

    • PhoneGap build (my personal choice since I pay for adobe anyway)
    • Telerik Appbuilder
    • Crosswalk
    • ApplicationCraft build service

    Does this make sense? What do you think? Is there hope?

  • ethanpil "Next, since Cordova is basically an industry standard, I can do the final Cordova compile myself with the free tools on my system." exactly.. make it part of the publishing pipeline.. but in a way that is easy / well thought out for C3 users to not get caught up with the many options and various outcomes..

    Cordova is a standard, we're not asking Ashley to make something new.. we're just saying consider if it would be possible to export directly to Cordova. Rather than having us have to get into command line prompts and managing plugin stuff.. if C3 is smart enough to know what Cordova plugins are installed and developers are given standards to adhere too.. this would allow everyone to focus their energy on one agreed method.. I'm not saying cut off all the others. Guys like you who want options will still have them.. but for most of us we just want the core / well excepted services modern mobile games have to be supported by C3 itself. We shouldn't have to rely on 3rd party plugins to make money off our games. Currently we do and it's ok, but a lot of people are having trouble with it. It's not fun. It makes C2 itself feel less satisfying to invest a bunch of energy into making a game only to have those dreams dashed because something isn't working.

    It sounds like you've had no problems with publishing to iOS/Android using many different 3rd party services and that's great, but from the people who have spoken up you are in the minority. ArcadeEd has shared somr really great insight and has had some good results but he's also a javascript developer and has had the means to work through the bugs he has had to work through to get there, which shouldn't be expected of C3 developers.

    The reason we're using C3 and why we're spending money on this engine is to 1. make games without code and 2. publish those games to (safe to say most cases) make money from our games. When we are required to rely on 3rd party services for these revenue generating options (even IAP?!) this can be problematic.

    Also while I'm glad you like having 5 different options to publish too.. this is not good for most because basically it creates a wild west of hits and misses from everyone.. XDK has been the best overall experience for me, but it's not always.. and I've heard complaints about all the other options too so I don't think any one solution has proven to be the best route. This only hurts C3.. "good luck out there kid.." is basically what it ends up being.. and people who want to use C3 for professional goals should know that C3 IS the solution for publishing their games.

    Maybe I'm wrong. If ethanpil's story is like many other's I'd love to hear all these people who are having smooth sailing creating mobile games that use services like

    I know one developer Volkan who I have had a bunch of conversations about this and he's managed (after a lot of hard work and frustration) to get it working but this may not be the case next time he goes to do an update because of so much change..

    he's done an amazing job of getting pretty much everything working.. and then you have say me for example trying to do the same thing and getting radically different bugs.. so is it possible? basically if you're lucky.. even for him he's spent way more time just getting the services to work than should be needed.. and that was just android.. then iOS becomes a whole other uncertainty..

    it's just mess that could use a better solution than "look at all these possibilities.."

  • If you are referring to Ashley, as far as I know he only works on C3 at the moment. Scirra hired a new member to do the updates for C2.

    It's actually the other way round: Diego is working on C3 with me, but I still do maintenance on C2 so it's not left behind.

    ethanpil - several of the features you highlight have existing web standards, e.g. for camera and geolocation. We want to use the web standards wherever possible. Cordova APIs should only be necessary for non-standard stuff like IAP and ads, and maybe push notifications, but web standards are in progress even for that. Even then, for something like ads, there are hundreds of services out there and it's an impossible task to support them all, so in that case it's intended that third party plugins can cover the services we don't cover officially.

  • Ashley the problem is that many of the web "standards" don't work the same way in a webview app. For whatever reason these APIs are restricted to native and that's one reason that the Cordova solution exists. So are you saying this type of integration will never happen?

    part12studios I think its unreasonable to ask Scirra to create and maintain build platforms. These are complex toolchains that would be time and cost prohibitive.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • I'm not saying anything will or won't happen for certain. We just want to use web standards where possible.

  • Ashley maybe you could help me know if C3 is going to have plugins be something that can be bought in the app in a way similar to the C2 store? I remember reading some of he initial goals of C3 and that one isn't one I recall in the list. Something like the unity asset store. I'm thinking this is a must have thing and this too could help everyone be synced up to the latest plugins.. offer more visibility and competition for services. It also would allow developers to be able to better support and identify community needs and with the folks with the right skill sets.

    ethanpil I guess this is true though I was hoping it wouldn't be. Other services like GameSalad did it through a web interface. ArcadeEd made it sound like it might not be that bad (though devs would be required to download some stuff, but that should be reasonable) however that might have been oversimplifying things. This thread was mainly focused on the suggestion if it were reasonable to do. I understand it's not. My only follow up to that would be to at least have perhaps an order of platforms to try.. point everyone to start somewhere.. for example.. maybe all devs should start with XDK.. I need to do a Poll at some point and ask people what they are using to publish to mobile.

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)