maitretarot-devel-fr
[Top][All Lists]
Advanced

[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/                    -






reply via email to

[Prev in Thread] Current Thread [Next in Thread]