Suggestion! Consider bringing Cordova into Construct 2/3!

Discussion and feedback on Construct 2

Post » Wed Nov 04, 2015 5:45 pm

@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...
B
42
S
16
G
3
Posts: 169
Reputation: 4,383

Post » Wed Nov 04, 2015 6:07 pm

@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.
B
56
S
9
G
1
Posts: 938
Reputation: 6,458

Post » Wed Nov 04, 2015 7:10 pm

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...
Scirra Founder
B
387
S
230
G
88
Posts: 24,251
Reputation: 192,464

Post » Wed Nov 04, 2015 9:06 pm

@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.
B
56
S
9
G
1
Posts: 938
Reputation: 6,458

Post » Thu Nov 05, 2015 2:45 pm

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.
Scirra Founder
B
387
S
230
G
88
Posts: 24,251
Reputation: 192,464

Post » Thu Nov 05, 2015 3:03 pm

@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
B
56
S
9
G
1
Posts: 938
Reputation: 6,458

Post » Thu Nov 05, 2015 6:35 pm

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.
B
42
S
16
G
3
Posts: 169
Reputation: 4,383

Post » Thu Nov 05, 2015 6:49 pm

part12studios wrote: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.
B
129
S
33
G
17
Posts: 1,552
Reputation: 20,515

Post » Thu Nov 05, 2015 8:44 pm

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.
B
56
S
9
G
1
Posts: 938
Reputation: 6,458

Post » Fri Nov 06, 2015 12:36 am

@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?
B
28
S
8
G
2
Posts: 58
Reputation: 2,586

PreviousNext

Return to Construct 2 General

Who is online

Users browsing this forum: No registered users and 3 guests