After finishing the publishing process on Google Play Store, I started immediately to work on the iOS version of Swing Cordelia. I experimented a bit on the ad placement in the iOS version. In the android version, I ask nicely whether they want to view the interstitial ad or not while in the iOS version the ad will load automatically after certain game session. That’s pretty much the only adjustment I made in the iOS version. Other things such as game difficulty, features, gameplay, leaderboard, etc are pretty much the same with the android version.
The process to bake the iOS version on Xcode is pretty straightforward. My game engine for the moment only support up to Xcode 7.1 (I have installed two Xcode version in my macbook). I also use a code to point the project file on my game engine to Xcode 7.1. My game engine only support windows. Thus in the compiling process, the file need to be sent through network to the mac then Xcode will bake the .ipa file. Eventually I did not use iAds in the iOS version since they did not support Indonesia mobile market. Similar to the android version, I use Admob and mediate Mopub through the Admob network. After I launched my first app, many other advertisement network sent emails to me offering their services, but for now I will use only Admob and Mopub. I might experimented with other ads network in the future.
After testing the app using testflight and sandbox account, finally I got everything working out as it should be. The next step is to fill all of the Apple app requirements in iTunes Connect. These include app description, link of support page, rating, app preview (promotion video), etc. It took quite a while for me in producing the app preview video. Apple use this weird (landscape) resolutions for iPhone 6 and iPad which are 1334 x 750 and 1200 x 900. I need to read many forums in order to produce those two videos with each respected aspect ratio.
I rechecked every iOS app requirements meticulously before submitting the app for review. I thought after clicking the button my work will be finished, but… There are three more questions that I need to answer before finalizing the app submission. They are related to export compliance, advertising identifier (IDFA) and cryptography. Since this is the first time I submitted app to Apple, I was afraid making the wrong answers. It took me a whole day to find a reliable information related to the questions. The official explanations still seems cryptic to me and I rely more on other iOS developer experiences explained in many forums.
Feeling sure about myself, I take a deep breath and submit all the app requirements. I often hear that many apps have been rejected by Apple because of their strict requirements. If I got rejected, then I just have to submitted again. After all, this is a learning process for me as an iOS developer. What do you know, after waiting for 4 days my app is approved! I suppose this is the result of my hard work in preparing the app submission. There you go! Please check and try my arcade game: Swing Cordelia if you own any Apple mobile devices. Thank you!
After all the hard works, finally I am able to release my (first) mini game. It is called Swing Cordelia. In the beginning, my prototype used motion sensor for moving the character (Cordelia). The name swing is related to this, since you have to sort of swinging(moving) your phone to the left and right to move Cordelia. Cordelia is a dragonfly. The species is called Cordulia Aenea or Downy emerald. But I prefer to called the dragonfly ‘Cordelia’. Hence the game title name become ‘Swing Cordelia’. Along the production process, I drop the motion sensor control and choose to use swipe control instead. During testing, using motion control make the game too difficult to handle.
In this game you need to ‘delicately’ swipe your way to avoid obstacles (branches and beans). There are also winds (pushing Cordelia to the left or right) that is randomly generated following certain rule, making your way slightly more difficult. It is following a certain rule, since I am not allowing opposite wind to occur after one another. For example, if a wind goes to the right and after that to the left, the instantaneous change will surprise the player and make the game impossible to beat. Thus, after a wind goes to the right or to the left the next state will always be ‘no wind’. After a ‘no wind’ state a new wind to the left or right will be randomly generated. The beans will be thrown toward Cordelia from certain point with random speed. A proper strategy is to move Cordelia to a certain ‘fake position’, creating a beans trajectory that can be easily avoided later on. If for example you put Cordelia in a space between the branch, the resulting beans trajectory will make it hard for you to get pass the branches.
Another optional strategy is to use the ‘hover’ skill. You can hover Cordelia in certain spot to fool the ‘beans thrower’. While hovering, the branches stop moving, making it easy for you to choose the ‘fake position’. But the hovering skill is limited. After you use it, you have to wait a while until you can use it again. An indicator in the top-left board shows the hovering skill availability. Hovering skill ability is also useful, whenever you almost hit a branch, to re-position Cordelia. During my test play, most of the time I did not use hovering skill. If you are skilled in swiping, using hovering skill is optional. For beginner, I recommend to use it often.
The game is hard to master, but rewarding. I also put a nice music, to relax your mind and the fingers of course! I did not expect much from my first release. For me, this is just the beginning in my journey as an indie game developer. I will make more games and I hope one day one of you will stumble on one of them and receive the fun and love that I put into them. If you manage to read this post to the end, please download and try Swing Cordelia. Thank you.
After reading many references related to publishing an app to Google Play Store and App Store, I decide it to focus first on publishing my app to Google Play Store. Some people feel that publishing an app to App Store is relatively harder, although I haven’t had any direct experiences related to it. My main reason to focus on publishing my game to Android platform first, is mainly related to the game engine. Building and testing an .apk file in my game engine is relatively easier compare to building and testing an .ipa file. Since my game engine can only be installed on PC, building an .ipa file require a Mac and Xcode application where I have to somehow ‘connect’ my PC and the Mac to ‘bake’ the file. I even read some user of the game engine that complain about testing an .ipa file, stating that they always failed to get it run on any Apple mobile devices. Long time ago, I actually try once to test whether my app can be run on an ipod touch and failed. I did not make any more efforts after that and I have always test my app on Android devices.
I will get to that complicated tasks later (to get my game publish on Apple platform), after I finish my first journey in publishing my game to Google Play Store. I have uploaded my .apk file to the beta section of my Google Developer Console set up. Up until today, I have managed to get Leaderboards feature and Admob Ads to work on my apps. I am now in a process to finish my code to add an in-apps product for ‘removing (all) ads’ in my game. After thorough testings with all intended features, all I need is to prepare the promotional assets before launching my game. I need to make some graphics assets required by Google Play Store (promotional background, screenshots, icons, etc.). Although a short video promotion is optional, I intend to make it to strengthen the app’s promotion materials.
I also have set my distribution plan for the app. I only sell (in-app product) to countries where Google is responsible for determining, charging, and remitting VAT to the appropriate authority plus Indonesia and United States. Since I am an Indonesian, I can hire a tax specialist (or do it myself) to process my tax obligation. I do not have detail information but you only have to pay taxes in United States after achieving a certain sales threshold. Since United States is an important market and I did not have high revenue target, I decide it to add the region to my distribution plan. It is actually quite a large list since European Union forced Google to take responsibility in dealing with the tax administration. Other countries are Albania, Morocco, Norway and South Korea.
I also want to find information related to ads revenue’s taxation. If it is more flexible where I can distribute my app to a wider audience I might only use ads in my future mini games without the option to ‘remove’ it. Along with this work, I still find some bugs here and there. I will play the game again and again and again until I’m quite sure that it is ‘safely playable’. It took quite a long time to learn many new things in this publishing process which I hope will be useful for my future games. Wait for it, I will get ‘there’ somehow!