[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Maitretarot-devel-fr] Re: maitretarot
From: |
Yves Mettier |
Subject: |
[Maitretarot-devel-fr] Re: maitretarot |
Date: |
Sun, 22 Jun 2003 14:27:26 +0200 (CEST) |
User-agent: |
SquirrelMail/1.4.0 |
Je crois que je me suis trompe de ml quand j'ai repondu a ce mail la premiere
fois. Pas
grave, je CC la bonne ml cette fois :)
> Yves Mettier a écrit :
>> C'est encore pire que ca. L'IA joue n'importe quoi, mais vraiment n'importe
>> quoi. Et
>> si
>> ca ne respecte pas les regles du jeu, le serveur l'indique a l'IA qui doit
>> rejouer une
>> autre carte. Cela permet d'ailleurs de "tricher" un peu, car si je joue
>> pique par
>> exemple, et que l'IA n'a plus qu'un seul pique en main, elle va mettre du
>> temps avant
>> de
>> le trouver. Plus l'IA met du temps a jouer, moins elle a de carte dans la
>> couleur en
>> question dans son jeu !
>>
>> Par contre, cela presente aussi un interet: si on veut gagner, il faut
>> completement
>> remettre en cause sa maniere de jouer car l'IA ne joue vraiment pas comme un
>> joueur
>> humain !
>
> personnellement ça me va bien, car j'ai découvert le tarot que durant
> cette année à la fac et j'aurai tendance à jouer comme l'ordi ;-)
He he. Sauf que, l'invenient par rapport a l'ordi, c'est que du coup tu ne peux
pas
t'inspirer trop de ses bons coups, comme tu pourrais le faire avec un humain
qui a des
strategies.
Exemple typique, si tu joues avec un ou deux partenaires contre celui qui a
pris, et que
la maniere de jouer de tes partenaires te fait comprendre que l'un deux a le 1
d'atout,
tu vas peut-etre, des que tu peux, poser le 21 pour qu'il joue son 1 en toute
securite.
Avec l'ordi, si tu poses ton 21, c'est un hasard s'il pose le 1.
Autre chose: avec l'ordi tel qu'il joue actuellement, il est strategiquement
interessant
de poser ta dame le plus tot possible, meme si le roi n'est pas encore tombe.
Statistiquement, c'est ainsi qu'elle a le plus de chances de passer. Contre des
humains,
aucune chance qu'elle passe: le roi veille :)
> Mais c'est bien qu'il fasse des bétises, ça permet de voir pourquoi à
> des moments il ne faut pas jouer certaines cartes.
Oui, par contre, tu as raison: on peut voir les betises de l'ordi :)
> As-tu prévu d'implementer "l'intelligence" aux joueurs ?
Oui.
> J'aimerai bien te filer un coup de main, mais je ne me suis pas beaucoup
> servit de GTK ;-)
Puisque tu veux participer, je vais te decrire l'architecture du projet, son
avancement,
et ainsi tu pourras t'attaquer a un morceau si tu veux.
Le principe est qu'on a un serveur, qui s'appelle maitretarot (ou
maitretarot_server
pour eviter les ambiguites avec le nom du projet). C'est lui qui distribue les
cartes,
gere la partie, etc. C'est le maitre du jeu. C'est un serveur TCP/IP, et chaque
joueur
peut s'y connecter.
Chaque joueur, il existe actuellement trois projets. L'un est l'interface gtk+
que tu
connais: mt_gtk_client. Un autre est l'interface ncurses: mt_ncurses_client. Et
le
troisieme est l'IA que tu connais aussi: mt_dolphin_ia.
Le projet souffre d'un probleme majeur: le protocole de communication entre
serveur et
clients est un protocole binaire qui n'a pas ete concu pour etre facilement
extensible.
De plus, le serveur maitretarot_server a quelques defauts supplementaires.
Du coup, pour le serveur, on est repartis a zero, et le nouveau projet s'appelle
game_server. Il implemente le nouveau protocole, qui est texte, et qui s'etend
facilement.
Actuellement, game_server ne va pas plus loin que les encheres, et ne les gere
pas
jusqu'au bout. Quand game_server sera capable de faire une partie entiere, il
faudra non
pas refaire, mais adapter les clients pour qu'ils comprennent le nouveau
protocole. Ceci
ne devrait pas etre trop complique.
Par ailleurs, les clients utilisent deux bibliotheques qui font partie du
projet, entre
autres libmt_client, qui s'occupe du protocole. L'avantage est que pour le
changement de
protocole, on aura seulement des modifications a faire dans la bibliotheque, et
tous les
clients deviendront compatibles avec le nouveau protocole.
Consequence, tout developpement sur un client n'est pas peine perdue car cela
se fait a
une couche au dessus du protocole.
Si tu m'as suivi jusqu'ici, je te presente les differents sous-projets ou tu
peux
apporter ton aide, suivant tes envies et tes competences (celles que tu as ou
celles que
tu veux acquerir), ainsi que les gens qui sont dessus:
- libmaitretarot (moi): bibliotheque de base pour tous les autres sous-projets.
Aucune
modification majeure a apporter actuellement
- maitretarot_serveur(moi): va etre abandonne au profit de game_server. Aucune
modification a faire (outre d'eventuelles corrections de bugs)
- game_server(moi): sous-projet le plus actif: il faut lui faire faire terminer
une
partie avant de pouvoir s'attaquer a la suite en ce qui concerne les autres
sous-projets
(a l'exception de l'IA)
- libmt_client (hocwp, et des fois moi aussi): en attente de l'implementation
complete
du nouveau protocole dans game_server.
- mt_gtk_client(hocwp): en attente de libmt_client (mais peut etre ameliore
quand meme)
- mt_ncurses_client(hocwp): en attente de libmt_client (mais peut etre ameliore
quand meme)
- mt_dolphin_ia: sous-projet stable et fini. C'est une base que l'on peut
recopier pour
developper une IA digne de ce nom.
- mt_ia_one (cyrano): (je ne suis plus sur du nom): projet d'IA, repris de
mt_dolphin_ia
pour en faire une IA plus interessante. Pas disponible pour le moment.
Niveau competences, si tu cherches du developpement systeme et reseau, on peut
bosser
ensemble sur game_server. Si tu preferes les interfaces graphiques, tu peux au
choix
aider hocwp sur le gtk+ ou ncurses, ou alors meme partir de zero pour faire la
tienne. A
moins d'utiliser libmt_client, je te deconseille de faire la tienne pour le
moment a
cause du protocole qui change. Enfin, si tu t'interesses a l'IA, cree la tienne
en
reprenant mt_dolphin_ia. Met-toi en contact avec cyrano si tu veux bosser avec
lui. Le
developpement sur l'IA est independant du developpement du serveur.
Comme tu vois, le projet et tres modulaire, et on peut se permettre de
completement
ignorer certains aspects pour mieux se concentrer sur d'autres.
Qu'en penses-tu ?
Yves
>
> --
> GML - Programmeur PHP/MySQL
> http://www.tutorials-fr.com/ : Annuaire de didacticiels
> --
> Mon Dieu, que c'est con, un con !
> Frédéric Dare
>
--
- Homepage - http://ymettier.free.fr - http://www.logicacmg.com -
- GPG key - http://ymettier.free.fr/gpg.txt -
- Maitretarot - http://www.nongnu.org/maitretarot/ -
- GTKtalog - http://www.nongnu.org/gtktalog/ -
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Maitretarot-devel-fr] Re: maitretarot,
Yves Mettier <=