A great thing about programming is that if you have access to a computer, you can do it (and that even means if you only have temporary access to a computer, like at a library). There are lots of ways to learn, depending on what your own learning styles are.
A very, very good starting place is http://www.codecademy.com/ .
The Internet is full of places to learn. Searching for the kind of thing you want to do plus the word "tutorial" can be surprisingly helpful, once you have the hang of the basics (from a place like CodeAcademy).
After you are starting to get used to the main ideas, you can try to find the kinds of programs that interest you and that you have the ability to make, and make more of them. Like interactive Web page games? The tutorials linked here: https://developer.mozilla.org/en-US/docs/Web/Tutorials can take you very far. If you prefer mobile apps and have a smartphone, there are places to learn those, too (though I'll refrain from putting too many more links in this initial post).
In general, the most important thing for me was to work on projects I was actually interested in. Once you start to form thoughts like "I can control the character on the screen with the arrow keys, but how can I make it jump?" then you can do more targeted searches, and can learn by doing.
While there is some specialization in programming, most of what you learn can apply to a wide variety of programs. So, don't be discouraged if you find yourself learning best from things which aren't explicitly about games. I learned to program by making my own games, in fact, and now am using those skills on my job in Flight Search.
I hope this helps!