I've been working on this one for multiple years now, commitment and the art of Finishing Things is perhaps more important than any individual skill-set like programming. Obviously individual skill-sets are important, but you could be the greatest at everything and it's not worth very much if you're _also_ very good at giving up.. In my experience, the first 10% of working on a game is great fun because you're trying different things out, experimenting! And then you have to finish the thing - and getting a decent product to market is a hard slog whether it is a video game or not.
Simple advice to anyone interested in making games - make something small and simple in a single weekend, a snake clone or something, and then go from there.