Something I didn't realise when I started out is that game design and programming are two very different skills. If you want to make games then start right away with whatever you are comfortable with, even if it's dice and paper. It will be a while before you are able to realise you ideas in code, and even then they will probably still need a lot of refining before they culminate in a good game; getting some practice at design will help your design skills improve along with your coding skills. Something you can do is take an existing game (or a deck of playing cards is always good) and make up some new rules for a game.
When you start coding, your "games" (they wont even start to resemble games for a while) will be much simpler than anything you could make on pen and paper, so you'll have to appreciate them for what they are. If you feel like Dr. Frankenstein when you run a program then you wont have trouble keeping up an interest in learning to code. Just experiment with every new thing you learn and keep thinking "What would make this even cooler?" and then check if there are commands you could learn to help you achieve this enhanced coolness.
There are lots of free versions of BASIC, Dark Basic Pro of course being one of them. That's a good place to start, but I'd recommend at least skimming through some introductions and code examples from other languages like C, Java, Python, etc. because you'll get a more rounded idea of how programming languages work, and you might find one that appeals to you so much you want to dive straight into it. At the very least you'll pick up some tips that apply to all coding languages.
There are plenty of tutorials for DBP on these forums, so that's a good place to start, and I can't overemphasise the importance of reading other people's code. It's a great way to find out about unfamiliar commands that you might want to look up next, and you'll also pick up good coding practices and tricks that wont appear in tutorials. Most of my coding traits are heavily influenced by people on this forum. Keep changing up your style and finding new influences until you find something that suits you. Learn to ditch old projects when you've learned new and better ways to approach them, don't waste time clinging onto bad code.
That's about all you need to know, come back in a year.
The difficulty in learning is not acquiring new knowledge but relinquishing the old.