Game development has always been the most challenging task I've ever undertaken in front of a computer, forcing my skills in design, coding, illustration and animation to unimaginable heights just to get by!
Sit back, text your friends 'ttyl', and make yourself a cup of tea - here's the full rundown from start to finish!
I'm not one to say cheesy stuff like, "It's always been a lifelong dream of mine to make an app." - it hasn't, but oddly enough it was an actual dream that got me started (if that's any less cheesy).
I woke up thinking, "That's cool. I wonder what you need to do to make an app?". Without the slightest idea, I did what anyone would - Googled it. Warning: I'm about to talk geek for a bit. The major players in the app game are Apple's iOS and Google's Android. Since they're both written in different languages, I needed to choose my poison carefully, as there wasn't a snowball's chance in hell I was going to learn both!
After carefully considering the pros of cons of each - I decided it would be an iPhone game. But Shan, why not Android? Are you that much of an Apple fanboy? No, not really. Android apps are written in Java and, until a few years ago, iOS apps were written in the equally complex Objective-C. Apple took one of their lead programmers, locked him in a room and told him to rewrite Objective-C into a new, more natural language. Hence, Swift was born.
It was Swift's simplified language that greatly influenced my decision. But this would soon prove to be a blessing and a curse. Swift is still a baby. It's been around for less than three years and has since been refined twice with Swift 3 being the most current version. This became a nightmare when I needed to find something specific and there was little to no information on it. That was but one of the plethora of hurdles I had to overcome. I wouldn't say this entire venture was easy by any means.
It was infuriating for a little over eight months - problem solving issues till early hours of the morning, sleeping only four hours a night and working flat out on weekends. There were many, many...... many times I was tempted to just say, 'F%*# this!'. But I couldn't. I already had a half working game. If I stopped, months worth of design, drawing and coding would've been for nothing.
Fortunately what I lack in knowledge I more than make up for in creativity, and despite not being able to find workable information online for what I needed, I came up with some rather interesting workarounds and forged on.
It's true - when I began learning Swift I had no solid concepts for a game. It was only a month later after working with code that utilizes a phone's accelerometer that I came up with the idea for Loady Box. The premise is quite simple - maneuver a box into a truck by tilting your phone. Although it might not sound like much, it's actually a lot of fun and unbelievably challenging too.
A great deal of thought and consideration went into every decision. From the wide variety of levels, no annoying ads or micro purchases, to one handed controls and offline play making it suitable for traveling or subway commutes - Loady Box is the most meticulously designed game I've ever made, putting user experience above all else.
Graphics & Gameplay
Illustrated in the same minimalist vector art style I've honed over the past seven years - Loady Box's level design took, on average, a day to plan and draw, and an additional day to build. More complex levels with multiple obstacles, switches and doors took 2-3 days including testing.
With a casual, lighthearted vibe and simple, vibrant graphics to mimic it, like many mobile puzzle games, Loady Box initially wasn't going to include any plot or characters. But after developing the first 10 levels, I felt it lacked something to connect everything together. Hence, a minor storyline and three characters were developed.
The 60 levels were split into three themed chapters - Smelly Old Factories, Uptight Uptown and Fort Box, each introducing a character. The modest plot would only kick in from level 41, so two characters, Jono and Kash, were created for the first 40 levels, each fulfilling specific purposes. Jono walks a player through the game's tutorial and explains stuff like level types and power ups, while Kash was designed to be beautiful with a temper (and relationship problems), serving as a mild distraction between levels so they don't seem tedious.
Spoiler Alert! At level 41, you're recruited by a military facility and introduced to Shana - Fort Box's energetic and funny commanding officer who tests your skills to prepare you for future missions. She is by far the character I put the most time and effort into, both in design and personality as she lays the groundwork for future chapters in the story.
I completed all 60 levels mid April and uploaded it to my iTunes Connect account. Once my beta test was approved by Apple, I was able to use TestFlight to send my game to friends and family to try. You need to be a registered Apple Developer to use TestFlight (and to submit apps to the App Store) but it's really useful and was a huge help when testing device compatibility.
My mum helped out a lot during testing by finding people she knew with different iPhone models. She told all her friends, "My son made a game, you must get it". I told her she couldn't force anyone, to which she replied, "Yes, I can". That's such a mum thing to do, hahaha. Device testing took about three weeks and I was able to pinpoint which phones Loady Box worked on (iPhone 6S or later) and which ones it didn't. Once I got all the technical stuff out the way, Loady Box launched on May 15th and I got my first sale when a friend posted it on his Facebook!
In the end it was a crap-ton of work but an incredible achievement, with another friend, Lorna, summing it up perfectly: "Loady Box is so awesome and such an amazing accomplishment!!! I honestly can't get over how impressive it is!! It's quite inspiring actually - you set your mind to do something and you've done it, you figured out how to make it work no matter what. It's awesome!!"