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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Maitretarot-devel-fr] Re: maître tarot


From: Yves Mettier
Subject: [Maitretarot-devel-fr] Re: maître tarot
Date: Sat, 28 Dec 2002 17:15:38 +0100 (CET)

> Bonjour,
>
> Il y a environ une semaine, je me suis demandé s'il existait un jeu de
> tarot pour linux. Et puis ma mémoire de lecteur de Linux Mag m'a
> titillé et m'a rappelé que Yves était le coordinateur d'un projet de
> tarot. Une petite recherche sur le web et je vous ai trouvé.

Hop, c'est moi :)
Je renvoie le message, CC la mailing list.

Je coordonne le projet et je me concentre sur le serveur.
Je coordonne aussi le projet cardpics, pour si t'as besoin d'images pour
les cartes. Les atouts sont a ameliorer, mais sont deja tout a fait
utilisables.

>
> Décidé à essayer maitretarot, je download les sources, et au moment de
> compiler (j'ai commencé par libmaitretarot), je me tape des erreurs
> comme quoi mes bibliothèques ne sont pas à jour, etc. Etonné vu que je
> suis en Mandrake 9 à jour niveau paquets, j'ai eu la flemme de chercher
> plus loin et de me plonger dans votre code (je peux toutefois vous
> aider si vous me posez les bonnes questions).

A mon avis, c'est plutot que tu n'as pas installe libxml2-devel
libglib2-devel ou un truc comme ca.

Sinon, tu peux aussi aller chercher les paquets mandrake: ils sont dans
les contribs de cooker.

>
> Ce qui se dit flemme quand je parle de C se traduit - chez moi - par
> enthousiasme quand je parle de Perl. J'ai cherché s'il existait un
> module Perl pour jouer au tarot (oui, bon, il me vient de temps en
> temps des idées fixes comme ça :o) ), et rien que dalle. Je me suis
> donc décidé à créer mon propre jeu de tarot en Perl.
>
> J'ai commencé à partir un peu dans tous les sens, histoire de voir les
> possibilités, et d'essayer rapidement diverses choses (y compris un
> début de GUI) pour voir ce qui serait bien. J'ai ensuite laissé
> décanter un peu, et me suis rendu compte que le plus simple (si je veux
> laisser la porte ouverte aux gens qui auront envie de développer des
> AI) restait encore de prendre une architecture comme celle que vous
> avez choisie, à savoir un serveur tcp et des clients se connectant
> dessus. Pour une convivialité maximale, il faudrait que la GUI soit
> capable de lancer le serveur, mais bon, rien de bien méchant là-dedans
> (un fork et basta). De même, pour une généricité maximale, chaque
> joueur (qu'il soit humain sur une GUI ou une AI) doit tourner dans un
> process séparé, là encore aucun problème.

Pour l'instant, tu as la meme demarche de reflexion que nous.

>
> Le gros problème de ceci est (et je pense que vous l'avez déjà
> expérimenté), qu'il faut définir un protocole, le plus simple posible,
> qui permette de traiter les différents cas du jeu. J'ai donc développé
> mon propre protocole, qui vaut ce qu'il vaut, et j'ai commencé à
> implémenter le serveur (et en Perl c'est relativement rapide / aisé).
> Et puis je me suis dit qu'en fait il serait pas mal de mettre en commun
> nos ressources, pour deux raisons :
>  * tout d'abord parce qu'on ne buterait pas sur les mêmes problèmes, et
> donc on gagnerait du temps ;
>  * et surtout parce qu'en rendant nos clients / serveurs / AIs
> compatibles, on aurait une plus grande audience. Et que porter une
> partie existante en C ou en Perl dans l'autre langage serait soit
> inutile (quoi que certaines personnes ne veulent pas entendre parler de
> compilation, et d'autres ne veulent rien savoir de langages
> interprétés), soit triviale.

C'est surtout que ca va te permettre de te concentrer sur le serveur et
utiliser les clients de maitretarot pour tester. Ou l'inverse, developper
ton client en Perl en utilisant le serveur de maitretarot!
De notre cote, ca nous permettra de gagner en solidite, tout comme toi
d'ailleurs!

>
> Bref, êtes-vous intéressés par cette proposition de développer en commun
>  le protocole ? Pour information, je vous joins le protocole que j'ai
> développé et commencé à implémenter en annexe (c'est du pod, facilement
> lisible avec un éditeur texte ou via la commande perldoc). Comme je le
> retouche au fur et à mesure de l'implémentation, les seules parties
> valides sont :
>  - la partie Description qui indique les grandes lignes du protocole. -
> la partie Summary qui est une espèce de diagramme de flux entre le
> serveur et les clients. Comme vous êtes intelligents, vous aurez
> compris que > veut dire message de client vers serveur, < veut dire
> message de serveur vers client qui vient d'émettre, et << veut dire
> broadcast vers tous les clients.
>
> Si vous êtes intéressés, faites-le moi savoir le plus rapidement
> possible, et envoyez-moi un document explicitant votre protocole afin
> que je puisse l'étudier et vous dire ce que j'en pense... Et s'il me
> convient (les choix techniques exposés dans la partie Description me
> semblent plus ou moins requis), l'implémenter en Perl. De toutes
> façons, même s'il ne me convient pas et que je décide de ne pas
> l'implémenter, je le regarderai quand même afin de voir comment vous
> avez fait. Et, qui sait, peut-être arriverai-je à vous faire changer
> d'avis ? :-)
> Mais avant d'en arriver là, on peut toujours en discuter.

On est en train de repartir a zero au niveau du protocole. Donc ca tombe a
point, ton protocole.
Pour l'instant, nous sommes parti sur une idee de protocole similaire aux
RPC (mais on n'utilise pas les RPC). En d'autres termes, chaque client
doit mettre des procedures a disposition du serveur, et le serveur execute
ces procedures a distance. Par exemple, le serveur executera
jouer_une_carte() sur le client a qui c'est de jouer.

Des que la periode des vacances est passee, je jette un coup d'oeil a ton
protocole, et on s'y met. En attendant, la documentation la plus a jour
est le fichier protocol.sgml, uniquement sur le CVS de maitretarot:
maitretarot/doc/protocol.sgml
(http://savannah.nongnu.org/cgi-bin/viewcvs/maitretarot/maitretarot/doc/).

Et on a tout interet a avoir un protocole commun, je le repete, pour
t'eviter d'avoir a developper en meme temps le serveur et les clients
(graphique et IA), et pour tout le monde pour une meilleure robustesse de
l'ensemble.

>
> Si vous voulez qu'on en parle de "vive voix", je suis présent sur irc
> (sous le nick jq) :
>  - ircnet #perl, #perlfr
>  - langochat.net #perl
>  - rhizomatic.net #parrot
>  - openprojects.net #inline

Et nous, on a #maitretarot sur freenode.net (paske openprojects.net est
devenu freenode.net :)
Viens plutot sur le chan dedie :)
Par contre, comme je l'ai dit avant, attend la fin des vacances de Noel,
qu'on soient tous revenus chez nous.

>
> A bientôt,
> Bonne année si je ne vous ai pas d'ici là.

Tout pareil :)
Yves


> Jérôme
> --
> address@hidden


-- 
- Homepage - http://ymettier.free.fr - http://www.cmg.com -
- GPG key  - http://ymettier.free.fr/gpg.txt              -
- MyAM     - http://www.freesoftware.fsf.org/myam         -
- GTKtalog - http://www.freesoftware.fsf.org/gtktalog     -







reply via email to

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