There are 3 big factors behind the development of every video game: the quality of the game, how large and complicated it is, and the development budget in both time and money. Common wisdom is that you must be willing to compromise on at least one of those factors if your game is ever to ship.
- Triple-A games aim to be big and good. That’s why they’re often delayed: they’re big games and they must be of high quality, so the budget expands when it looks those objectives can’t be reached.
- Indie games aim to be good and cheap. That’s why they’re often very short, they focus on one type of gameplay and they feature simple graphics: the budget simply isn’t there to create anything more ambitious.
- Licensed games aim to be big and cheap. That’s why they often get poor reviews: budgets are set in stone and the games are large to fit the license (multiple playable characters, multiple gameplay modes, etc.). The only thing that can move in case of problems is the quality.
It’s better to make the choice of what you’re willing to compromise on at the start of the project. If you try to make a game that’s good, big and cheap, you’re headed for trouble. Either the game will get canned or you’ll be forced to make a compromise you weren’t prepared to make.
What do you do if you want to get out of the stereotypical projects above — say, by making a good licensed game? You need to be able to compromise on another factor instead. In this case, you could try to make a very small and focused game, or you could try to get the publisher to be flexible with the budget when quality targets aren’t reached. None of those is easy, but hey, if they were then everybody would be doing it.