Questions technos, je pense qu'il y a deux scenarios a envisager:
1. tu souhaites faire un jeu
2. tu souhaites apprendre a faire un jeu
Pour le 1, partir d'un moteur fonctionnel avec des outils pour integrer le contenu te donnera une productivite maximale. En contrepartie, l'aspect technique se resume a packager ses ressources, gerer les scenes, et ecrire un peu de code gameplay (souvent dans un langage de script)
Pour ca, on te dirigerait vers Unity, UDK, etc.
Pour le 2, c'est bcp plus vaste, car tu peux te placer a tres bas niveau (apprendre les couches graphiques avec DirectX / OpenGL, apprendre les couches audio, reseau, etc.), ou relativement haut niveau avec des moteurs operationnels mais qui demandent de programmer en mettant les mains dans le cambouis.
Il y a un equilibre a trouver, et dans ton cas j'aurais 2 environnements a recommander : XNA (C#), et Torque2D / Torque3D (C++) (Torque est payant mais peu onereux, et fournis avec les sources, outils, etc.)
Dans les 2 cas :
- tu es directement operationnel, car tu pars d'un framework qui marche
- tu fais de la vraie programmation, ou tu peux developper tes propres modules a integrer. Ce qui devrait t'interesser vu ton background
- le SDK et les samples sont bien foutus. Loin devant les tutoriels bien souvent amateurs et foireux qu'on trouve a foison sur le net.
Voila pour mes recommandations ! Apres, on en fait ce qu'on veut...
Bonne continuation !