Gravity (the physical force) is one of those things that whenever you play around with it in art, you get some truly magnificent results. At least, I find it amazing, anyways.
The easiest way to awe me about something is to make it float. Why? I don't know. I guess it just comes with the territory of being physically impossible - if you can suspend a massive object metres into the air, what can't you do?
I'd always wanted to make something that emphasised on the magnificence of floating objects, so I decided to make a game about it.
Gravity (my game) is a game whose mechanics are centric of the lack of its namesake - an entire city floats around you as you pilot a (physically defying, of course) hot-air balloon into the night sky.
Gravity derives much of its playability and spectacularity from its environment and artwork, in my opinion.
I created all of the game's artwork, code and music myself through various platforms, but was heavily inspired by other works.
Of course, I was heavily inspired by movies like Oblivion with their gravity-defying objects, however most of the original game draws heavy inspiration from the indie mobile game Alto's Odyssey (made by the indie studio Snowman), which I was playing a lot of when I begun developing Gravity (about March of 2018).
Alto's Odyssey for me contained everything I wanted from a mobile game; beautiful environments and music, relaxing gameplay, and intuitive mechanics. My literal thought when developing the original versions of Gravity were "how could I apply that to the sky?", and that's what I set out to do.
Snowman's Alto's Odyssey is arguably the most incredible mobile game out there to date. Certainly worth a play.
Drawing on Alto's Odyssey heavily, I began designing a very primitive version of what is Gravity today. Once I had completed some original concepts, I went about turning this into a real thing.
Over the summer of 2017/18, I challenged myself to make the jump from the MIT programming site Scratch to full-fledged game development as I was getting bored of primitive code. Plus, I was 14, so I figured it was time to move on. I learned what I could over the break, and then embarked on developing my own debut game.
My understanding of Game Maker (the engine I was using) was fairly basic, so in true me fashion, I ended up coding my own movement scripts for the hot-air balloon, classically overcomplicating something I could have done with a physics engine. But hey, it worked, so I won't complain too much.
To skim over all the boring details of development, I spent the next 3 months building out the game, adding features like the store, coins and power-ups, before I encountered a sizable issue.
This was the original version of the store (left), and the version I made when I realised the original version wasn't going to cut it (right). Believe it or not, I considered myself good at interface design at the time.
I went to go boot up Game Maker one day and was presented an interesting message: "You must sign into your Yoyo Games account to continue."
It was at this moment I knew I was in trouble.
The version of Game Maker I was using was 1.4, which had been replaced by the newest version, 2.0. I had actually bought Game Maker 1.4 for cheaper through a Humble Bundle bundle, and the newer version with all the equivalent features was going to cost me upwards of $2000 AUD.
To add to this, Game Maker 1.4 was updated so you couldn't even sign in again if you were signed out.
And I got signed out.
The final version of Gravity before I was signed out from Game Maker, forever.
To be completely honest, I was glad that all this went down when it did. I had just released a new update for Gravity, which meant I had maybe two hours of retrievable progress on it.
Also, I had been considering the idea of moving to Unity. Game Maker was nice, but I couldn't export to iOS, Android or MacOS using it (I didn't install the modules required before they were removed from Yoyo Games' website). I was originally going to move to Unity for another game, finishing out Gravity in Game Maker, but, well, I didn't have much of an option now.
After taking a few months off (the whole process was still incredibly annoying), I used the 2018/19 summer break to get a kick-start on developing Gravity for Unity.
Those months weren't taken off entirely to do nothing, though. My thought behind rebuilding Gravity within Unity was to completely refresh the game in terms of design, function and interface. So, I copied the balloon object and the colour pallette from my design file, and created a new one, starting completely from scratch.
There was a couple of things I really wanted to get right with the new game:
I wanted to redesign the interface so that it wasn't hot garbage: I had been creating the interface before as I needed it, which led to some really awful design choices (which I look back on in pain). Instead, I chose to design everything so it was pixel-perfect before laying a hand on the engine.
Giving the in-game content consistency: Much like the interface, I was a massive idiot when it came to planning, and ended up creating stuff as I needed it, which was a mistake and a half. So in my redesign, I spent the time to make sure the city falling around you made logical sense (mostly) in terms of scale and livability, and beyond that I created a design language that spanned between all the objects.
I gave it some lore: I had to do it. Beyond being a really nerdy thing that I did, it gave me a clear understanding of what the world should look like and how it should feel, which I think really helped the game come a long way in the end.
The new and improved concepts of Gravity with my refined design language.
Then it was time to get started actually remaking the game. From here everything is relatively smooth sailing (with the exception of it taking another whole year to do), and I actually got a beta for Android out in July of 2019.
After finally purchasing my Mac Mini (which I'm writing this on) in September, I was able to make a beta for iOS users as well, and by November I had a fully-released version of the game out on both iOS and Android stores.
It was December of 2019 when I finally finished the game up, and in the end it had a fully-functioning game cycle, randomly-generated objects, a store with in-app purchases, and a lot more.
WHAT I LEARNED
There's a couple of valuable lessons I learned from the development of Gravity.
Don't spend two years making one thing I cannot say how draining it is to have worked on something for two years and still be working on it, at least for me personally. I hate the feeling of dwelling on something too long, because when I do I generally second-guess myself.
Iteration = Evolution The faster I get a project done and move onto something else, the faster I learn. I think this partially comes back to the fact that I get really bored when I work on something for too long, and I it probably has something to do with the laws of evolution, too.
Set Clear & Concise Goals Having a "hobby project" to work on whenever I wanted becomes very un-fun very quickly, and I think not setting clear goals when I jumped into Gravity was the biggest reason it took so long to make.
So, if you're interested in playing Gravity now that you've heard all about it, or supporting my work, you certainly can! I This website is populated with projects and designs of mine, some like Gravity, and some unlike, so be sure to check them out.
Other than that, I hope you have enjoyed or learned something from this :)