After Asterun

Unless you’ve been living under a suitably sized rock, you’ve probably heard that Asterun has been released and is available to play on! The release went spectacularly well: the feedback I was given was incredibly positive and helpful, it’s seeming to be mildly replayable and nothing has caught fire. Too much.¬†ūüĒ•

However, it is time to start planning ahead, to far and future things Рmy next projects!

I decided recently¬†that while in the awkward stage between projects, where I’m still actively producing updates for Asterun and working out my future plans, to focus my efforts on finally open-sourcing some of the code I wrote that helps Asterun function! Surprisingly enough, for such a small game, Asterun requires a great deal of code to make it come to life – and lots of that is needed in almost every game going! I struggled immensely when I first started cross-platform development, as lots of things are incredibly important to make a game work well but for a relative novice are quite difficult to convert from rambly thoughts to stable code. So, instead of keeping it to myself, I decided to make it all entirely game-agnostic (i.e.: it’ll run in EVERY game, with no major work needed!), and release it for all cocos2d-x developers to grab and have fun with! So far, I’ve released all of this goodness for all to freely use:

  • ModalAlert ‚ö† – shiny self-enclosed alert views: lightweight, easy¬†to use, and maintain the style of the game they’re in. Download:¬†
  • AudioHelper ūüĒä – mind-bogglingly simple to use implementations of various audio frameworks: use this and never worry about sound in your project again! Download:¬†
  • SimpleSlider ūüéö – a simpler alternative to the slider’s already included in Cocos2d-x, with some awesome additions to make menu design ever so slightly less tedious! Download:¬†

Hopefully, be providing those for people to use, the time I spent in getting them fully functional and production-ready will save others vastly more time. I still have quite a few more parts to release, covering¬†more obscure functionality that seems to have not been thought of before! Many are rather embedded within Asterun, and they’ll take quite some work to separate out! The next one is partway through development, and will be released as a new feature in Asterun at the same time as it’s released for others to utilise.

Perhaps I have too much free time on my hands… I really should go outside more.

… actually no. It’s cold out. Let’s write crazy amounts of code instead!

That’s where the new projects come into play! I now have¬†5 game ideas lined up and ready to go! Obviously, these all came to me in a very small space of time and not when I actually wanted any ideas for games – because whenever I want an idea it’s impossible to think of one! Once Asterun’s main updates are completed with the new features I’ve been drafting up, work on the next project will be started! Asterun’s updates won’t just cease to continue – as and when I discover bugs, update dependent libraries and think of cool features, it’ll be updated.

My final idea is a proper tutorial site / blog, with all of the lessons I learnt as I started cross-platform development. Believe me, lots of lessons were learnt. Lots of time was invested. Many ideas were developed, and then¬†burnt.¬†ūüĒ• It’d be cool to get a comprehensive source of tutorials made, so that others can suffer less than I did.

“But what will your next project be?! I’VE READ SO MUCH. TELL ME WHAT IT’LL BE!

Whatever seems the coolest idea, will be the next game. And it will be amazing. Perhaps it may even be fun to play too.

~ fin. ~

Things are a changing!

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.


So when will I forget about this blog again?

(answer: tomorrow morning)

I’ve had quite a few blogs over the past few years for my games development stuff, pretty much all of them are now down and removed forever from the interwebs (I damn well hope so anyway, that’d be rather cringey if they were still up…); and all of them died because I just stopped posting to them. Yeah, they might have been getting a decent amount of views (I literally have no idea why anyone would have even read them) but no-one ever interacted and I guess I lost interest in ever writing anything down. To be honest, the people who did view my older blogs were probably just bots anyway, but ah well.

I decided that I’d actually try to get back into the swing of doing some proper writing again about what I’ve been up to, so I’ve sat down with a cup of tea and a (very tasty!) fruit salad to ramble a bit in your general direction. I guess that’s your warning to escape now. Here be dragons… or something like that.

