Also, sometimes, an idea starts out really good, but the gameplay doesn't end up making sense; I have control elements and graphics, but they don't work well together to be enjoyable- I'm blaming the fact I'm not a real programmer, and can't do everything I want with mad skills

I don't think it's the fact that you're not a programmer. Creating a good game is more than just a good idea. What seems awesome in your head may not make sense or simply not 'click' when you put it into practice.
The solution for that is to do the opposite of what in my experience badass artists like you do. You guys seem to have an instinct of making a ton of assets for a game that's barely formed (probably because you see them visually before you see them as a set of mechanics), using up a lot of time before you make a prototype and see if the game you're making actually achieves what you want (whether that is being fun or anything else).
So, the solution is to make small, dirty, ugly prototypes as fast as possible. They don't need to even work right and can have a lot of bugs, but as long as you can experiment with the gameplay and see if you find it has the potential to be what you envisioned, it's a very good way to test the feasability of an idea before you roll up your sleeves and get cranking. It's also great to let you discover complications with your concept that you had no idea you'd have to deal with, before you put too much commitment into it.