Background: I’ve been a one-man indie studio for over 20 years, sold millions of games on steam, direct, and on mac and even some console stuff. I’ve arguably had 4 ‘hit games’ over that period (seven figure revenue). This is all just my opinion, but its based on long experience. I’ve been programming for 40 years.
Making an indie game is really hard, but making a financially successful one is way harder. Luckily, indie game development is not new, so there are a lot of old wise experienced devs like me whose mistakes you can learn from. Nobody ever listens to the old timers, but I commit this to the web anyway for the 1% who do. This is offered purely as a means of help, I’m not trying to sell anything to developers. So here is what you probably do wrong :D
Do not choose the wrong platform
Do not make a mobile game. No small indies make money from mobile games. Its entirely owned by the big mega-corps churning out bland F2P monstrosities. Your innovative and polished arty indie game will get zero visibility. The discoverability for games on mobile is awful. Unless your advertising budget is in seven figures, avoid mobile.
Some indies do seem to make reasonable money on consoles, especially switch, but be aware that there is a built in timer here… the new console will come out in X years and render your target platform out of date, also be aware there are publishing hurdles here, and QA hurdles, and that you are again reliant on the discoverability efforts of the platform holder.
PC is probably your best bet for now.
Do not choose a bad genre
So you fancy yourself as a talented 2d side-scrolling puzzle platform developer huh? Let me guess… this one is different? it has a cool mechanic nobody has seen before! its got a cool setting, its got a cool art style…you REALLY like puzzle platformers etc..
Unless you literally have a seven figure marketing budget, or….. actually no, I cannot think of any other circumstance that makes sense… Do not enter a genre that is super, super-crowded. Look up the genre on steam and check out new releases sorted by date. Are you absolutely sure that you are going to get visibility there?
Do not make a game you will not love
There is conflict here with the previous tip, because if the only games you have ever played are puzzle platformers, you may be screwed, but c’est la vie. You can NOT make a success of a genre that you do not really absolutely love. I tried to make a tower defense game once and it (relatively) bombed. You cannot just ‘do a bit of research’ into a genre and understand what makes it tick, and what players want. If you really do want to make a game in a genre that you have not played before, then you better set aside six months minimum, and rack up a good 500-1,000 hours in the hit games in that genre.
AND
You also need to read forum posts, blog posts and watch lets-plays of people in love with that genre. You have to eat breath and sleep that genre, and know what an audience is crying out for. You have to work out why the hits in the genre worked and the flops failed.
This is one reason why my own top genre (political strategy games) has very little competition. The venn diagram of indie game developers, and people who studied economics and politics as their degree must be really small. Sure, you can clone an existing game, but are you able to converse with players of that genre like one of them? I KNOW why we do not have women represented as a distinct social group in Democracy 4, and why we do not model individual states. I could give you a 10,000 word essay on each topic at the drop of a hat.
Know your genre. Know it really well. Be the superfan in that genre.
Pick your dev tools, language, engine once. NEVER change them
I code in C++ using visual studio. I coded my own engine. I have not changed this. Ever. Not in twenty years. Why would I? What do you see in indie strategy games that I cannot do using this development environment? Almost all indies chop and change languages, IDEs and engines like they are changing clothes. This is utter, utter madness. You do NOT need the features in the latest shiny engine, and you NEVER will. If you must use something like Unity, pick a version and never, ever change. Not for the new shiny thing, no matter how shiny, not for all the talk of ‘better productivity’. Its all bullshit, and it will waste your time and cause you stress.
When I edit the csv files for Democracy 4 I use my copy of office 2010. I have not upgraded, nor will I ever do so. I can do everything in Excel 2010. I will not upgrade from Visual Studio 2013. When I tell people this, I get angry tirades from people calling me stupid, and telling me that clearly they are using much more productive tools than me.
None of those people ever seem to ship anything.
Do NOT upgrade your tools, do not upgrade your dev PC. Get everything sorted, start your game’s development, and touch NOTHING until a year after you have shipped your game and support has dwindled.
Use a name that describes the game.
Do not get all arty and clever and name your game ‘Adrift upon fragility : prelude’ or anything that sounds like a pretentious prog-rock album cover. Can I tell roughly the theme of your game, and its genre from the name? If not: you failed. You are not Jonathon Blow. People are not buying the game based on your name, they just see a game name and a thumbnail. If they cannot tell the genre and setting, you lose. Minecraft is an excellent name.
Actually start marketing from day one.
The minute you have anything, even some blue blobs on a black background, thats when you start talking about your game. Marketing your game is your job. Apple and Google will not do it, nor Sony, nor Valve, and streamers are not constantly scouring steam looking for obscure games. YOU have to drum up interest. Start tweeting, start blogging, start posting on reddit about your game in development. Do something related to your game marketing every week, right from the start so it becomes a habit.
Your individual style will determine what platform works best for your during-development marketing. I love youtube, despite being a complete introvert. I used to do weekly 15 minute youtube videos talking about my game. Now I do them every 3 weeks. In between this I also post development stuff to Facebook, reddit, my forums, steam’s forums and twitter. You need to cover multiple channels for people to hear about your game.
Marketing is NOT beneath you. Marketing is a skill, that is every bit as hard, and technical, and involved as programming. You need to take it seriously. its a BIG part of what you do. Marketing the game IS game development, and you have to put the hours in.
Tweeting a WIP screenshot once a week is not a marketing plan. Do more. Do much more. Ignore how many followers you have at the start, it WILL grow.
Do not make excuses.
Your game normally fails because you fucked up. Yes you. You did something wrong. Its almost always your fault. Its tempting to blame poor release timing (again…thats your fault anyway), or to blame a platform for not promoting your game, or even to blame gamers for not realizing how awesome your game is, but its almost certainly your fault. If you cannot accept that you screwed up, you will never learn how to avoid that mistake again.
Maybe your game had poor performance (learn to optimise) maybe the character art was poorly received (change artist/work on art skills), maybe the game was too short (add more content!), maybe you got the price wrong, maybe the name/platform/genre choice was bad. These are all your decisions.
This is especially seen during marketing. Devs always say they are too busy to do youtube videos or blog posts (MAKE the time, this is poor scheduling on your part). or that they do not bother tweeting a screenshot because there are no views. Its a circular argument. Nobody is hanging on your every word, because you never say anything…
Many devs DRAMATICALLY underestimate the effort required to market a game during development. As a good rule, tweet your dev progress every day, do a video once a week, a decent blog post with screenshots once a week, and submit this all to reddit and facebook and whatever other platforms you are marketing on. There should be dozens and dozens of articles and videos about your game BEFORE it releases.
Have an actual marketing budget.
Knowing what I know now, if you took away every penny in my bank account and asked me to market an indie game, I would do 3 things.
- Sell something I owned, probably a laptop, to raise money for marketing
- Get a part time job waiting tables or driving to raise money for marketing
- Put in 40 hours a week full time making videos, writing blog posts, replying to forum threads, tweeting etc.
If you have zero dollars marketing budget then you need to go get some dollars. Not $100 or $1k, think $10k bare-bones minimum. In an ideal world, 20-50% of your development budget would be for marketing. This might be spent going to shows / keymailer subscriptions / PR companies / Advertising / Software and equipment to make better videos (webcams/lights/greenscreens).
The extent to which established developers spend advertising money is under-reported. Most developers have some weird superiority complex about paid-ads, and feel dirty and guilty for doing it, so they don’t blog about it. They want you to think that it was all word of mouth because they are so awesome.
I spend a lot of money on advertising. Probably $100,000 per game. Yes really.
Support the game post-release.
Releasing the game is literally just the beginning. As far as many of your players are concerned, this is a BRAND NEW THING. They do not want to forget about it and move on. They just played it for the first time today and oh boy, they are excited about all the improvements you will be making on a regular basis over the next 12 months bare minimum.
You hate this right? Most devs do, but I don’t mind it for a year or so. If you plan to release the game and then forget about it and just expect money to roll in then YOU WILL FAIL REALLY BADLY.
Gamers, esp on PC, EXPECT post-release updates. If you do not exhaust all those post-release update visibility things on steam, then you pretty much are saying you abandoned the game. The absolute #1 best thing you can do to boost sales after release is update the game. Fix ALL the issues that players complained about in week 1. Yes ALL of them. You should still be working full time on the game at this point. Meaning 40-hours a week minimum developing requested features and adding requested content.
Not all player ideas are good, sure, but you need to fix all the bugs you can, improve performance when required, and add quality-of-life features that players request.
The day you release your game you basically get given FOR FREE (in fact they pay!) a small army of QA staff who work around the clock to provide you with bug reports and feature requests and data to help you balance the gameplay. So many devs just turn their backs and ignore those players and all their free help. Do NOT do this. It doesn’t matter if the launch was not a big success, even if you sold just 100 copies, its worth updating the game with those low-hanging fruit fixes and tweaks.
I’m on update 40 for Democracy 4 now, which took about a year of updates. Each update probably has between 10 and 30 changelist items. Every single one of these things improved the game. And yes, a solo developer can do this. Its really hard, but what did you expect?
Talk to other developers.
There are lots of indie devs, and we are not all your rivals. The competition is Call Of Duty and Fortnite, and frankly Netflix and Twitter, not another indie dev likely selling a few thousand copies a year. Helping a fellow indie is not a zero sum game.
There is a ton of wisdom out there. Almost anything you run into during development is something that more experienced devs have seen 5 or 6 times. Ask us how we dealt with it. Ask for advice, and TAKE advice if its relevant to you and it comes from experience.
Note that developers who are on reddit 8 hours a day are not people to listen to. There is nothing ‘elitist’ about checking the credentials of people telling you how to make a game. There is a ton of content out there from long established devs like Jonathon Blow, Introversion etc, who discuss what they did, what worked, and what did not. Read/watch and actually apply the lessons they have learned the hard way.