Video game development is often driven by a powerful motor: passion. When you start working on something because of passion it can be very hard to know when it's time to stop. It's important for you to know the limits.
When the game is done
We often hear that a game is done when it's done. But is a game ever done?
Games are never done. Developers are done with their game. -- Jan-Willem Nijman
Making a game is often a matter of guts. A matter of showing the world what you have inside you. A matter of trying to express yourself.
When people try to show the world who they really are, they often don't want to be seen as losers who are not capable of making a respectable game. They want to give the best out of them, to make all their exceptional ideas a reality. They want to blow minds and mark History! Good... Unfortunately it's
never not always possible, because of the slight difference that exists between human brain imagination and the realities of game development. Sometimes, trying to achieve what you believe to be the most awesome game ever will just drive you crazy and change the nice game developer you wanted to be into someone who is a bit weird and has never released a game.
Working too hard and too long on something you love can easily make that thing blurry. Because you are the game developer you know everything about your game, almost every aspects. This omniscience makes the magic of games disappears. You can't be amazed by something you work on for a year as someone who is discovering your game.
Developers spend so much time working on their game that they happen to forget the true value of what they do. It's not rare to hear "I don't believe the game is good... the idea looked cool, but now... after all these months... I think I missed the execution... I need to rethink the main character and give him more powers...". BZZZ WRONG! This is a bad idea.
Keep in mind that you can't have an objective point of view on what you do. So it's difficult to see when you're reaching the point of no return. Don't chase impossible dreams, release awesome games instead, even if it means smaller games. If these games are not 100% what you have imagined years ago, chill out and remember nobody releases the game she has imagined.
Work on your game schedule
When you work on your own (alone or with a small independant team) you don't have external pressure (except when it comes to pay bills). There are great chances that nobody knows about you and your game so you don't have to work on a schedule.
You probably don't have to, but you should.
Even if you hate deadlines they, somehow, help you keeping track of time spent working on your game. Having deadlines will create a mental limit to content. I don't talk about precise deadlines where you list every feature you should have at a precise date. These don't work. I'm talking about having only two important deadlines.
1. Prototyping and idea collection
Use the time spent working on the prototype to try every idea you want to have in your game. Even the weirdest.
Give yourself a limit to finish your prototype (a month or two max). Once this limit is reached you have to decide if the prototype is interesting enough to make a game out of it or if it's time to work on another game idea.
2. The right time to fail
When you start the game production you should have a rough estimation of how long it should take for the game to be released (the official formula
estimated_duration * 2 + 3.5 months). Cut that date in half and put a milestone there. This is the second biggest moment of your game production: When you have to ask yourself if it's worth it.
There is no shame to fail at finishing a game. However, if you should fail, it's important for your sanity and your self esteem to fail fast. Don't wait for your game to be finished to know it's crap and the idea sucked.
Take a day or two (maybe a week) to talk with your team. Do you have enough money to finish the game? Are you still motivated by this project? ... the answers should be 'no', don't worry it's normal.
Real questions to ask are: Do you think you will manage to finish the game? Do you feel this game still has some potential? Do you feel it's still important for you to release it?
If one of the answer is 'yes', then you should continue giving the best out of you to rock the game industry because if you're still not exhausted by the project at that point it should be something important!
When it's getting dangerous for you
You can find very interesting articles about some game developers who put themselves in danger because of their art. Please don't do that. Remember to stay focus on your game but you are the priority.
Your game is a boat, and you are the captain. The boat won't go anywhere if you're dead.
When you work alone, or with a small group of people, it's easy to lose yourself. Please, stop everything and have a break the day you feel it happens.
In the end
A game is never done by itself. It's very easy to never reach the finish line because the game can have more content or be even better. Remember it will always be better to release a small game than to never release an awesome game full of new features nobody will ever see.