This person gets it completely. Coding is about constantly evolving your product.
People get depressed, tired, lose morale... it's all pretty common. Here's some advice:
Stick it out,
Put in a constant effort (do something every day, even something small).
Keep a notebook of your ideas
Play games! (See what others do right, learn from their mistakes and also take the time to relax)
Have a life outside gamedev! (remember to have friends and keep other people around you)
It sounds patronising, and I shudder to say it but you're young! At 17, you're still young enough that you should just be powering along and building up your skills. The general consensus is that it takes 10,000 hours of an activity to make someone into an expert - that's a lot of hours!