A couple months ago we came to a point where we were satisfied with the polish of our puzzle game 100CUBES and stopped development. It was now time for the dreaded export sequence. At that stage we were targeting android platform only; because phonegap was nothing like it is today and our initial tests with cocoonjs were -contrary to the forums' general consensus- quite enjoyable. We never had problems about fps, at least, and that seemed enough. The most challenging part was the advertisements.
You see, in order to display adMob adverts while exporting with cocoonjs, you had to implement another advertisement system, moPub, into your project. Along with another membership, integration of admob into mopub first, then mopub into your project settings in cocoonjs interface, was a very clumsy process. Especially, at those times, mopub interface was a nightmare. Somtimes controls on their pages decided not to show up, other times they showed up but did not register input. And there were some vague, hard to understand settings, with little to no documentation. There was, luckily, some very nice tutorials here in construct tutorial pages, so after a week of headbanging, we somehow got it to work.
By the way, at that point we were complete strangers to apk signing and, I must say, if somehow someone had warned me about what was about to happen, I may have completely left mobile programming. Now I'm glad no one warned me. Because I have my game on both major mobile platforms at the moment. But joined with the admob-mopub-cocoonjs cycle of torture, that apk signing process sucked all the joys of having a complete game out of us back then. We were horcruxes basically. That android SDK setup is a nightmare itself. It is a huge library with a user-enemy installation sequence. For the signing part of a project you are going to wrap with something like cocoonjs, you have to use command lines. You type some black magic to get a key, then you type some more black magic to sign your apk with it and then you also need to add some witchcraft because your newly signed apk needs "aligning"... Yeah...
-Early versions of 100CUBES
But... it worked. After a sleepless night, we were able to see our game in google play store. Initial reaction was mediocre, just by using our own network presence, which can be scored 2 on a scale of 10, we were able to get to trending page of the google play store for a couple of hours. A couple hundred downloads in a couple hours did the trick. We did not have a noticable follow up though, and since this was also something like a learn-as-you-do project for us, we haven't written blogs or prepared press kits about game either.
A week later, IntelXDK happened. We had also fixed a couple of bugs in our game so we decided to try it for our updated version's export. It was a relief to be able to directly integrate admob ads into it. No more moPub. Same performance. A very enjoyable interface - which is getting better every week. This time around we were also warlocks so black-magic part was a breeze. We had everything ready in a couple hours. We were so thrilled that we set our next target:
Deployment to appstore.
-Latest version of 100CUBES
IntelXDK said somewhere, that it can take your same project, integrated with admob, and export it for apple devices. It only asks for the certificates. Certs? What are those? It turned out apple uses some kind of certification process if you wanted to publish something to their store.
That seemed to be another nightmare period coming, but in truth, even though it cost us a 750 USD second hand barely working macbook and a 99 USD store membership, once we were able to get what the hell was going on with their certificate system, it was a relatively painless period. That certificate part, though, was very alien to us PC heads. I felt like a monkey with a bazooka while working on that machine. Countless times I closed the internet-surfer-thing's window trying to type an because the other key next to alt does a close command when combined with q...
Anyway, apple side wants to keep everything very safe and simple, so just by having a macbook you get an integrated authorization and signature process. It is actually built in to a service embedded into the macbook itself. And once I understood it replaced the signature process of the android SDK, I was relieved. Yet still, that part took a week to figure out as well.
Because you have to go into some legal stuff in order to be able to combine your bank account with apple's services, unlike google's paypal integration. So they take things seriously. But if you are thinking about using a pc for their websites, forget it. They are pc-unfriendly in every way possible. Even their colors show different in pc's, they also take forever to load and some controls don't show up -some of the time. When filling a form there, it kept giving me an error while everything seemed to in place. Only when I filled the form in our millenium-macbook I noticed there was a checkbox hiding from sight on pc. I compared the screens and it was invisible behind the textbox in my pc display. I was using chrome, for the record.
Anyway, our certs were ready, but IntelXDK didn't like them. I couldn't make it accept my certificates! So I decided to look for an alternative and I was surprised to see that Phonegap was something straight now. Yeah, it seems after iOs 8, phonegap is now a viable option if you accept the fact that it will only perform well in iOs 8 devices. Is that a problem? Well, in my country it is. here, some people still fight back against iOS 8 because they believe it includes secret codes that gradually kill the old phones in order to help sales of iphone 6's. My folk are imaginative, yes. We also have the disadvantage of using characters like Ç,I,S in our language... which turned out to be real culprit for IntelXDK not wanting to accept our certificates. It turns out there is a problem of intelXDK with Turkish language, because we never had problems before while exporting for the google play store. But after a format to our primary machine and installing Turkish windows 8.0, IntelXD became useless for us.
Anyway, back to the topic: Phonegap interface is very simple, process is also very straightforward. You only have to manually show some icons in your html settings before submitting the project to their website for export After that, our game worked painlessly and with very good performance.
Except, we had to replace our admob advertisements with iads advertisements, otherwise, export was successfull but the layout that we called admob ads crashed the game. Yes. So now we have two separate versions to update in the future, one for android, one for iOs.
But it is there out, working in both platforms, free but with ads. iOs version lacks intersititials because for some reason construct 2 api for iads lack the support, but it's fine. We can do with banner ads as well.
-Felt like a genious indeed, after figuring out apple's certificate system.
So, long story short... It's a fun experience to code with Construct. Exporting to mobile is a painfull process, yes, but only before your virgin voyage. That process has to be painfull, it seems, but once it's done, now you are initiated. I am pretty sure everyone will stumble upon this process, in different steps perhaps, but they will, and only thing I can suggest is to not give up. You can give a break -and god knows we did- but get your ass back to your project and start all over again. Because all the pain go away when a magazine accepts to write an article on your game, for free. Today it happened. We are tired, but we are proud. Our iOs version came months late, but it was worth the fight. And we are very hopefull for the future now.