How OutRush, my first indie-game, was Started.

Game Development has always been my dream job. From the moment I got my hands on Super Mario Bros. on the Nintendo Entertainment System, I always knew I wanted to make whatever the hell that was. I was 6 years old when that happened.

7 years later, at the age of 13, I decided to make this dream a reality by figuring out how to make games. I discovered this peculiar technology called the internet. In my country, Uganda, the only way we could access the internet in 2003 was by visiting an internet-cafe. It was about a 20 minute walk from my home. I opened up Yahoo search and looked up "How to make video games", 5 minutes later, I bumped into Game Maker 3.1, a new way to make games for beginners. It was 3mb in size, there was no way I would be able to get that back to my computer at home. I borrowed a floppy disk from the cafe and copied the first 1mb of files from the downloaded folder (a download which took 3 hours mind you) and took that 20 minute walk back home. This happened 3 times that day until I had the full folder in my computer at home. And that is how I started making games.

I made a few games you'd expect a 13 year old to make at the time. I'd test them on my brothers at home, and with games like Mario 64 as the benchmark, you'd imagine the kind of feedback I'd get. I had a long hiatus before I got back to making games.

I got back into games towards the end of my high-school, when I discovered this peculiar profession called programming, an act of talking to computers and telling them what to do. I was told that you could tell computers to make the game for you. As soon as I knew this, I requested to drop one of my compulsory courses in exchange for free time to learn how to program, best decision I ever made.

By the time I got to college, I was a pro at this, I aced all my programming courses. I started developing games for the Symbian Operating system on Nokia flagship devices on my second semester. I developed about 26 hyper-casual games for the platform. I had a good running, but, before I knew it, Nokia was pronounced dead. I decided to leave game development and work as a software engineer. This started another long hiatus in my game development career.

I worked as an Android developer for 2 years. I came across this new Engine called "Unity3D" that made it easier for programmers to develop 3D games for multiple platforms. I was a little excited about it, but once I downloaded it and gave it a test drive, I couldn't handle its complexity. However, I kept going anyway. Within 3 months I had a working prototype for a simple twitch based game for mobile platforms. I would show this game at social events and parties I would go to, until it caught the attention of a fellow aspiring game developer, who was just in the process of starting a company. Without hesitation, I hopped on board, that was a bitter-sweet decision. Bitter because the company was a colossal failure in the game development domain, sweet because I had an opportunity to learn Unity development full-time. As soon as I left the company, I decided to get back into solo indie development and make a game of my own.

OutRush was a carefully planned game. I decided to approach it's conception with all the lessons I learned with my previous games in-mind.

- First, don't be too ambitious, get inspiration from what is already out there and proven.

- Second, put gameplay first, a game is a game because it has gameplay, story comes after no matter if your game is a narrative focused game.

- Third, keep within your context. If you are a single developer, make a game a single developer can handle.

- Fourth, a good game is a finished game, do not get discouraged by the early results if you have the previous three points locked down, see it through to the end.

With these points in mind, I set off to conceptualising this unnamed game at the time. The endless runner genre seemed to be garnering a lot of success in the mobile space, why not? Let this be an endless runner, it seemed like a genre that could easily be done by one dev since Temple run was a two-dev job. However, the endless runner genre was a bit saturated at the time, so I thought of ways to make this one different - "Instead of running, why not make it vehicle based? How about flight based? But no - it would have to be easy to play since flying is an extremely variable action, you're dealing with 3 dimensions here. Since it is a variable action, why not make it a discreet one? Have a discreet number of elevations and rotations that the player is restricted to. It would make sense since this is a mobile games and ease of control should be priority since we are dealing with a touchscreen and not physical buttons." And thus OutRush was born, this was the very first diagram I drew of the idea (Thank you Google photos for keeping this alive!) :

OutRush is currently out on the Android platform, with an iOS release down the roadmap. You can download the Android version here.