The following blog post, unless otherwise noted, was written by a member of Gamasutras community.

The thoughts and opinions expressed are those of the writer and not Gamasutra or its parent company.

When I started working with Daniel on SanctuaryRPG, I had no idea what I was in for as an indie game producer. Quite honestly, I don’t think any of the team ever thought that SanctuaryRPG could turn into anything beyond just a hobbyist side project that gets a few downloads. Three years, one-hundred-thousand lines of code, two Humble Bundle placements, and over 500,000 downloads later, I can definitely say that we were wrong.

Every game developer has the potential to succeed. A lot of people look at influential thought leaders like Rami Ismail (Nuclear Throne, Luftrausers) and Jonathan Blow (Braid, The Witness) and think that making an indie game is peachy: you get to work on video games and make millions of dollars. Sounds easy and fun, right? Totally wrong.

Well, okay, not totally. You do get to work on video games, and if you work hard, maybe you can make millions of dollars. Maybe. There’s a lot of work that fills the gap between, “I want to make a video game,” and, “I’m about to reinvest profits from my fifth success into my sixth game” that people don’t realize. A lot of blog posts talk about how hard programming is, how much testing you need, the importance of marketing, and various other things people don’t consider. In this article, I want to talk about a few other aspects of the job—nine, to be precise—that aren’t often talked about. Whether you’re an aspiring developer looking for advice or an experienced veteran looking back, I hope you can find some truth in my observations!

1: You Work for a Long Time with no Rewards

Daniel and I once started on a game project and spent around 400 hours on it. Here’s what we accomplished in those 400 hours:

A rudimentary landing page website was made.

A team was put together and told to start thinking about creative direction.

A handful of art assets came together.

A basic shell of a prototype was created, in which you could move around and have a bot follow you as you moved.

Another programmer was recruited.

That programmer fell through.

We realized we didn’t have the resources to continue and put the project on hiatus until further notice.

That’s all we got done. In 400 hours. Four hundred hours. If we were working Monday to Friday, 9AM to 5PM, that would have taken us 10 weeks. That’s over three months’ worth of work. And all we had to show for it was a landing page and the bare bones of a barebones prototype. If we had continued the project, we probably would have had to wait another 3-6 months before we could have had a playable and fun build on our hands, and probably another 6-12 months before we made any money.

There’s no getting around the fact that programming is hard—especially game programming. If you’re working on a larger project with a scope of 12-18 months or more, don’t expect to see playable demos that look pretty coming together very quickly. Conceptualizing, creating teams, organizing, programming, drawing, designing, and marketing all take a very long time. If you’re looking to make an indie game, you should have a vision and goal of what the game will look like at the end of the development cycle. If you don’t have something to hold on to and keep you motivated, you’ll inevitably get burned out.

Humans want instant gratification. Having to delay gratification for months or years goes against our innate desires, and it’s very hard to fight natural instincts. Working on shorter term projects or projects where you can prototype very quickly allow you to see the fruits of your labor often and rapidly. Seeing your game come together before your eyes is highly motivating as an indie developer. Seeing lines of code pile up without anything to show for them is not that motivating. Being comfortable with a long-term scope and being able to stay motivated throughout that process are the keys to finishing your indie game.

2: Nobody Will Understand the Gravity of What You’re Doing

Whenever I tell family and friends that I “produce video games,” they always react with, “Oh, you mean like Call of Duty and stuff?” This leads to an awkward conversation where they ask if I’ve worked on anything they would have heard of and I have to list off my projects to an uncomfortable family member feigning a smile, only to be met by a bland, “That’s awesome!” and a swift change of topic.

Indie games, no matter how popular they get, are still a very niche market. The average person will not know what “indie” means, nor will they have heard of any indie games (except maybe Minecraft. Though whether or not a $2B+ company can make “indie” games is a question for another time). Unless you surround yourself with nobody but fellow game developers and industry members, don’t expect to be able to relate to a lot of people when you tell them what you do.

You’ll definitely find support from your friends (if you don’t, then find new friends!) but there’s something to be said about feeling like what you do isn’t “valid” just because it isn’t popular. People are so fascinated because PewDiePie makes tens of millions of dollars making YouTube videos, not because they admire him, but because they’re baffled at how a “silly” pastime like YouTube could become a “real career.” No matter how much society progresses, niche communities (especially in the entertainment industry) are going to be a bit of a spectacle until they really take off.

Indie gaming is definitely one such community. We have to keep working hard to gain the attention of the mainstream press (and success stories like Jonathan Blow definitely help our cause), but until being an indie developer is as respected as being an accountant or an engineer, we will face some level of disbelief and ridicule. That’s something every developer has to come to terms with and be okay with. I definitely feel bad when I tell non-industry folk about what I do and am faced with blank stares or awkward responses, but whenever I hang out with other developers or fans, I am reminded why it’s all worth it. Make sure you do the same.