One of my problems with games development as that although I love designing my own projects and watching them come to life in front of me, I am exceptionally useless at actually telling anyone about them. Hence, the blogs get neglected, forgotten, and deleted; or I stop posting updates to my Facebook and Twitter pages. I still have almost no idea how to explain Fruit Flight or Asterun to anyone without reducing myself to “things fall from sky, shoot or dodge falling things to gain points for leaderboard”. I know how to explain it in my head, but as soon as someone asks me how to explain them they may as well not be my games at all. I suppose one of my problems is that I am often really afraid of anyone critiquing (yeah I spelt that right first time) my work. I judge my work waaaaay too harshly, I could end up with the most polished piece of code or the most incredible looking design but I’ll just constantly see flaws with it – the code may look ugly or the colours may be slightly too out. Then I’ll end up attempting in vain to make it look perfect or I will move onto something else and never end up telling anyone what I’ve done. That was one of my biggest issues with Fruit Flight and Asterun, I’d never want to tell anyone that I’d done something relating to the games¬†(apart from people really close to me who I knew wouldn’t be too harsh!) as I’d worry about what they’d think of them or how they would perceive my work. I mean, they’re just games… it’s hardly like creating the next world-renowned symphony is it? Code + artwork goes in, game comes out. Hardly the most amazing thing in the world right? I’ve had so many people see what I did/do as a “waste of time” and “unimportant” I ended up thinking that is how everyone sees my work. I guess another thing is I see my work too much from the perspective of a developer instead of as the main audience of the games; the end audience doesn’t have the same vision of the games as I had while creating them so they wouldn’t care that certain artwork was wrongly sized or that the colours aren’t¬†what I’d imagined. In the end, I ended up waiting until the games were totally finished before anyone even really knew about them, and even when the games were finished I was still worrying if people enjoyed them or not, or what they thought of my work. That ultimately affected how I publicised the release of the games I’d invested so much of my time in to.

I really should stop looking at stuff from a developer’s perspective when I’m trying to improve my work, or thinking too deeply about what others would think and focusing too much on the negatives. I feel like such an artist when I criticise my work. Let’s stop doing that. Yeah.

Now that’s more out of the way and I’ve demolished more of the fruit salad, let’s actually talk about what’s gonna be coming up soon and what’s been going on recently.

I was doing most of my games development in and around my school/college work to begin with, and now I’ve left college I’ve started work as a full time iOS developer. I’ve settled in really well, and I’m incredibly¬†happy I chose to¬†move over here to start work. Games development has been able to continue in my free time;¬†and without coursework in the evenings I’ve had more time to focus on¬†my own work.

This has meant that lots of stuff I’ve been wanting to do for ages I’ve been able to actually start, so let’s get to it…

1 : BIG changes coming up soon.

The ‘big’ wasn’t even sarcastic, compared to where I was this time last year things have taken a totally different course to what I first envisioned. I’m moving away from the game engine I used for 4ish years, after the management and the community imploded on itself, towards a different engine. This means new programming languages, new editors, new (stupid) compilers etc… but also some rather incredible new opportunities and things that although I don’t want to mention yet (didn’t we discuss this earlier…?) I’m properly excited about and¬†that has¬†definitely helped me to be very motivated about my next steps for¬†my future projects.

I’m also going to be making some huge infrastructure changes within the apps I have running now, and I’m currently expecting some updates to start going out in a few months or so once I’ve decided on the best course and worked everything out. With those in place I’ll then be able to go forward with the even bigger changes – and those will be¬†magnificent (see, even the font agrees with me).

2 : Improving communication.

I’ve been pretty terrible with updating this blog in the past or using my Facebook and Twitter pages enough, so from now on I’ll be trying to post more on what I’m doing. Quite a lot I want to keep as somewhat of a surprise, but there is tonnes I feel that I’d be able to ramble on about. Keep up to date with Facebook here and Twitter here. Please follow them and help them look more popular ūüėČ


After I came up with the ideas for Asterun and Fruit Flight I pretty much ran dry on the idea front, every idea I had I decided to be not worth the work as I doubted it’d be liked by people or had already been done by someone else to a decent enough standard that it’d be almost impossible to improve on it. Now the App Store has become so saturated with games any new ideas seem to be taken up really quickly – I could have 10 ideas every day for a year but I’d type them into the App Store and they would already be there. That even ended up happening with Asterun, someone released an almost identical game the evening before Asterun was released – but by that point I’d kind of gone too far for the project to be cancelled. Recently though I’ve had quite a few new ideas for some projects which no one else seems¬†to have done yet – that either means I’ve hit the jackpot or it’s gonna totally fail… but we can only wait and see. Hopefully I’ll be able to start work on the new projects within the next few months after the infrastructure changes are in place.

4 : Rebranding.

Something I like doing almost as regularly as forgetting I run a blog is rebranding my ‘business’… often because I grow tired of a name, logo design, font style, colour etc. The list just goes on and on. I’ve been considering rebranding for a little while, although I may end up just making the branding I have now a bit more polished and seem less to me like a temporary design while I make something better. Again, we go back to how I’m really critical of my work. I’ll have to continue to think about this and we’ll see where it ends up.

So yeah, that’s pretty much it for tonight. The fruit salad has disappeared and my (relatively) coherent sentences are becoming less coherent so I should probably end it here.

Same again soon? Yeah, we’ll see. I’ll definitely have the fruit salad again, that was good.