Chi-Coder: The Harsh Reality Of Indie Game Development.

Over the last couple of months I’ve been wrestling with the fact that I’m running out of money.  You see, when I originally lost my job in early 2014 my wife and I had saved up a pretty significant amount of cash.  We knew that my job loss was inevitable given the state of the company and she was supportive of me trying my hand and indie game development.  So when my old employer shut the doors I was off to the game dev races.  My wife continued to work which provided us with a fair bit of the income we needed to get by each month but it wasn’t quite enough so our savings began to dwindle as the months went on.

As it stands now, I have a relatively interesting game that I’d consider to be about 80% done, but since we’ve run out of money I’ve been forced to find myself a job.  Don’t get me wrong, getting a job has been a great thing for me, and it’s made me feel good about myself.  I’m also extremely happy that I’ll be working in an environment with other developer types (my new position is as a software engineer outside of the game industry).  That said, there is a certain sting to the fact that my game feels so close to being done, and yet so far away.  Once I’ve settled in at my new job I’m going to get back to the project as a hobby, get it finished, and see if anyone likes it.  If this past year ends up being my only experience with game development though, I’d like to share some lessons I’ve learned along the way, so that you might not make the same mistakes I have.

Focus on what you know.

When I say, “Focus on what you know”, I mean that in the most specific possible way.  I was a programmer in the financial industry.  I should have made a game about numbers, finance, business, etc…  You know, one of those economy-type games.  If you’re an artist, make a game that lends itself to whatever art style you’re most comfortable with.  Why do this; because it’s incredibly important to a) prototype quickly and b) hit the ground running.  Focus on what you know doesn’t mean focus on the broad strokes of what you know.  “I know how to program”, for instance, is not an acceptable answer for focusing on programming.  What type of programming do you do?  Are you well versed in 3D programming, physics, business apps?  When making your first game, it’s important to leverage the skills you already have as much as you can.  I’ll be the first to tell you that this isn’t fun, primarily because when you do something new you want to get away from the same stuff you’re already doing.  I can tell you from experience that it’s a good strategy though.  I went the other way, focusing on learning all sorts of new skills that I’d never learned before.  While it’s great to learn new things, I wasted a lot of time ‘researching’ when I could have been cranking away on a game that might have been out by now.  So be smart and use what you already know even if doesn’t feel as sexy as something new might.

Keep it simple.

It’s the most obvious and cliché’ lesson with just about anything, right?  Start out simple.  Well guess what, it’s true.  My first several experiments involved RPG mechanics, inventory systems, lots of menus, animations, etc…  I would quickly get overwhelmed and move on to another project.  Each time I’d start over I’d ramp down the project difficulty a little bit until I’d started a project that felt right in terms of my skill level.  Unfortunately for me I learned this too late, and by the time I started a project that felt right, I was already under a huge time crunch to start making money.

Know when to give up.

I’ll admit, this headline is a bit misleading.  I’m not suggesting that you know when to give up on game development, or anything else for that matter.  If you have a dream, go for it.  What I am suggesting is that you understand when to throw out a feature that simply isn’t working.  No matter how many hours you’ve poured into a feature, or how cool you think it is, if it’s derailing your project then it’s not worth it.  What’s more, games get patched all the time these days, so if it’s something you could add later then save it for then.  I spent 2+ weeks trying to figure out how websocket worked.  It was an interesting journey, and I’m glad I have the skill now, but given the time crunch, I’m not sure it was worth the amount of time it took me to learn it.  If I had it to do over again, I’d have cut the feature that required websocket and made the game without it.  It would have been a much lesser game, but it would have been a finished product.  It’s important to remember that 99% of 0 is still 0.  It’s more important to finish a project than to have a stellar game that’s 99% done but not ready for release.

You had better like marketing.

I’m not a marketing guy and I never will be.  If you want to create successful products in today’s gaming marketplace, you have to be willing to sell your game and yourself.  Here’s the harsh truth of the market; there are thousands of games flooding onto the various app stores for phones and tablets, and roughly the same number inundating the Steam storefront.  There are incredible games out there right now that are getting lost in the shuffle.  Unfortunately it simply isn’t enough to have an original idea, or a beautiful presentation.  Unless you hit the PewDiePie lottery like Flappy Bird did, you absolutely must be willing to talk about your game regularly, and with gusto.  You have to be willing to  spend lots of time on social media, forums, etc…  It’s probably a good idea to attend local game development events too, if you live near any.  And you have to be relentless.  Understand that your voice is one in a sea of other developers, and that you simply have to yell louder than them to get any attention.  This was, by far, the harshest lesson for me to learn.  If you look at my Twitter account you’ll quickly realize that I’m not much of a social media guy.  In fact, I’m not that social of a guy, period.  If you’re like me, and you’d rather just make your game and let the product stand for itself, then be ready to not make any money.

It’s all about the money.

Game development may not be all about the money for you, but it is for the industry.  As the industry grows become more and more leeches and hangers on too.  It’s another sad truth, but it’s one that you’ll need to face head on if you decide you want to make a game.  If you make anything that might be even relatively successful there will be a plethora of people trying to benefit off of your work.  Most specifically they’ll try and copy/steal your game.  Just Google “Flappy Bird clone” and you’ll instantly know what I’m talking about.  You have to be prepared for the fact that others will try to steal your work because for them, it’s not about a love of games, it’s about a love of money.  The gaming industry is booming right now and lots of developers who have no love for the industry at all are using their skills to capitalize on the ingenuity of the few that do.  It’s ok though, it really is. If you make a good game and market it well you will make money.  And even if it’s not about the money for you, making money may afford you the opportunity to spend more time making games; maybe even full-time.