The first thing you need to understand when programming is logic. Honestly, once you understand how to use ifs, switches, fors, whiles, etc. it's just a matter of applying those to whatever language you've chosen.
That's why a lot of people will tell you to start with "block-together" programs like Scratch and Stencyl. When you've been using Scratch, have you been using the if-blocks and variables? Those are extremely important for real programming as well.
Anyway, you said that you wanted to become a game designer. Now, Game Designer is a completely different job from a game programmer. As a designer, you role mostly won't be making the actual game, but designing it.
And it's more complicated then just sprouting off ideas all day. You'll have to have good understanding of what works well with what, and you'll likely need to be somewhat good with art as well. I would suggest watching Extra Creduts for some insight into the game design world.
Another option is making flash games, which means that you'll likely be working by yourself most of the time instead of in a team. This means that you'll need to be a jack-of-all-trades, drawing the art, making the music and programming the logic of the game as well.
If you want to do that, I would suggest learning Javascript or Python first, as Flash's ActionScript 3 is a terrible language to start with. After you learn Javascript or Python, then you can learn ActionScript. As for programs, you'll probably want to use Stencyl, but stick with the code mode instead of blocks.
Paint.NET should be enough for making most sprites. If you need vector graphics, then Inkscape should work.
As for music, I'm using Reaper, but it's not free. If you're using a Mac, then Ardour or Garageband will work fine.
Good luck!