3: You’ll Always Feel Like You’re Not Good Enough

There’s certainly something to be said about looking to the Jonathan Blows of the world for inspiration, but there’s also something to be said about feeling like you’re a tiny fish in a giant ocean of indie games. If I’m feeling particularly bearish about a certain project, or my energy is dwindling, I’m not always going to feel comfortable reading about success stories to try to get my hopes back up.

When you read a success story, there are two possible outcomes: Either you are motivated and driven to do just as well (or better) than the person in question; or you are demotivated and feel like you could never reach the level they did

With indie games, a lot of the latter happens. Market oversaturation, Steam Greenlight barriers being raised, AAA releases dominating the gaming world . . . every developer has definitely felt a little bit hopeless at some point. What’s important is trying to read every situation as inspiration instead of demotivation.

If you feel like it’s impossible to reach the level of some developers like Rami Ismail, don’t just mope about it: turn it into a learning opportunity! Study Rami Ismail (he’s a wonderful guy) and learn about his journey. What did he do? How did he do it? Who did he turn to for help? Where did he distribute? What makes his games work? How did he structure his team? It’s important to look at other developers as learning opportunities, not just as threats or impossibly high standards.

4: It’s Really Hard to Do It All

The majority of advice articles I see pertaining to indie developers can be boiled down to one simple phrase: Managing and making the most of your time as an indie developer is vital. With the multi-faceted process of producing a game comes a slew of responsibilities: marketing, programming, design, public relations, leadership, social media . . . the list goes on and on (and on and on).

When Daniel and I turned Black Shell Games into Black Shell Media, it was driven in part by the fact that we were only two people: juggling a billion responsibilities would have proven impossible in the long run. We wanted to focus our efforts on what we were good at—marketing and production. That way, indie developers could come to us if they wanted some help in trying to juggle all the things they needed to do.

If you’re an indie developer, you’re going to need to face the fact that your to-do list is going to be insanely long. Overwhelmingly long. Almost impossibly long. How you choose to get around that fact is up to you. You could hire a marketing studio, expand your team, outsource tasks, hire consultants, automate, or just try to do it all yourself. It’s going to be tricky either way, and even if you have a team working on everything, you’re still going to have to manage that team and run the financial and administrative aspects. So many little tasks that would be simple individually but are very difficult all together.

5: People are Flaky, Especially When There’s No Money Involved

You know how many volunteers we recruited to work on SanctuaryRPG after it hit the front page of Reddit for the first time? Almost fifty. You know how many people went on to actually launch SanctuaryRPG: Black Edition on Steam? Six.Don’t get me wrong—we definitely couldn’t have done it without the contributions of each and every one of those people. But a lot of our team was made up of college-age (or younger) kids or people doing it part-time. They’re all credited in the game since they definitely helped out, but they weren’t as reliable and consistent as our core team.

Indie development is a hobby project for a lot of people, just like it was for me when I started work on SanctuaryRPG. Not a lot of people feel overly bullish about new projects, especially early on in the process. Unless you’ve got a team on payroll or you have an extraordinary track record and ability to motivate people, you’re going to find it difficult to build a reliable team.

If I had a dollar for every volunteer collaborator working for revenue share that’s ever fallen off the wagon on one of our projects, I’d have enough money to hire a full-time employee to do all their unfinished work. Trying to get people to squeeze in enough time and energy for your project while they’re working full time jobs, studying, or just generally busy is very hard. Be prepared to deal with flaky people, and have a backup plan in case anyone throws in the towel. Programming managers: be strict with your guidelines for commenting code. Having a programmer give up and leave behind badly documented code could be devastating for your project.

Have a very serious vetting process and make sure you trust your team and keep lines of communication open. Use transparent project management systems like Trello, and remind people of what they’re working toward. Ask for your team’s input as much as possible so they feel more involved in the process. Give your team, especially the artists and designers, some creative freedom so they feel more excited and produce higher quality, passion-driven work.

6: People are Flaky, Especially When There’s Some Money Involved

You’d think that the development team for a successful project that’s making money would be ultra-motivated and always grinding away, that things would get better once everyone started getting rewarded for all their hard work. Unfortunately, this isn’t the case. Once a team starts making money, the complacency kicks in. After having to work hard for no pay for a long time and finally releasing a game, the last thing anyone wants to do is keep working.

Many people see the end goal of game development as shipping a product. In reality, the end goal of game development should be to ship a successful product and ensure that its long tail after launch is just as successful as its release. You want to be building a community around your game and brand, not just selling one game one time.

