DirectX 10 n'est pas pris en charge sur Windows XP. Pour fonctionner sur de tels systèmes, un moteur DirectX 9 ou antérieur est requis. Cependant, sauf si vous développez sur un système Windows XP, vous ne devriez pas vous inquiéter à ce sujet et utiliser la version plus facile.
IMO DirectX 10 est la meilleure plate-forme pour travailler avec, donc vous devriez utiliser cela pour apprendre pour le moment.
Dans les deux cas, je recommanderais de sauter la partie de programmation de bas niveau et d'utiliser un environnement tel que XNA ou Unity si vous êtes intéressé par le développement 3D. Une autre option serait Silverlight pour pouvoir l'héberger en ligne (Flash aussi mais ce n'est pas gratuit). Il existe également une myriade de plateformes de développement de jeux gratuites et payantes disponibles en ligne. Je pensais que j'étais différent et que je pouvais gérer un moteur avec mon premier jeu, une demi-décennie et bien plus de mille heures plus tard, et je n'ai même jamais réussi à obtenir quelque chose qui puisse être défini à distance comme un jeu. (Bien que pour ma défense j'ai passé beaucoup de temps sur des tâches aléatoires telles que la conception de moteur extensible (3 ou 4 différentes) et le rendu procédural sur le GPU)
Cette autre question (celle-ci a été marquée comme une copie de) ne tient pas compte des restrictions d'exécution/OS (et la plupart des réponses les ignorent également). –