Unfortunately, a large number of gamers feel entitled to send angry messages to game developers because they believe the developers are living the dream and don't deserve leeway when it comes to the products they build. This is obviously untrue. Game developers face challenges of all sorts, though the challenges are a bit different depending on whether you are an indie developer or a developer at a large gaming company.
While I can’t speak for developers at large game companies, I’ve built a few (five and counting) indie games in my free time and wanted to clear up some misconceptions people have when building their first few games. The nice thing about being an indie developer is there is no pressure from a boss or manager about how quickly you need to build your game. However that pro is balanced out by plenty of cons, the major one being that it’s difficult to make money as an indie game developer. Let’s dig into that and the challenges indie devs face.
1. Don’t Reinvent the Wheel
There is a temptation for many game developers, especially those who come from a coding background, to start from scratch, like make their own game engine, for example. Either they don’t like the game engines already available or think it will be somehow easier to work with something they designed themselves. While it can be overwhelming to choose the tools you want to use for your game, any existing library is a better choice than building something yourself.
Engines like Unity and Unreal have an enormous number of tools out of the box that would take years for a developer to build from scratch. Yes, you’ll have to get comfortable with the user interface and documentation, but these engines and others have massive communities so it's a relatively easy starting place.
We can also apply this to smaller things as well. Sometimes we may not think to look through existing tools and just assume we have to build something ourselves. It is always worth checking online before making these assumptions. It will save you a lot of time and allow you to focus on your game instead of getting distracted.
2. Decision Paralysis with Libraries and Tools
As I mentioned, there are a LOT of game engines. There are also tons of tools to choose from for every aspect of game design, from designing your environment to character creation to enemy AI. It’s pretty easy to get overwhelmed. The best way to approach the problem is to think about what kind of game you are making first. Is it multiplayer or single-player? What kind of quality graphics do you want it to have? How fast does the game need to run? Could the whole interface fit on a small screen? How complex is the logic?
3. Keeping the Scope Small
If you have a game you’ve always wanted to build, you probably don’t want to build it as your first game. You may have a hard time keeping the game simple and small when you envision something epic in your head. Unless you’ve built lots of games, it is very unlikely your first game will have lots of levels and different enemies and environments. It is much more likely you will get overwhelmed and give up.
It’s better to ship a small imperfect game than to have an unfinished large project that you never show to the world. If your goal is to work get a job at a game studio, even a few simple small games can be enough to get your foot in the door. Game jams are a great starting point. Keeping the scope small is important if you are a solo developer because you are probably not an expert artist, programmer, designer, and musician all in one. So you will have to choose what you are going to dedicate more time to and what might have to remain less polished.
4. Be Wary of Contract Work
After you have a few games under your belt you may be tempted to try out some contract game development work. I've always struggled with internal motivation so I thought if I did some contract work I could build a more robust portfolio of games and consider making the transition from web developer to a game developer. Unfortunately, I ended up having a pretty bad experience.
The problem with contract work is two-fold. It is pretty common for contractors to be overworked and underpaid, so you have to consider the expectations and be clear about your boundaries before you sign anything. Also, communication with contractors is often mediocre at best. If you are working for a company that has hundreds or thousands of game contractors building small games for their platform, it may be difficult to get your questions answered. Or worse, poor communication can result in you wasting months working on a game only to discover that it doesn’t fit requirements.
5. Underestimating things
When you are doing the fun parts of game development, time can fly by. But what lots of people don’t realise is that there are actually some parts of game development that are not very fun. As an indie game developer, you are responsible for promoting your game just as much as you are responsible for building it. That means you may often feel like you are shouting into a void on social media or sending out emails hoping to be featured by a streamer.
It’s not just marketing either. Shipping a game can be a pretty convoluted process. It took me weeks to figure out all the steps I needed to publish my game on Steam, and almost as long to fix the bugs in another game that was causing errors when I tried to publish on the Google Play Store. Even things like the user interface can be a slog because you have to do testing with real players to figure out what makes sense and if your players actually can figure out how to play your game. When we are so close to our game we can easily forget that things like this aren’t obvious, and forget to factor it into our estimation.
6. Finding good teammates is tricky
This is true for any type of project, but often with game development, you are finding potential teammates through discord or other online communities. It may seem like there are so many people out there who want to build a game that it should be a piece of cake to find a good group of people. Unfortunately, this is not really the case.
I’ve decided to stick to building games solo because every time I’ve tried to work with a team things fell apart. Either some developers lose interest, or people disappear for weeks and reappear without warning. There was almost always no clear structure of who was managing the project or what the schedule looked like. Without structure, it’s really difficult for a team to get anywhere with a game, even if they have good intentions.
That isn’t to say that it isn’t worth trying to find a group if that appeals to you. It just may be a process that takes a while, so be patient and ask lots of questions if you are joining an existing team. At the bare minimum, a team should have a game design document that describes what kind of game they are building, so you can decide whether the project is interesting to you or not.
7. It's very difficult to make money
My first 3 games made $0. Granted, I did not try to monetise them, but even if I had, I doubt I would have made anything. My 4th game, which was a VR game that I built quite quickly as an experiment, made about $500 primarily because I released it on Steam and VR was still very new at the time. Steam has a very large audience so your chances of making money are higher, but it is only becoming more and more competitive over time. It is also quite time-consuming to set up your game to sell on Steam.
I’m not saying this to discourage anyone, but it is important to be realistic when getting into indie game development. If you’re getting into it thinking you will make a lot of money, you are making a big mistake. You will make a lot more money coding applications for a corporation than you ever will building indie games (unless you are in the .000001 percentile like the guy who made Flappy Bird). If you want to make games on the side, or you’re simply really passionate about games, or you want to get into the industry, those are all much better reasons to build indie games.
By now you understand that there are quite a few challenges that indie game developers face. That doesn’t mean that making your own games isn’t an incredibly rewarding experience. For example, I will never forget my experience showing my Grand Canyon Quiz game at my local library. I got so much positive feedback that it really increased my confidence about my abilities as a game developer. There are few things that are quite as fun as sharing games you have built with other people.
As long as you are realistic about your expectations when building indie games, you can have a great experience and learn a lot. Building games on my own for the web was how I actually got my first web developer job. While it has challenges, it can open a new world of opportunities for you as well. Whether you decide to build your own game or not, you now have more knowledge at your disposal to help inform your decision moving forward.