★ TouchArcade needs your help. Click here to support us on Patreon.

Porting a game from iOS to Android with Apportable?

02-17-2014, 03:07 PM
#1
Joined: Feb 2014
Posts: 39
Porting a game from iOS to Android with Apportable?

I'm wondering if anybody here ported their iOS game to Android with Apportable, and how it worked for you? Did it pay off or would it have been better if you had rewritten the game yourself?
02-17-2014, 03:28 PM
#2
Joined: Jul 2010
Posts: 238
Quote:
Originally Posted by jacopious View Post
I'm wondering if anybody here ported their iOS game to Android with Apportable, and how it worked for you? Did it pay off or would it have been better if you had rewritten the game yourself?
I'm porting TripTrap now.. It's really amazing so far, you have to see it to believe it. There are still a couple of issues / bugs to solve, but way fewer than I would have expected (and even for those, their discussion forum on google groups is very helpful)

02-17-2014, 07:56 PM
#3
Joined: Feb 2014
Posts: 39
Thanks for your answer. That's what I was, kind of, hoping to hear.
02-18-2014, 01:31 AM
#4
Joined: Sep 2013
Location: Malaysia
Posts: 21
I haven't spent a lot of time on Apportable so far but my experience hasn't been very positive so far. But it might also be due to the fact that I'm using several third-party libraries and developing using cocos2D V3

My main issues so far have been:

1. No real support for showing ads aside from iAds. I was told that AdMob mediation support was there in the Indie version of Apportable (not the free version) and the guys at Apportable were kind enough to give me a trial for the Indie version to test it out. But so far have not had a lot of luck getting AdMob mediation working. Had to comment the ad code out to get an Apportable build.

2. My game's a universal app with different spritesheets for iPad, iPhone etc. This works fine in the iOS version of the game using the cocos2D V3 relative positioning. But when I compile the same game for Android, I get really tiny images on screen.

The above are the two issues I've noticed so far in trying out Apportable. I do realize that these might be known issues and there might be known solutions. I have not looked into each issue yet. Just pointing out the things that were stumbling blocks for me in case that proves to be helpful.
02-18-2014, 12:55 PM
#5
Joined: Feb 2014
Posts: 39
Thanks for answering, that's some really useful info.

I'm also making a game in cocos2d, although v2 instead of v3, but I imagine the porting experience should be similar. Haven't really looked into using ads yet, but it's good to know there could be potential problems there.
02-18-2014, 04:21 PM
#6
Joined: Jul 2010
Posts: 238
Quote:
Originally Posted by Fahim View Post
I haven't spent a lot of time on Apportable so far but my experience hasn't been very positive so far. But it might also be due to the fact that I'm using several third-party libraries and developing using cocos2D V3

My main issues so far have been:

1. No real support for showing ads aside from iAds. I was told that AdMob mediation support was there in the Indie version of Apportable (not the free version) and the guys at Apportable were kind enough to give me a trial for the Indie version to test it out. But so far have not had a lot of luck getting AdMob mediation working. Had to comment the ad code out to get an Apportable build.

2. My game's a universal app with different spritesheets for iPad, iPhone etc. This works fine in the iOS version of the game using the cocos2D V3 relative positioning. But when I compile the same game for Android, I get really tiny images on screen.

The above are the two issues I've noticed so far in trying out Apportable. I do realize that these might be known issues and there might be known solutions. I have not looked into each issue yet. Just pointing out the things that were stumbling blocks for me in case that proves to be helpful.
I haven't tried ads yet, so I can't say anything about that. For 2., try adding
Code:
#ifdef ANDROID
    [UIScreen mainScreen].currentMode = [UIScreenMode emulatedMode:UIScreenBestEmulatedMode];
#endif
at the beginning of your didFinishLaunching: method. This worked really well for me in Cocos2d v2

I also had a rough start at the beginning, but mainly because I was using very old devices. One of them wasn't working because it didn't have OpenGL ES 2 for instance, but it took me a while to realise that. In general, getting useful debugging info is a little hard, but luckily it's not needed too much (and the discussion group is very helpful)
02-18-2014, 04:58 PM
#7
Joined: Sep 2013
Location: Malaysia
Posts: 21
Quote:
Originally Posted by baris View Post
I haven't tried ads yet, so I can't say anything about that. For 2., try adding
Code:
#ifdef ANDROID
    [UIScreen mainScreen].currentMode = [UIScreenMode emulatedMode:UIScreenBestEmulatedMode];
#endif
at the beginning of your didFinishLaunching: method. This worked really well for me in Cocos2d v2

I also had a rough start at the beginning, but mainly because I was using very old devices. One of them wasn't working because it didn't have OpenGL ES 2 for instance, but it took me a while to realise that. In general, getting useful debugging info is a little hard, but luckily it's not needed too much (and the discussion group is very helpful)
Thanks baris! The screen mode setting tip is very useful and I have a feeling that that'll probably do the trick I did take a look at the discussion groups but didn't do a search for my particular issue since I thought it might be due to an oddity in cocos2d V3.

Will check it out soon. Thanks again!
02-19-2014, 09:04 AM
#8
Joined: Apr 2012
Posts: 65
Do you think that in the future you will move over to cocos2dx, or stick with the objective-C and cocos2d?
02-19-2014, 04:04 PM
#9
Joined: Jul 2010
Posts: 238
Quote:
Originally Posted by M.O. View Post
Do you think that in the future you will move over to cocos2dx, or stick with the objective-C and cocos2d?
I'll stick to cocos2d I think (since I'm not too well with C++, and so far it definitely seems like apportable will be sufficient for porting), but we'll also be using Unity for some projects
02-19-2014, 04:11 PM
#10
Joined: Sep 2013
Location: Malaysia
Posts: 21
Quote:
Originally Posted by M.O. View Post
Do you think that in the future you will move over to cocos2dx, or stick with the objective-C and cocos2d?
I've already ported one game using cocos2d-x though it was about a year ago. The experience just left me wanting to get back to Objective-C So I too would stick with cocos2d, especially if Apportable turns out to be a good enough way to get an Android version out.

Incidentally, my game works much better under Apportable using the tip that baris provided The ad issues are still there under the Apportable free plan but it does look as if that might be resolved if I upgrade to the Indie SDK.