I've been programming for three years now and am confident in my abilities to make two dimensional games. I also have lots of ideas for games that I want to develop.
The main problem I'm having is what to do next. I usually come up with an idea, mull it over for a few days, write it down, get excited about it, then get discouraged about the idea, my life, and various other things and abandon the idea. Remember that technology isn't the problem here.
What do you do once you have an idea you'd potentially like to explore, especially in a timely manner?
Well what do you want me to tell you? The obvious answer is to do it, but it seems like you're looking for something else. When you say things like "I get discouraged about the idea, my life, and various other things," it just sounds like you're depressed, not confused about what to do next. The underlying question is "I can't get motivated to actually program; what do I do?" And the answer is I dunno. Depends the type of person you are.
Before programming, I wanted to be an author. I wrote from childhood to my freshman year of college. Then I started to feel the way you do now. For me personally, it meant that I didn't really want to write. I had ideas, but I had no drive. It wasn't me, it was what I was trying to do. I'd just gotten over it at some point, and that was it. Then I found programming and was all of a sudden a totally different person. People said it was like I hit my head and forgot the unenthusiastic, mellow person I used to be. So maybe you're just kinda done with programming?
Then again, in programming, I've come against that wall at least once, that I can remember. I just pushed through it, got a project done, and ended up ten times better for having done it, and much more confident. I guess try this method first, and then if you just can't do it, maybe you don't wanna program? My only other advice is to try to limit yourself to only projects that are extremely exciting to you. They make you wanna wake up early and go to bed late, if at all. They make you go 12 hours straight without realizing you should maybe eat and, I dunno, stand up. Those are the projects you'll work on and finish. If it doesn't make you unreasonably excited, then you probably shouldn't waste your time. At some point you'll either give up, or be so bored you have to force yourself to finish.