Many gamedevs find that their first game is the hardest one to finish. I've worked as a consultant on almost a dozen "first" games with budding independent development companies, and gathered all of the lessons learned from those experiences here. After going over each question, I'll also give you a quick anecdote about how I (or someone I worked with) learned that lesson the hard way.
Preview image icon: Question by Henry Ryder, from The Noun Project.
1. What Is My Game's Scope?
Picking too big scope is the most common pitfall that I've seen developers fall into. You think up this great game idea, eagerly get started, and soon find yourself with too many features left to add, not enough of the main game done, and very little time left.
Having a large game scope isn't necessarily a bad thing; if you are developing for fun, or have a highly organized design system, it can be great. But for your typical small team that hopes to make a profit from their pursuit, trying to build a large game can be a early death sentence.
The easiest way for new developers to get past this phase is to take the time to break down their game design into layers. When working with developers, I like to have them create a to-do list of the core game. This consists of everything necessary for the game to be finished in an acceptable state - no additional features, unneeded side quests, or extras. This list serves as the absolute minimal amount that needs to be done by the release date and still allow you to feel proud of your game.
Then, I have them create a "polish" list. This includes everything needed to make the game more complete, but not required to make it playable and fun. Typically these are things such as additional graphics, transition animations, more animation frames, additional or ambient sound effects, more audio tracks, improved UI, particle effects, advanced lighting, and more advanced AI.
The final list, "extras", consists of anything that they would like to add that can wait to be added in at the end, or skipped if there is not enough time to implement it. These items typically consist of unlockables, social or multiplayer features (unless they are an integral part of the game), additional side quests, and so on.
Lesson Learned: The Fallen
The first major game that I worked on was called The Fallen. I was 16, and two of my friends and myself decided we were going to make the best MMO ever.
Our idea was to have multiple persistent servers with shared character and enemy instances (so that each server would be a different, massive area, and herds of the enemies, called "fallen", could migrate between them), in a giant FPS-meets-RPG built on the Torque engine.
We put a little more than a year's worth of work into the project before giving up, managing to get two servers up and running, and having as many as 27 players per day during our fever pitch.
The project was way too large for the three of us to handle on our own, and the game's quality suffered. There was no audio and barely any dialogue; the enemies were terribly modeled 3d atrocities; and all of the players were the standard Torque 3D model.
Had we planned things out prior to getting started, and kept the scope of our game smaller at the beginning, we might have stood a chance of finishing it. Instead, we quickly became overwhelmed by a behemoth of files and badly programmed (and terribly commented) code that only a group of teenagers can create.
2. Is This Something I Can Do?
The second most common pitfall for projects is being over-ambitious.
When preparing to start a project, ask yourself: is this something that I can do? Am I able to do tons of 3D programming and collision detection? Do I know enough about 3D modeling and lighting? Can I make this within a reasonable time frame?
If you find that you can't, don't be disheartened! Do your research and see if there are any libraries, APIs, tools, or anything at all that would make it possible for you to actually finish your game. If you can't find anything to make your game's creation easier, then consider simplifying or modifying the design so that it is.
Personally, I like to take more complicated game designs and use them as end goals, designing a few smaller games leading up to it, each allowing me to learn a new skill needed to complete the final game. I urge developers that I work with to do the same. If you want to make a MMORPG, first try making a standalone RPG, then move onto a game with basic multiplayer, and then take a stab it. Having those needed skills under your belt will make developing your game much easier, and means you're much more likely to finish it!
Lesson Learned: Tiny Hero
When I finally decided to try to make game development into a full-time pursuit by starting an LLC, I planned on making a game that was not possible within our current constraints. The problem wasn't that it was technically challenging; it was more that there was a huge amount of content that needed to be created and very little time in which to do so. This ultimately lead to a solid week of crunching and the production of a sub-par game.
To make matters worse, having too little time to complete the game led to us having to spend even more time doing damage control so that we wouldn't be hated forever in the indie dev community. (That doesn't actually happen - most everyone involved is super nice.)
3. Can I Afford to Make This?
When making your first game as an independent developer, finances often get overlooked. For hobbyist developers or those who have another job to support themselves, this isn't a huge deal, but developers that quickly jump into being full-time game makers often find themselves in over their heads.
Assuming that your first game is going to make enough for you to live on is not a safe bet, and the same goes for your second game as well (and maybe even a few after that). Being an indie dev means that you are running a business, and, on average, small businesses take around two years to become profitable. If you have two years' worth of living saved up, then this isn't too big of a problem, but for most people, this is a huge hurdle. It is a good idea to have a part-time or full-time job to supplement your gamedev income for a while, if only for the safety net it provides.
Having realistic sales targets is another important caveat. Unless you are extremely skilled and extremely lucky, you will not be selling thousands of copies of your game. Depending on the market and scope of the project your sales targets will vary, but I find that most commonly developers I work with will be aiming to get around 700 to 1,000 sales. While these may sound like low numbers, once you actually release your game you will find out just how difficult those targets are to reach.
If your game has a price point of $10 and you sell it through the typical online stores, you can expect to bring in around $5,600 from those 700 sales. Considering that most developers that I work with are two-person teams who create a game every two to three months, you can expect maybe $1,250/month per person after expenses. In that time, the teams are typically working full-time hours (most of the time, many more). That works out to around $7.80/hour, or just above minimum wage - and again, that's if you're lucky.
It isn't all doom and gloom, though; you can make a living off of making independent games, just don't expect to do so with your very first one. On average, I see that developers start to make a decent wage from their work at some point around the release of their third game.
Lesson Learned: Zombie MMO
This particular lesson ended up ruining a client of ours. They aimed to create a huge Zombie-based MMO (think DayZ), and the prototype that they had was great - fun to play, technically sound, immersive, and all that jazz - but they hadn't done all of their financial homework.
Through a lack of planning they managed to find themselves ten months into a project with very little to show, very little money left, ten angry employees, and one irate investor. They brought me in to try to clean up the situation, and switching to a more need-based development approach, the game started to make headway very fast, and even earned a bit of money through its alpha.
(They then decided that an unrelated factor was the reason for the improvement, not the change in development systems, and upon changing back to their previous method of development, quickly found themselves out of business.)
Don't Give Up; Just Be Realistic
These questions are here to help you be realistic in the pursuit of your first game, not to dissuade you from making it. A lot of would-be game makers whom I've met hear me talk about these things and decide that the whole pursuit is just too hard - but it's not! You just need to prepare yourself and plan ahead so that you can actually finish your game.
Some relate game development to running a marathon, and that's an apt metaphor.Running is not something that I have any experience in (most people would say that I'm phobic to most exercise in general), and if I tried to run a 5K, there is an extremely small chance that I would actually finish. Game development works the same way: if you don't build up your endurance and skill over time, it is going to be an arduous journey, and you will find yourself either giving up part way through, or reaching the end exasperated and out of breath.
Making your first game is a monumental step in your development career, and hopefully getting it done will be a little easier now. If you keep the game's size reasonable, its complexity within your ability, and your financial expectations realistic, then there is no reason that you shouldn't be able to finish.
Now go make some games!