So tonight I’ve been doing grown up things like paying council tax (because otherwise I get red shouty letters written in the blood of those who did not pay) and sorting out the giant mess that has been my electricity switch. But I’ve now sat back down with a fruit sala-…
Oh. I guess that means it’s blog time again.
Something I wanted to elaborate on a bit more from my post a few days ago was how there was going to be lots of big changes with the work I do, and say what those changes actually will be.
Firstly, from now on, my games will be released for iOS and Android!
<insert celebration .gif here>
I decided to move away from releasing exclusively on iOS for a huge varied range of reasons. The one that comes to my head first is that I’ve fallen more and more out of touch with some of the iOS-only features to a point where I’m not using pretty much all of them. None of my apps use iCloud, 3D touch, in-app purchases, asset slicing etc; the only iOS only feature they really rely on at the moment is Game Center. And that’s being removed soon! I’ve also grown more towards developing games for Android too; when I first started iOS development 4ish years ago I kept a good distance from Android as the development tools didn’t seem at all on-par with what Apple was offering. Plus, Android itself didn’t seem to have anywhere near as much polish as iOS did. Maybe that was my Samsung phone with the epicly terrible TouchWiz interface giving me that impression… for this blogpost we’ll just say Android in general wasn’t that great (although we all know it was the damn TouchWiz UI). Since then Android seems to have advanced so far and feels far more finished than it has before; I can now see my work being on an Android device. Don’t get me wrong, Android Studio + Eclipse still aren’t anywhere near as polished as Xcode is (unless I’m really missing something…) and the setup process was still amazingly long-winded compared to setting up the iOS tools (it literally took months to set up!); but just recently I ended up just understanding how they work more. Literally overnight I just started to understand it and be able to use it. Hence, we’re moving to making games for Android too.
Moving to cross-platform is going to involve some of the infrastructure changes I mentioned in my last post; firstly we’re ripping the actual game out, then shoving the old engine out and supergluing the new one underneath. Or… something like that anyway. Lots of the old code has been relatively easy to rewrite for the new engine (as the cross-platform version seem to not differ too much from the iOS only one, apart from that it’s in a new language), and I’ve ended up picking up C++ rather nicely. I’m still not exactly an expert and the rewrite looks rather messy, but over time I’ll pick up more knowledge and the project will get neater. We hope.
Moving from the current game engine means that the menu systems I designed outside of the code in a separate editor will have to be brought into code, which has been one of the bottlenecks of the porting process so far. Trying to bring menus across so they look exactly the same is hard. Very hard.
I’ll be removing the one native iOS feature from the application – Game Center – and replacing it with Google Play Games Services, which will work on both iOS and Android. One of the future upcoming updates for Fruit Flight and Asterun will involve integrating Google Play Games Services, and allowing players to port their score across from Game Center to a Google account. Players will be able to do this up until the cross-platform version is released; at that point Game Center will no longer be used. Currently, that’s all rather up in the air while I juggle every single part as I slot it all back into place, but that’s the plan with that so far! I will be keeping social sharing (which will use a different plugin to make it cross-platform) and I’ll also be keeping with the current advertising network I’m with now (again, yaay for plugins!), however adding those isn’t the main priority right now. Currently, I am just thankful that most of the game has translated across so nicely and I don’t want to push my luck too far yet.
Another major change (although one that isn’t seen by anyone apart from me) is that my projects will now be moved to use source-control. For those who don’t know (run away now… you still have a chance to not know!) source-control allows for changes to code files to be managed and ‘versioned’, so it is possible to jump around between revisions and work on separate features away from the main development branch. At least… that’s how I’m going to be using it! With such a huge change it makes sense to have a good way of undoing any major change I make which breaks everything, as I’ve already recreated the Asterun project 7 times after many various things have imploded. With source control, it should remove some elements of risk that changing ABSOLUTELY EVERYTHING will bring into my life. New features can be developed in a sandbox away from the main code, and if the feature breaks things I can remove it without it affecting the main project.
Those are pretty much the biggest changes going on at the moment; to summarise as this has been a rather unstructured and rambly post:
- Asterun will be coming to Android.
- Everything’s changing.
- Send help.
Looks about right. Yeah.