Programming is about 10% code and 90% reasoning. I am completely self-taught, and had been programming ~7 years before I took a single class. This is to say you do not need formal education to learn programming, but in my opinion... It could help a lot early on. Classes tend to focus on (or at least,
should focus on) teaching you the skills to abstract an idea, and understanding how different components work together to make that a reality. The language is one component, but the biggest hurdle in programming is simply learning abstraction. Your logical reasoning and problem-solving skills are critical, especially as most programming time is spent debugging rather than writing "new" code.
It's not so important that you learn a specific language as it is that you learn programming concepts. Once the concepts and practices are solidified, learning a new language's syntax and quirks isn't all that difficult. There are several programming "styles". (E.g. functional programming, object-oriented, structured, etc.) Each style has it's own learning curve, but there are always some transferable concepts. A lot of languages are designed more for a specific style, and thus, are better suited for certain purposes.
Fishaman made a very good point:
Basically, find a specific purpose you want to code for, then choose the language that suits it best. Then just study hard!
I would not recommend HTML unless you're planning on doing web development, simply because it is not a programming language. (It's a markup language.) For this reason, you won't really learn a lot of skills from it that you can transfer to other languages. However, if making websites appeals to you, by all means, go for it! HTML is pretty easy to learn and it is very rewarding to see results quickly.
If you're interested in "official" game modding (where support for modding is built-in by the game developers), scripting languages are probably going to be most useful. Javascript, python, and LUA are probably the most common. Scripting languages are generally used in combination with other languages though, so it's easier to learn if you have a specific game/project that you're working with.
If you want to make your own games, I would encourage you to not spend too much time on an "easy" game creation tool... By that I mean, serious game development requires a lot of flexibility and processing power, and you sacrifice a lot when you pick something that makes quick and easy results. I for one started with Game Maker (which is an "easy" game creation tool), and while it was awesome to see my ideas come to life quickly, it also became a crutch, and made it harder for me to move into "real" programming and away from the limitations imposed by other tools. If you start with a language like C#, Java, or C++, you will learn skills that are much more useful for long-term development. Unity is probably the best middle-ground, as it is designed for rapid production, but you use javascript and/or C#, and it is much more robust than other game creation tools. Oh, but one more tip:
Plan small. Even some seemingly-simple games are incredibly time-consuming to make, which can be discouraging. Avoid RPGs, MMOs, and complicated mechanics until you have built up experience.
Where you start is up to you and depends on what you want to do. I would suggest you download lots of examples that are similar to what you want to do, and use google extensively when you run into trouble. There are tons of resources online, and
you don't need a single class if you don't want to. (However, as I pointed out before, it may help you pick up on some concepts a bit faster, and keep you motivated.) If I were to choose a language to recommend to a beginner, I would say C#. It is useful for many different kinds of projects and the syntax is about as "standard" as any programming language, so it should be easier to pick up other languages with a C# knowledge-base. Now this is just my opinion, and tons of people will definitely disagree with me, but I found it easier to work and more flexible as a whole than any other language I've touched. (C++, Java, JavaScript, Delphi, Visual Basic, PHP, python, ActionScript, and a few others...)