A video game in development is a living entity. Every time one of the team member takes a shower and has a blast, a new idea appears. If this idea is good enough and added to the todo list the game direction will vary a little bit. After a year or more of development if there is no way to control the game direction, the sum of every tiny variation might just have changed the whole face of the initial game concept putting a lot of distance between the game idea and the actual game. Worse, the team can even end up lost and trapped into the infamous limbo of eternal game development with no hope of ever ending the game production.
To avoid this kind of tricky situation it's considered healthier to divide the development into milestones. The duration between two milestones can vary from a very small amount (~a week) to a larger one (2 months +). Among all these milestones it's better to define important ones acting like pillars for the production. The kind of points that can light the way throught the fog.
There are five major milestones that should be used and found in your game developments to help you keep head above water.
You should know prototypes very well by now. This first step of development is essential, it comes right before the actual production begins and is here to test your core concept and idea. With a good prototype you should be well aware of dangers on your way to success and ready to tackle them. It's the first milestone but also the only one where you can stop everything. If the results to the tests done during the prototyping phase are good you know you can try to make a good game out of them. However it's important to stop everything and kill or re-think the idea if the prototype shows some flaws or problems. If you still have doubts when the prototype is supposed to be finished, don't go to the next milestone and re-think the core concept of your game. More important, don't give you more time to add features to your prototype, you would end up adding crap on top of crappy foundations.
One month or two spent on the prototype should be enough to know where your game is going.
Once the prototype is good and validated, the next logical step is called the First Playable. It's obviously the first playable version of the game. Not really an alpha yet, because not complete enough, but not a prototype, because cleaner and more complete. The first playable version aims to show the real guts of the game more than the sole concept. The first playable doesn't offer the complete flow of the game: the main menu is often missing, there is no real player ranking, no real story… but the main elements are here and playable.
Also one of the most visible difference between the first playable and the prototype is about art. While it's normal to use placeholder and ugly assets in the prototype, everything should be replaced by prettier assets, even if not final.
At the end of this milestone you should have something showable to potential investors without having to warn them about the distastrous bugs and temporary arts. At this point there is enough content to even understand what will be the story.
From 3 months to 6 months or more, the duration of this milestone will vary greatly from a game concept to another.
Once you have enough to show the guts of your game, it's time to work on more content. Here comes the Vertical Slice.
It's like a slice of cake. Not the whole cake, but just enough to have a full taste of it… with every layers of chocolate and sweet things.
It's the same thing with the game. Of course it won't be the complete game with all the features. But enough features to show and let players understand what the final game will be. In a car game, for example, you won't have every cars available, but they will be visible in the selection menu (sometimes with locks to explain that they will come later).
Even if all the content is not here, the main gameplay is available, thanks to the prototype and the first playable, and the placeholders and extra features make the vertical slice look like a real and almost complete game.
At the end of this milestone (going from 3 to 6 months or more) you should have something ready for alpha testing or early access.
The final milestone about production is the Final Build. As the vertical slice was just a piece of the cake, the Final Build is the whole cake. In it you will find all the features of the game. All the things that have been decided must be implemented to offer a complete experience to any player.
This milestone can seem to last forever but what you will put in it will give the final and unique taste of your game. It's important to test the final build even more than the other builds. You have to track all major issues encountered by early testers, and try to clear most of the minor issues too. Going back and forth with your players to track issues can be overwhelming, especially at the end of the game production.
There are great chances that, at this point, you hate your game. When you have spent too much time thinking, adding, or tweaking every tiny details, you will know every piece of your game and probably believe that it sucks. Because you know that some inner gears and mecanisms are not perfect does not mean the game is bad. It's normal, after all the effort to reach this point, to only see the bad and forget to see how awesome the big picture really is.
The Final Build is crucial. Don't waste too much energy hating yourself and your game. Use this energy to finish the game instead. If you don't, all the time spent until now would be wasted, and you don't want this to happen.
At the end of this milestone, your game will be complete. Please, take some time to celebrate this special instant with your friends and family before the big moment.
Now that the game is ready to hit the virtual stores shelves the hard work really begins. A lot of game developers believe that once the development is over, the work is finished. They are so wrong that the vast majority of them learn the lesson the hard way. Releasing a game is not about hitting the "put online" button. It's a marathon to gather audience, visibility and hype arround your game and then hit the damn button. Releasing a game is awesome, but useless if nobody is there to buy and play it.
Even if you have reached four milestones out of five, you have only done half of the work so far. Crazy right? The final milestone, called Release, is very special and is probably the longest of the five major milestones. The way you tackle it will probably be one of the most important factor responsible of how your game will sell (don't forget the secret formula
sales = ((content + originality) * marketing_effort)^(good * luck)). That's why it would be wise to start working on this milestone once the first playable version is ready to be shown.
Have faith in your game. If you have decided to throw yourself into this, it's surely because you see the true potential of the original idea. Share it with the world once you have something to show. Go online and talk about your game. Share your passion about what you are doing. Use the social media wisely and slowly create an audience. If people like what they see, the hope and hype will slowly raise, people will follow your game project, and eventually talk about it. Keep them informed of your progresses, desires, and disappointments.
Gathering players is great and can seem to be enough, but it's not. Don't forget the press, the Youtubers, and all the streamers… These medias can make your game visible to literally millions of potential players. Don't forget to send them copies of your game once you have reached the Vertical Slice.
The communication effort is the most important one. Sometimes you can think it's useless to put so much time into this while you have a game to develop. But at a time when it has never been so easy to make a game, when hundreds of new games appear on virtual stores every single day, when twelve years old kids make better games than you will ever make… putting some extra effort to communicate on your game can't hurt. Don't overestimate your game qualities, because even if you make the best game of all times, if no one is here to buy it you won't sell any copy (please don't bet your life on the survivorship bias)
Working hard on your game communication always pays (sometimes it even pays in actual money). Also, when complete strangers come at you online and show you some support, it's always a huge motivational boost. Use it.
Once the world know about your game, it's time to hit the damn "publish" button and cross your fingers.