You probably hear a lot about wildly successful indie games (The Binding of Isaac, Fez, Braid, Minecraft, and so on) and on occasion also about unsuccessful ones. In this article I'm going to tell you about my experience on the middle road: making an indie game that achieved modest success. Cardinal Quest financed my humble lifestyle for about a year after its August 2011 release, and is still occasionally making me some decent pocket money more than two years after its release.
All in all, Cardinal Quest ended up making just shy of $60k in desktop sales, Flash licenses and mobile sales on iOS and Android (I didn't get to keep all that money, as other people worked on the game too). It sold about 20k units, and the free Flash version got about a million plays across several portals. It also eventually spawned a sequel that should come out soon, Cardinal Quest 2!
However, a lot of what happened depended on the situation, the time I released the game at, and of course a bit of luck. So I can't really write a "recipe for success", since you could do today all the things I've done and still not end up replicating my results, but I think there's still a lot you could derive from my experience and apply to your own situation.
What Is Cardinal Quest?
I have been playing roguelikes since first being exposed to Angband, Tales of Middle Earth 2 and later DoomRL in the early 2000s. However, even though I already invested the efforts required to learn how to play several such games, once I graduated from university I simply didn't have as much time to invest in my hobby and found I stopped playing them.
Roguelikes have had a bit of a revival in recent times, but when I started working on Cardinal Quest in 2010 the scene was dominated by huge, obscure, niche titles like NetHack, Angband and ADOM. Cardinal Quest was my take on a streamlined, minimalist roguelike that would be easy to get into and could be played in short intervals, including by people who aren't already hardcore fans of the genre.
You can hear a bit about how unusual Cardinal Quest's focus on quick and accessible gameplay was at the time in the very first Roguelike Radio episode and the interview they did with me a bit later that year.
Lesson learned: Pick a type of game that is popular enough to have some existing fans but not so popular as to have lots of competition from other devs. Stuff that used to be popular but slipped off the radar in recent decades is a fairly safe bet. Stuff that has a cult following but hasn't penetrated the mainstream is also good.
In the Beginning
Even though it's not required in mechanics-heavy games like roguelikes, having a good grasp of the world the game takes place in can really help keeping you focused and give the resulting game a much more cohesive feel. Being a huge D&D nerd in my younger years, a lot of Cardinal Quest's design was very much inspired by the old Basic D&D (back when D&D and AD&D were two different games). Although never stated in-game, Cardinal Quest takes place in Mystara's Known World. Having a familiar setting with loads of existing material and fan-fiction made creating content much easier, as well as keeping things consistent.
By the time I started working on Cardinal Quest I'd already made a couple smaller roguelikes, mostly for the yearly 7DRL Challenge. However, I never managed to finish any of my more ambitious projects, on which I always ended up losing focus and motivation after a few months.
This time I decided to give myself a strict time limit (15 workdays) and work plan, and decided to follow Radomir Dopieralski's guide, How to Write a Roguelike in 15 Steps.
The first release of the resulting HTML5 prototype for Cardinal Quest ended up taking only a bit longer to complete (about 20 workdays) and I didn't follow Radomir's exact order, nor did I even complete all steps. Nevertheless, at the end I had a very small but playable (and fun!) game that was kind of like a smorgasbord of roguelike games, giving you a little taste of every feature a full-fledged roguelike game might have.
Since this was 2010, simply having a playable non-trivial HTML5 game was enough to get me a bunch of attention, and as the game hit reddit and Hacker News it received about 15,000 hits and some good press.
Lesson learned: Know what you want to do before you begin working. Get a prototype up and running quickly and see if it resonates with people. If it doesn't, you might need to consider going back to the drawing board.
Let's Give It a Shot
After spending a few more months of on and off (but mostly off) work on Cardinal Quest's prototype, I decided it had overgrown my platform of choice (remember that HTML5 was a lot less mature back then), and that it was time to start a new version of the game if I was to make it into a commercial game.
I wanted to find out a bit about the demand for this game and hoped to also get money for some freelance work on the final product. I set up a campaign on a (since defunct) Kickstarter-style website for indie games called "8-bit funding", since I couldn't get on Kickstarter from Austria (my country of residence at the time).
After telling everyone I could about it, both offline and online (more about this later) I eventually raised $4,815, which ended up just about covering the freelance work I needed to get made for some music, sound effects, video and missing graphics. I also had an additional ~$10k saved up over a long course of time and quit my job as a game developer at mipumi games to embark on my new mission: to make a living off of my indie games!
Lesson learned: Try to get some money before you dive in head-first to minimize the chance that you'll have to stop working on your game and get a day job. Crowdfunding is a good way to gauge what people think of your idea, but don't expect big Tim Schafer-like bucks as a first timer.
Trials and Tribulations
For various personal reasons, shortly before and after the crowd funding campaign I'd lost my original graphics and coding partners, respectively. (The coder and I shared the programming responsibilities since I'd also been working as a professional programmer before starting Cardinal Quest).
At first these seemed like critical blows, and indeed it took me a little while to recover from them. For graphics I eventually found a replacement freelance artist on the tigsource forum. Another good source of finding freelance artists is the Pixelation forum.
I managed to do most of the coding with the help of a young student who was on a summer vacation and helped me for a couple of months in return for a modest stipend. Both of these, as well as the music, were paid for by the 8-bit funding campaign.
Unfortunately, pretty much none of the funding remained after that and I ended up eating through all of my savings in order to afford to work on the game until its release. I believe that at release time I had 300 euros in my bank account (less than my monthly rent).
Lesson learned: Have a contingency plan. If someone quits, can you do their work? Can you afford to hire someone who can? Can you re-scope the game to be doable without them?
Kick It Out
As I ran out of money, I had to release the game a bit early. I experienced a lot of stress over this buggy release but it got the money to start trickling in and kept me alive while fixing up the game. This first thing to do if you find yourself in this situation is to not panic—you'll need your wits about you to improve the situation.
Unfortunately, I didn't heed my own advice and panicked. I had a bunch of really weird bugs that defied my attempts to fix them (although I eventually tracked down the main culprit with the aid of Mike Welsh). These all eventually got fixed, but it was a huge drain on my mental well-being.
Ultimately, releasing the buggy version ended up enabling me to continue working on the game due to the money it brought in, so I guess in the end that wasn't exactly a mistake. (However, having the option of releasing the game "when it's done" would have been preferable in terms of stress.)
Lesson learned: Don't panic, and don't worry too much about releasing a flawless game. A good but flawed game today is better than a perfect game never. Know your tools and find colleagues to bounce ideas off in case you run into a brick wall.
Getting the Word Out
This is one area where I notice a lot of indies stumble. Basically you need to be utterly shameless about promoting your game and getting the word out. Some possible avenues include IRC channels, reddit, forums, Twitter, and even begging individual people to buy the game.
Search the Internet for every place and every person that might be interested in games similar to yours (and even not so similar). I visited all the roguelike IRC channels and RPG forums I could find on Google, telling people about Cardinal Quest. You have to be really persistent, as you can never tell who the one person is that might write that cool blog post that will trigger RPS or Kotaku to write about your game.
Lesson learned: Be a shameless hustler. Talk to everyone and anyone about your game. Don't be shy; your number one risk is that nobody will know who you are or that your game exists.
Selling the Game
Selling indie games has become a lot easier in recent years than it used to be, now that we have ubiquitous online payments (and high broadband penetration). Can you believe that in the 1990s and early 2000s you'd actually have to get cheques in the mail and credit card numbers read on the phone to make a sale (that is, if you were able to take on CC payments at all)? And then you might need to send a disk in the mail (as in actual postal-service, not email) to the person buying your game! Even compared to just a few years ago, people today are much more confident about paying for stuff online.
On the forefront of selling PC indie games directly is the Humble Store Widget, from Humble Bundle Inc. You can take a look here to see what it looks like to potential players (it's the gray box at the top of the page). The Humble Widget is sleek and simple, and allows easy payments with all popular payment processors. BMT-Micro is another favorite of some indies (cliffski swears by them), as they also allow direct credit-card payments and have nice reporting tools.
The next options are integrated game markets such as Steam (and to a much lesser extent, Desura). A lot of people like having a library with all their games, and these stores already have their CC details on file. While Steam is not easy to get on to, Desura is much simpler and is very much indie-oriented.
Beware! Before deciding on how to sell your game, don't forget that each store adds some amount of tedious work every time you update your game, as you need to upload your new build in each (sometimes using arcane and user-unfriendly systems).
If you're making mobile games, your life is easier; basically you just need to put your game on the vendor's official shop: the iOS App Store ($100/year fee) or Google's Play Store ($25 fee).
Lesson learned: While having many eyeballs on your game is good, it is possible to overdo spreading your game on many minor stores who will add up tedious busy-work to your update process while not bringing in a lot of money. Choose wisely!
Build Your Intellectual Property
If your game becomes successful, you might be able to benefit from it in the long term by using the setting and basic framework to create new games and sequels. My current partner randomnine joined in shortly after Cardinal Quest's release, as well as Joshua Day who ported the original game to mobile.
After all the stress, I burned out a bit on the game, but randomnine wanted to continue working on it. At first we drafted up a plan for a content upgrade called Cardinal Quest Deluxe—it was to have all those little things I didn't have time to add to the original, like shops to spend your accumulated gold in and high score boards.
However, as time passed the plan suffered feature creep to such extent that it became apparent it would not end soon, nor would the end product really be just a content upgrade. We rechristened it Cardinal Quest 2 and came up with a licensing scheme in which randomnine could use my intellectual property (the CQ name, original source code, and assets) to build a sequel on top of the old foundations, in exchange for a profit share.
Lesson learned: A good game isn't a one-off thing. Someone else can use the groundwork you've built for both of your mutual benefit after you're done.
Cast a Wide Net
With the help of randomnine and Josh, all the terrible bugs were fixed. The mobile version came out on iOS and Android about half a year after the original release. At first most of the revenue came from PC downloadables, but as time went on I noticed the long tail is much longer on mobile. Overall the majority of sales summed are still higher on PC, but mobile brings in a nice constant rate of sales.
There are some disadvantages to designing cross-platform games, namely that you can't take full advantage of the hardware's unique characteristics (mouse vs. touch, tilt controls, notifications, and so on). However, the further your game is from a twitch action game the less of an issue this is, and since I'm mostly interested in turn-based strategy games this was less of a big deal and it made cross-platform development more sensible.
Another interesting market for us was Flash. Unlike downloadable PC and mobile games, Flash sponsorships give you a (relatively) large lump sum up front, instead of a recurring continuous revenue stream. This was a huge boon at first when I ran out of money by the time the game released. In the mean time, the Flash market has dried up considerably, so this may no longer be a viable option for new games.
Lesson learned: More markets = more revenue sources. You never know which market a game would really shine on, and different markets have different sale curves.
Prepare for a Bumpy Road: Don't Panic!
I almost ran out of money three more times during the ensuing year after releasing the game. Somehow I was always saved in the last moment by a sale, bundle, random new Flash license, some contract work, or similar.
However, the volatile nature of this income made it hard to plan ahead, and that was the main source of my mistakes; the fear of not being able to afford rent and food next month paralyzed me and made me lose a ton of time, so I panicked. 2012 was not a good year for my mental health. I felt like I was supposed to be happy since I was making indie games for a living—my dream come true!—but I wasn't. Feeling like I should be happier was probably a big factor in why I wasn't (which sounds weird, but if you've experienced this before you know what I'm talking about).
I just felt drained and worn out. I'd wake up tired and unmotivated, and in turn get stressed about not being productive and not making ends meet. I started becoming jealous of other developers who seemed to have had it all figured out and releasing awesome games (little did I know that many of them were dealing with the same demons as I was at the time). I couldn't bring myself to play other people's games due to feelings of guilt and inadequacy.
I eventually got out of it (moving to a new environment helped), but I lost a good year or so to this cruddy state of mind, and there was really no reason to—I would have been a lot better off trying to not worry so much and let stuff unfold as it did. It was really all downside and no upside, yet it seems many people in creative fields fall in this hole.
Lesson learned: Don't panic, and don't be too hard on yourself. Take some time off and don't try to be super productive all the time. And most importantly: don't compare yourself to other people!
So that's it: the story of my experience making my first indie game, Cardinal Quest. I had a lot of rough times but in the end I'm really happy I did it. I hope my story has been educational, in showing both what to do and what not to do.