Motivation
First,start with your motivation. Why do you want to make a game? If you want to make money, here's bad news: Majority of indie game developers won't make much. And those who work for big companies will tell you that their job is not much different from any other software developer or designer job and far from the fun they expected (there are exceptions...).However if you simply want to make a game and you don't expect to make a lot of money, at least not from the beginning, then you are on the right track. Of course, you can still make money, just don't expect it to happen over night.
Skills needed
What you need is an idea. It can be an original idea or an idea to make a better version of existing game (just be careful not to make an obvious copy). Many really successful games don't have great graphics, but captivate the players by a solid gameplay.It is useful if you can code, create graphics or compose music. If you want to make the game on your own, then you have to know at least coding. There are plenty of free graphics and music assets that you can use and later maybe replace with custom assets.
You can team up with your friends. Or you can always hire someone to do the coding, graphics or music - but then you have to really believe in your idea, because you are starting to invest money in it.
But what you will need most definitely is patience and strong will.
So how do I start?
Chances are you want to create an Android game (since you are reading this on my Android website). Start with creating a simple clone of a well known game. It doesn't matter if it is Snake, Space Invaders or Connect three. But try to finish it! I am sure there any much more half done game ideas that those completed.Do not start a big project before completing at least one smaller one. Forums are full of people that want to make a MMORPG just because they think they can do it better then others. And 99.9% of them fail. Making games is hard and making fun games is even harder. Start small and start now.
Pick a game engine - do not try to write everything yourself. Another big mistake of beginners is trying to write engine first. One of the golden rules in software development is: Everything was already written by someone else. And it is true. Use existing assets for your first game.
What tools should I use?
It's up to you. Pick something with good user base. I can recommend AndEngine for your first 2D Android Game. It's simple and many good games were created using AndEngine. It's easy to learn and free - you won't invest too much in case you won't like it.Honestly learning a framework or engine won't take you long, so if you are hesitating, just toss a coin and try one.