J’ai terminé mon petit jeu d’échec et par la même occasion mon petit tour de découverte de Direct X 9. L’IA est loin d’être parfaite mais elle se défend. La représentation de mon échiquier est basé sur l’utilisation du filtre 0X88 (tableau de 120 cases). Pour les curieux, voilà un bon lien sur la représentation d’un échiquier:
http://www.cis.uab.edu/info/faculty/hyatt/boardrep.html.
Mon IA, elle, est basé sur un algorithme alpha-bêta amélioré. Le niveau 4 du jeu correspond à une profondeur de 6 dans l’arbre de recherche, le nombre de coups évalués par l’ordinateur à ce niveau peut dépasser les 6 millions (en d’autres termes l’ordinateur passe 6 millions de fois dans l’algorithme pour jouer un coup). La rapidité dépend évidemment de la puissance de l’ordinateur. Sur mon ordinateur (2007 – Win XP – Intel Core 2 Duo E4500 @2.20GHz) une évaluation de 6 millions de coups prend environ 30 secondes. Ma fonction d’évaluation est assez basique et je n’ai pas de bibliothèque d’ouverture ou de fermeture de partie.
Voilà, voilà, si vous n’avez rien compris à ce que j’ai écrit, je vous conseille de programmer votre propre IA
. Je pourrais encore optimiser l’ensemble mais je souhaite partir sur un outil qui risque de m’être indispensable dans les mois à venir… à savoir l’UDK.
Le jeu ne fonctionne que sous Windows (le point faible de Direct X) et nécessite la version 9 de direct X au minimum ainsi que la version 2.0 pour l’HLSL.
Le lien vers le jeu: 3D Chess Game.
Et quelques screenshots pour finir:











































