Lessons learnt from my first iOS Game

A few weeks ago I decided to make an iOS game. I’ve toyed with the idea for a long time, and tried a few times, but never actually made something that was fun enough and worked properly — consequently, I’ve never actually made a game from start to finish. Previously I only got so far, then got stuck, got disheartened and gave up.

This time it’s different…

What did I want to achieve?

  • Make a fun game
  • Learn Swift
  • ????
  • Profit 🤑

Overcoming my own barriers

Building a game seems like a massive job. When you look at a game with all it’s graphics, the code and sound effects then it’s a big, big mountain. But the scale of the mountain varies from being a foothill or an Everest. Snake is a far lower target than the next COD or GTA. This time I was going to aim low.

Snake, Flappy bird, Bejewelled, Candy Crush and 2048 are all simple in the grand scheme of things. Since I wanted to keep it simple, even basic physics was out (bye bye Flappy bird clone) and for the sake of debugging something that’s easy I got rid of things that are non-turn based (bye bye Snake). That left tile based swiping games.

Starting out

Since I knew sod all about tile based games I did a quick Googling, and found a nice tutorial for a Candy Crush clone. A few hours of cmd+C, cmd+v and I had a Candy Crush clone game on my phone. Easy. But that wasn’t the game I wanted. While the tutorial was excellent, it didn’t do what I needed.

I wanted Space Gems™*, not Candy™

Because I had delved into making a game years ago I already had a name in mind. I could have used something else, but this was the name that would be my first published game (achieved) and would Make me into a millionaire (pending). Originally intended to be a Geometry wars inspired game, I had managed to get a name on iTunes and wasn’t going to give it up. My game was Zero-G.

*I don’t have a trademark, but it looks cooler with ™!

A version of my abandoned game Zero-G

To be fair to the original version, I actually got quite far, even using OpenGL (I think). But collisions, sprites, and effects were out of the question for my skills. I could have picked it back up, but it would have been a complete rewrite and in my head the game was already something new…

The beginning of : Zero-G: The Space Gem™ matching game

I started again with a fresh base and tried to do everything myself based on what I had learned from the last attempt. Some things were easy — making a grid of tiles, adding UI elements and labels, even adding swipes was easy. Then I had to handle swipes and after 3 days of banging my head against the keyboard, iOS Simulator crashing over out of index issues on arrays, I finally managed to get it working.

The lesson here is write things down in a human form as comments, then make it into code. As soon as I did this it almost fell into place. With that success under my belt I thought I should celebrate with some colouring time!

Behold — The first design of Zero-G

Finishing the game

With the swiping working I was left to work out matching. Turns out this was quite easy (a case of just looping through all Space Gems™ and checking for matches around it). I spent a few days adding a landing, pause and game over view and the game was complete. At this point I decided that the graphics needed an overhaul since they we’re a bit rubbish so I popped open Illustrator and built a whole set of vector based Space Gems™

mmmmm… Space Gems™

Launching the app

Uploading Apps to iTunesConnect is a pretty simple process. Baring the screenshot sizes I had missed off I was done in about an hour. It was then a waiting process. By this point I started a Jira Board with an Issues log so I started prioritising what was needed most and and started working on the next version ready for iTunesConnect to either approve or deny Zero-G.

I’d been expecting about a 5 day wait, but 3 days later I was notified that it was ‘In Review’. A few hours later Zero-G was live on the iOS App Store.

Zero-G on the iOS App Store

Feedback is required!

Part of making a game is getting feedback from people who play it. I’ve had some very complimentary feedback, but I’ve also had some useful suggestions too. Things I have missed or was planning already, which is great because I know I’m going in a good direction.

I’ve also learnt that 99% of people will take the free copy and 50% will say thanks. Only 5% actually feed back. I’m still not going to give up on free copies for review and feedback, but I might just have to review who I give the copies to!

What’s the stats?

There’s no way to see live downloads of an App (I wish!) so I had to sit and wait for some metrics to drop in. Meanwhile I submitted the next version to the App Store and resumed work on the long, long backlog in Jira. This submit, work on backlog, is essentially all I have been doing since.

I’m only about 10 days in to the stats so I don’t really have much more on how successful that is, however I’m not driving a Tesla, Flying a Jet or chilling on a boat in the sun, so I can say that this far, the numbers are low!!

Marketing is a key part of success!

I’ve tried some minor promotion on Facebook, tweeted a few times and it’s not really made any big changes in trends. Marketing is something I didn’t really consider from day 1. This is a massive lesson, and probably the biggest one to take away. I’m in the process of building a proper App Support Site and building a list of useful promo sites but in the meantime I’m just playing the long game.

The End?

I’m continuing to develop Zero-G for the foreseeable future, so who knows, at some point this could be the original post of superstar game designer Carl. That remains to be seen! If you are interested in trying out Zero-G please contact me and I’ll trade feedback for fun!

Thanks for reading 😎

Zero-G: Buy it now!!!!