Original posted on the Final Game Studio blog
Making a sustainable living off indie games is difficult.
Whether you believe in the indiepocalypse or not, please take that statement as fact. There are hundreds, if not thousands, of new games and apps being being released every week and even if you do manage to rise above the noise and have a hit, that is no guarantee you will manage to do the same again next time.
But that's probably not going to stop you making games - it's not stopping me. Not a single day has passed in the last decade when I haven't had an idea for a cool or interesting game I want to make and I am determined to make at least some of them. But personally, I want to make fun, polished, completed experiences for players to enjoy - not unfinished game jam prototypes. And I know this might come across as greedy, but I want to do it without quitting my day job, burning through all of my savings, living like a pauper and putting myself through a mental and physical endurance test.
So the question I asked myself last year was, can I make the kind of games I want to make in my spare time?
So, not only do I currently have a full time job - it's a game dev job. I have been working as a software engineer at StoryToys making kids apps for the last 5 and a half years or so. In that time, I have lead the development of over a dozen apps in a variety of engines, worked in multi-disciplined teams with some really talented people and generally learned a lot. The work I get to do is challenging and rewarding, and while it has its ups and downs, I enjoy it and I plan to keep doing it... So why am I writing a post about part time indie game development?
Well, because I'm doing that too and there are a couple of reasons for that;
The first is that as much a I like making kids apps (seriously, seeing a 4 year old jump up and cheer out loud over something you made is an awesome feeling), there are lots of other types of games I want to be making as well. If anything, there are too many other types of games I want to be making, and frankly it's hard to get management to greenlight a tactical rts or dark fantasy rpg when your company's core demographic is 2-10 years old.
The second reason is creative control. While I am very lucky to have a huge amount of creative input into everything I work on at the moment, there are always going to be things you would do differently if you got to call all the shots. It's a very different experience being in complete control of every facet of a game from Marketing to UI and Game Design to Programming.
The final reason I'm making my own indie games part time is the fact that I was doing it anyway - I just wasn't doing it very well. I have been making little game prototypes and thinking through game design ideas in my spare time for years, but I usually didn’t make a lot of progress with them. I'd have an idea, work on it for a few hours or days and then leave it unfinished when something else came up or I hit some part of it I didn't really want to do (looking at you networking code... ). I didn't have a clear goal or a lot of motivation to finish them, so I didn't - and over time that started to really bother me, so I decided to change it.
What was getting in the way?
While I was certainly learning from researching and making all of these prototypes in my spare time, I couldn't shake the feeling that I was just wasting a load of my time and not getting any tangible benefit from it. I wanted to make finished, polished games and release them for people to play and as many of you know, there is a VERY long road from prototype to finished game.
I identified the main reasons I would stop working on something.
I could discover the game idea just wasn't fun to play - that reason is fine and perfectly valid, and generally becomes obvious after a few hours at most.
I would hit a part that was a pain in the ass to work on. This was more of a problem - I just don't enjoy coding up certain low level things like setting up a C++ rendering engine.
Another big problem was scope - not scope creep, just scope. I usually didn't have clear goals or limitation when I started prototyping something, so I often ended up in a situation where I would find something really fun and then realize my idea would take over a year full time dev work to actually complete ( examples include a multiplayer RTS game and several RPGs with a procedurally generated world and stories ).
Finally, the biggest hurdle to finishing these prototypes, at least for me, was just leaving them for a while and not coming back to them - maybe a new game came out I wanted to play, or I wanted to work on something else for a while... basically, if I left a project unopened for over a week it was as good as dead.
I wanted to make and commercially ship finished games, and I wanted to make them in a (relatively) short amount of time to keep the finish line in sight and my motivation high. I decided I wanted to ship my first game within 6 months of starting on it ( Which meant picking something I thought I could get finished in about a month since I am experienced enough to know how estimation and scope creep work... ).
Plan for the future
I intend to continue making games in the future, so I was willing to front-load some of the work into the first game to start off on the right foot. I designed elements of code/UI/Design to be somewhat re-usable in future games I have planned. I also formed my own company to publish the games under and set up some other boringly-important things like a company website and email.
I knew I needed to work on one game consistently and for me, that meant 2 hours a day, every day, with an extra 8 hours spread over weekends. I have traditionally been very good at making excuses for myself, so to get into the habit, I didn't let myself skip a single day for the first 2 months of work. After that, I relaxed it a bit to allow for, well, a life... but I have been sticking to this schedule pretty well for the last 6 months. To some of you 2 hours might not seem like a lot, but it was the absolute max I was willing to commit to. My day job can be pretty draining at times and I also wanted to make sure I still have time in the evenings to relax, enjoy myself and spend time with my girlfriend.
Enjoy the work
This 2 hour timescale lead me to decide on another rule designed to keep my motivation up and generally make sure I was actually enjoying working on my own games: No feature goes in that I can't make in satisfying 2 hour chunks. At the end of each session, I wanted to commit a fully working/compiling version of my game and feel like I accomplished something useful, whether code art or sound. I have broken this rule a few times and regretted it every time.
Design a game to suit this approach
The short timeline, combined with broken up work schedule, led me to design a game that was not only much smaller in scope that most of my previous prototypes, but also much simpler. The only goal was to make a fun game and any features that weren't going to achieve that or were a pain to implement got cut. That meant no networking, no third party SDKs, no monolithic pieces of cool new tech. That's not to say my games won't have these in the future, I just intend to introduce anything like that over time - maybe one large piece of new tech per project?
Has it worked?
So far, things are going great.
I submitted my company's first app ( AuroraBound ) last week to the Apple, GooglePlay and Amazon app stores - It will be released on May 9th. I am also preparing Tizen and Windows store builds this week. AuroraBound is simple, fun, polished and, most importantly to me, I really enjoyed making it - the last 6 months have probably been the most rewarding of my life. I don't expect it to be a large commercial hit (the monetisation model is simplistic and getting PR/featuring for a new app is pretty tough these days), but I don't need it to be.
I have some future updates planned, as well as some ideas for a deluxe desktop version, and after taking a few days off to finally play the new Zelda game I'll start work on my next title. Throughout the entire development of my own game, my work at my day job never slipped (quite the opposite actually, I was able to make use of a few things I had discovered during AuroraBound's development ).
I plan to keep making more and better games in my spare time, and maybe one day I will take the plunge and go Indie full time - but if I do, I'll be doing so with my eyes open, invaluable experience, an existing codebase, a catalog of existing apps and relationships with some the major platform holders.