Este tema lo encontré en un foro y me gusto la respuesta así que lo traduje:
Primero creo que si sabes ingles deberías pasar por este articulo de GameDev
http://archive.gamedev.net/archive/reference/articles/article892.html
Pero en resumido dice:
- Comienzas con un clon de Tetris. La detección de colisiones es simple, pero la simplicidad hace que el juego sea difícil
- Pasas a Breakout. Cuenta con los requisitos de colisión más avanzadas y la física para comenzar
- A continuación, Pac-Man. Ahora estas lidiando con Inteligencia Artificial. En Internet encontraras información de cómo cada fantasma tiene una forma diferente de elegir hacia donde moverse.
- Por último, Super Mario Bros. Esta no tiene porque ser una recreación exacta, pero tienes que ser capaz de hacer un juego de desplazamiento lateral(Side-Scrolling). Ahora estas tratando con los niveles, mapas, temporizadores, etc.
- Limpieza. Ir hacia atrás y dar a cada juego de un aspecto profesional. Algo que estarías orgulloso de vender (pero no los vendan, o te pueden demandar :P).
- Ahora estas listo para desarrollar tu propio juego desde el principio. Después de haber pasado por toda la experiencia ya sabes que planear, como planear y todo lo que tienes que hacer para que funcione.
La mejor parte es que hay herramientas que pueden hacer la mayor parte del trabajo por uno. Este artículo fue escrito hacia mucho tiempo atrás cuando todo se tenía que manejar con C o C++. Ahora puedes usar Engines, frameworks, JavaScript, Java o cualquier otra herramienta que hace el desarrollo mucho más veloz.