Et bien, ca depend beaucoup de ce qui t'interesse en programmation. Les aspect de progammation reseau sont interessants: comment fonctionne un client http? un client ftp? comment fonctionne ssl? ...
Je trouve les aspect systeme interessant egalement. Comment fonctionne un processeur? un controlleur memoire? la communication avec les peripheriques? Ca amene a des questions de calcul haute performance: comment rendre une application la plus rapide possible?
Apres il y a aussi plein de domaine d'application de la programmation. Les problemes d'imagerie peut etre passionnant. Comment detecter un objet dans une image? Comment reconstruire une objet 3d a partir de plusieurs image 2d prise d'une meme scene? La steganographie.
Tu peux aussi regarder les probleme de generation de son. Un ami a moi est devenue un expert programmeur en essayant de faire de la generation automatique de musique.
Si c'est vraiment l'aspect jeu qui t'interesse. developper un jeu complet et paufine est vraiement quelquechose de difficile, si tu as une idee de jeu, ca peut etre vraiment interessant. Sinon, tu peux essayer de rejoindre une equipe de developpement de jeu existant dans le monde open source et de voir ce que tu peux ameliorer. Ou peut etre porter le jeu vers une autre plateforme.
En parlant de plateforme. J'ai trouve la programmation pour differente plateforme passionnante. Programmer pour nintendo wii n'est pas si difficile que ca. La programmation pour DS se fait relativement bien aussi. Ou encore la programmation pour android (comme la suggerer bunyan). Si tu as le materiel, il n'y a quasiment rien a acheter pour pouvoir programmer dessus.