It takes a village
"If you work hard enough, assert yourself, use your mind and imagination, you can shape the world to your desires
It's amazing just how far the gaming industry has come in terms of who can actually make a living creating games. For the longest time, the idea of forming a team of developers to create a profitable game without financial support from a game publisher was unheard of. These days, however, indie gaming is on the rise and even the big dogs with years of AAA experience are jumping into the independent game dev crowd.
The fact is, developing a game involves several roles that are rarely done by one person. Since you may not possess all of the needed talents - and each may take a lifetime to master.
Your idea can be the best thing ever, but without a programmer it will probably never come to life. A computer programmer is the guy or gal that will spend most of their time developing codebase and the tools for the game. Since video games are electronic entertainment, no programmer usually means no video game
More often than not, everyone in a small indie team contributes to the game design. In fact, usually someone who is already serving a different role is also the game designer. This can be the programmer, an artist, or even a writer.
Artists are the role that you'll often find more than one of in an indie game team. This is because creating art takes time and will be what the players see as they play, making it a vital element to your project.
Working closely with programmers, designers, and even writers, the artists will produce the visuals of the game. This may start out with concept art before moving on to content that will appear in the game, including backgrounds, animations, etc.
The artists will also make sure the art they produce meets the technical requirements and captures the feel of the game. Preferably you'll want more artists if your game demands it, such as if you're making a 3D platformer. But if you're making a retro platformer, one artist can take care of crafting the pixel art and animations.
Just like the game designer, the role of project manager is usually taken by someone that's already providing a different talent. Whoever it is, the project manager's responsibility is to make sure the team works fast and efficiently.
Quality Assurance / Tester
It's also not a bad idea to have someone on board specifically dedicated to finding bugs. This can be friends, people that supported your crowdfunding campaign, or anyone that can play the game and tell you in detail what went wrong.
Credit New York Film Acadamy