Suite au topic sur le puissance 4 ou certaine personne parlait d´écrire une IA, je vous présente un petit projet que j´ai écrit il y a quelques semaines.
Il s´agit d´un petit programme permettant de faire concourir des IA au sein d´un jeu aux règles asez simples. Tout est fait par mon programme, et pour le programmeur d´une IA, il y a très peu de travail (en plus du coté purement algorithmique).
Le jeu est vraiment très simple, il existe sous le nom de jeu d´alésia, et j´en ai un peu adapté ses règles (les conditions de victoire) sous le nom de jeu du lépreux, globalement, il y a deux camps qui s´affronte sur un plateau de 5 cases (en ligne, numéroté de 1 à 5), chaque camp étant à l´une des extrémités (case 0 et 6).
Au départ chaque camp dispose de n "crédit", et il y a un pion sur la case centrale. A chaque tour, chaque camp mise secrètement un certain nombre non nul de crédit. Celui qui mise le plus pousse le pion d´une case vers son adversaire. Si le pion sors du plateau (case 0 ou 6) celui qui est du coté où le pion arrive à perdu.
Pour abstraire la gestion des règles, ainsi que le coté du plateau où l´on se trouve, etc. J´ai écrit un petit programme en OCaml qui charge des DLL contenant des IA.
L´écriture d´une IA est donc très très simple, mon projet contient des fichiers exemples qu´il suffit de remplir (il faut deux fonctions par IA seulement).
Normallement ça doit pouvoir tourner sur n´importe quelle plateforme supporté par OCaml, en tout cas dans l´archive du projet (à lire avec WinRAR sous windows car c´est du tar.gz) il y a un makfile pour les plateforme unix et un ensemble de fichier .bat pour les plateformes windows, chacun un peu commenté pour voir ce qu´il faut modifier pour compiler lesIA qu´on y rajoutte.
Et enfin, une IA peut-être écrite en OCaml bien sûr, où en C pour ceux qui préférerait (sauf que je ne sais pas comment on compile ça sous windows, donc si vous voulez que ça marche automatiquement, une IA en C doit être compilée sous linux, sinon il faudra chercher).
Voilà, une archive contenant tout le projet peut être téléchargé là :
http://www.sectionpc.info/stratege/stratege.tar.gz
Il y a un fichier README, et la plupart des fichiers importants sont commentés pour expliquer comment s´en servir.
Pour l´instant l´archive ne contient que des exemples très basique d´IA, mais il devrait bientôt avoir des IA un peu plus poussé.
D´autre part, un ami a créé une page wiki sur le projet (
http://perso.eleves.bretagne.ens-cachan.fr/~dagand/wiki/doku.php?id=lepreux ) où vous pouvez, par exemple, poster vos IA.