We have our impressions of what awesome themes our game will possess, how cool the characters will be, and the cutting-edge graphics it will have. The world will have never seen anything like it! More often than not though, it becomes all too easy to get swept up by our creative ambitions, leaving ourselves distraught and disenchanted when our capacities do not live up to what we thought we could create.
If I could rewrite the history of my gaming experiences, in regard to my programming adventures, I would probably leave out the parts that involved actually playing the games. Having been immersed in the MMO scenes for a number of years I became somewhat stark-raving-mad in my desire to become a part of that particular niche of the technology sector. The result? A lot of poorly designed code, a feeling of having accomplished nothing, and a barely-workable knowledge of a variety of facets of Win32, OpenGL,Java, and C/C++. I am shocked that I am even around the programming community to share this, that's how hard I fell. But I'm glad I'm back (excuse the dramatics).
So reality check for the authors of practically every third thread in a lot of the forums. Do not overshot your capabilities. Learn your fundamentals, then learn them again. Besides, Rome was not built in a day, nor will have been something you create are that you are actually proud to have been a part of.