The best article I have found on the subject is How do I make games? A Path to Game Development.
You really should read the whole article, but let me sum it up:
When I talk to people looking to get into game development some of the first things I often hear fall along the lines of, "How do I make games?" or "I want to make a game like Quake/Everquest/Starcraft and…". The first is just way out of the realm of answerability, as there are too many aspects to possibly go into, and each of those components can be infinitely complex.
The second, however, falls into just being unrealistic in expectations...
So where do I start?...
Tetris has all the individual components that ALL games share in common. It has a game loop (the process of repeating over and over until the game is quit). The game loop reads in input, processes the input, updates the elements of the game (the falling tetraminos), and checks for victory/loss conditions.
He then goes on to cover more and more advanced games and topics
- advanced collision detection
- simple deflection physics
- level layout
- artificial intelligence
- sound
- art
- advanced game state
and wraps up with this wisdom:
Finishing a game does not merely mean you get it to a point where it is playable, and then move on, this is not a finished game. A finished game will have an opening screen, a closing screen, menu options (if applicable, at least instructions on how to play and start), introduction screens to playing, reward screens and a score board (where applicable)...
This isn't a world you can't join though, it just takes a good deal of time and experience and track record of making quality games...
So, to judge your progress as a game developer, you cannot simply "[drift] along until you wake up one day at your destination", you must actually develop games. Anything short of that is simply deluding yourself.*
*The author of this post is not a game developer.