A very long summary of our mobile export adventures

0 favourites
  • 11 posts
From the Asset Store
a ready made template of Mobile Advert, Google Play and Mobile IAP Plugin,
  • Hello friends.

    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.

  • Thanks for sharing that with us! Lots of helpful information in your story.

  • Nice read.

    Seems like someone should offer a service for helping with the publication.

  • Why did you have to have two separate versions of the project?

    Couldn't you just test on the start of the game:

    If is on platfrom Android -> use Admob

    If is on platform IOS -> use whatever iOS uses

    ?

  • Hello friends.

    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...

    Sorry for this. However, we took it into account when developing the new cloud (we expect to have the beta ready next week). We included some features in order to assist the user in the process.

    In addition, we have this new plugins (only available at the new cloud, on a cordova project or in the CocoonJS CLI as they are for cordova): https://github.com/ludei/atomic-plugins-c2

    There are some demos attached. We created them using the CLI.

    Regards

  • That's really informative Windwalker! Thank you for sharing this so other can also know what we are going to have to deal with.

    ......I had no idea that you needed to have an IOS running computer or laptop to create those certificates you mentioned to place your apps on the apply app store! So that means that if I want to publish my game there, I will need to buy an apply computer or laptop just for that?!

  • That's really informative Windwalker! Thank you for sharing this so other can also know what we are going to have to deal with.

    ......I had no idea that you needed to have an IOS running computer or laptop to create those certificates you mentioned to place your apps on the apply app store! So that means that if I want to publish my game there, I will need to buy an apply computer or laptop just for that?!

    You can get IOS image and then use vmware to run on your windows machine. I did not try making certificate it but i am able to run IOS on vmware without any issue.

    Check https://www.scirra.com/tutorials/907/de ... e-easy-way

  • farhanx, thanks for that! Really appreciate it. Planning to release my game for the IOS as well and you've pointed me to a good starting point!

  • Why do you have two versions?

  • Hello friends, thanks for the comments. shinkan Iolva, why I had two versions? Because I have iAds in one and Admob on others, also the links to the stores where I ask the user for a rating are different, and I was not aware I could test where the game was running as shinkan said. So I seperated the code into two branches. Now I'm enlightened and will probably merge the code into one base in the next update. (It seems I must have an update as well, because a few dedicated players have already beaten all the 80 levels! A very spectacular achievement indeed considering how devilish some of the puzzles were!)

    It was our first game release, and I was by no means a master of construct or coding or game design, but I feel there are many people out there in our position, and the challenges will probably feel the same for them as well. There were times where we had to stop for two weeks figuring out all the mopub thing, export options, fixing bugs and unexpected behaviour after exports, etc. The mood easily turns sour at those times, but we always came back for another round and finally the beast was down.

    Things are very different now, of course. After the experience sinks in, it feels much easier as we now know our way in the dark forest of exportwood. So I hope this article may help people keep moving if they are stuck in the final stages of deployment.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Completely agree on platform deployment being the hardest part of game development in Construct 2.

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