You’d be surprised how many developers get complacent once they get their first check from Steam or the App Store. They think their work is done now that the game is out, giving no regard to producing additional content or fixing issues. Make sure you can properly incentivize people in the long run and have them see that being active post-release is one of the only ways to make sure you keep making money.

7: It’s More Business Than You Might Think

Game developers have to deal with every “business-y” thing under the sun, from tax forms to copyright paperwork to receiving payment from storefronts. A lot of developers want to remain in a bubble of just programming and creating without thinking about their marketing and business obligations, but that’s how games fail to realize their potential (or accidentally end up committing tax fraud).

If you’re uncomfortable with the business aspects of running your company (yes, as an indie developer you are a company. Even if it’s just you, you are a company), then hire someone to help with them. Be it an accountant or lawyer you consult or a dedicated business guy on your team, it’s important to make sure you not only comply with your business obligations but also make the most of things like analytics, income statements, pricing strategy, and sales.

Even something that seems as simple as pricing your game is actually a huge undertaking that can make or break your sales. People study pricing at a university and graduate level because it’s very data-driven and can be objectively analyzed. Too many developers slap a price tag on their game without researching the reasons for setting a certain price. Everything from pricing to description text to who you’re emailing all has to do with business and marketing.

I’d also recommend educating yourself, especially as a solo developer. You don’t have to go back to school and study business (although kudos if you do), but at least read about business accounting and activities so you are aware of your situation. There is a reason so many lawyers and accountants specialize in working with game developers. Make sure you stay in the loop and don’t get caught off guard or make a bad decision.

8: You’re an Entrepreneur and You Should Act Like One

If you plan on being a solo developer, don’t forget that not only in a technical sense but also in terms of your mindset, you are an entrepreneur. You are doing something independent of anyone else, and you are creating your own path and career. There is a lot that entrepreneurs have to keep in mind.

Technically speaking, if you are running your own business making games, you may be able to classify that as a sole proprietorship on your tax returns. You may be able to write off your work and living expenses. You can also file as an LLC or other type of company and potentially get more benefits and opportunities. Make sure you talk to an accountant and do your research, just as any entrepreneur would do. Whether you’re Facebook, Google, or just Alex from Minneapolis, you need to look at your business operations and think about your tax liabilities and opportunities.

Mentally speaking, you should identify with the way more “traditional” entrepreneurs think. People like Elon Musk or Mark Zuckerberg definitely went through struggles similar to those an indie developer would face: trying to achieve results on a low or nonexistent budget, figuring out a positioning approach, trying out marketing strategies, motivating people working for free . . . we have more in common with tech startups than we think!

Listen to famous entrepreneurs talk. It can be so motivating to hear about how others tackled their challenges and turned tricky situations into opportunities for growth.

9: If You Succeed, It Will Be More Rewarding Than You Can Imagine

I feel like everything I’ve written thus far makes it sound like being a game developer is a busy, no-fun mess of managing people and filling out tax forms. It is. I’m not trying to sugarcoat anything; everything I’ve written about is stuff I’ve had to deal with myself over the past three years. What I haven’t told you is that despite all the long hours, low pay and flaky people, I wouldn’t change a thing.

Once we started posting about SanctuaryRPG and eventually launched the game on Steam, the feedback we got from people who loved the game was tremendous. A Steam user left us a review calling SanctuaryRPG “the perfect game to play while you make dinner for the kids (no joke, ive [sic] set up a PC on my kitchen bench just to slay leg’s, robots and blobs between dicing vegies and straining pasta while my daughters scream ‘NERD’ at me across the living room).” They said that SanctuaryRPG “may be the one ray of sunshine in [their] otherwise tired afternoons.” When I read that for the first time, I almost cried with happiness.

Every person that buys SanctuaryRPG on Steam or tries the Classic version doesn’t just represent an addition to the numbers: they each represent a person who dedicated time in their life to playing my game. These people could be doing anything with their day, and they’re choosing to spend it on something I created. And then they’re going to take even more time out of their day to tell me that they are so happy they picked up our game that they’re going to continue supporting us and tell their friends about it.

Watching the community grow around your game and hearing from journalists, YouTubers, and fans who play your game is one of the most rewarding experiences I’ve ever been through. When I first started work on SanctuaryRPG, I never really thought I was creating something that could be popular. I thought people were just picking up the game, thinking, “That’s pretty neat,” and putting it back down. I never thought that I could actually be partially responsible for someone spending tens of hours exploring environments and killing monsters.

If you’re ever feeling down or feel like it’s too daunting to create an indie game, just remember that games are a way for people to relax and feel happiness and excitement, sadness and horror. Spending countless hours with no gratification, no money, and no recognition? Pretty grueling and demoralizing. Getting the opportunity to be a part of someone’s happiness and excitement? Absolutely priceless.

Keep creating, developers. And thanks for reading.