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

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

Re: [Maitretarot-devel-fr] Ajout d'un jeu dans maitretarot


From: Philippe Brochard
Subject: Re: [Maitretarot-devel-fr] Ajout d'un jeu dans maitretarot
Date: 05 Feb 2004 21:44:19 +0100
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3

"Yves Mettier" <address@hidden> writes:

> Philippe nous disait, dans le thread Documentation:
> 
> > Comment ca ce passe si on veux documente un nouveau jeu ?
> > Ce serai bien que ce soit facile d'acces dans un logiciel a
> > part.
> 
> La premiere question est: comment cela se passe si on ajoute un nouveau jeu, 
> belote,
> tarot a 5...
> 
> Si on se lance dans une telle entreprise, c'est la qu'on va voir si le 
> protocole a ete
> bien concu, et si les implementations sont solides. Si elles le sont, la 
> question est
> reglee: il n'y a qu'a coder. Sinon...
> 
> Sinon, nous allons avoir a faire, si nous voulons faire propre, quelque chose 
> qu'on a
> deja fait une fois dans le projet maitretarot, chose qu'on fait difficilement 
> en
> general: repartir a zero. Pour rappel, maitretarot_server est le descendant de
> tarotserver (un bout de code qui n'est jamais alle loin a cause de mauvaises 
> idees au
> depart). Guillaume (qui ne repond plus mais est encore abonne a cette liste) 
> avait
> repris tarotserver et a corrige certaines erreurs de conception de ma part. 
> Et j'ai a
> mon tour a nouveau repris le developpement de maitretarot_server en 
> continuant sur ces
> erreurs (en particulier, le protocole dans un format binaire). Cela nous a 
> fourni deux
> occasions de repartir a zero. Et on ne l'a pas fait: c'est pas facile.
> 
> Et la ou j'ai decide de le faire, c'est pour adopter un format texte du 
> protocole: c'est
> la naissance de cardgame_server. Et du coup, correction d'autres erreurs 
> aussi, comme
> l'abandon de threads et de l'idee de mettre des forks a la place.
> 
> Mais ce redepart a zero n'a ete possible que grace
> - au fait qu'on avait deja une implementation qui fonctionnait, avec ses 
> interets et ses
> inconvenients
> - au fait qu'on avait mesure les limites de cette implementation (faible 
> evolutivite au
> niveau des fonctionnalites, quasi impossibilite de faire un jeu de tarot a 3 
> ou 5)
> - a notre experience a coder ce jeu.
> - a ma quantite de temps libre a ce moment la.
> 
> Et on en revient a la question du depart: qu'est-ce qui se passe si on veut 
> rajouter un
> nouveau jeu et que le protocole montre ses limites ?
> 
> Alors il faudra s'interroger si on est capables d'inventer un nouveau 
> protocole encore
> plus souple qui permette de rajouter facilement un nouveau jeu. Et sinon, 
> est-ce qu'il
> ne sera pas plus simple, et tout aussi efficace, de creer un nouveau moteur, 
> independant
> de cardgame_server (mais s'en inspirant, ne nous faisons pas d'illusions) ?
> 
> Et dans ce cas, se pose une nouvelle question: et si on refait un nouveau 
> serveur pour
> un autre jeu, n'y aurait-il pas moyen d'avoir du code commun ou des choses en 
> commun
> afin d'eviter de bosser inutilement ? Ici, j'ai un element de reponse. 
> Evidemment, on
> fera en sorte que cela soit le cas. Mais il faut s'attendre a ce que ce ne 
> soit pas tres
> bien fait, vu qu'on n'aura pas pense a cela au debut. Alors comme pour
> maitretarot_server, une fois qu'on aura des choses qui fonctionneront, on 
> repartira une
> nouvelle fois a zero.
> 
> Il est toujours preferable que ce soit nous qui repartions a zero, plutot que 
> d'autres.
> D'autres n'ont pas notre experience (cf le nombre de jeux de belote ou de 
> tarot sur
> linux) et reproduiront les memes erreurs. Et nous, il vaut mieux repartir a 
> zero, comme
> d'autres le feraient, plutot que de nous embeter avec du code qui deviendrait 
> une usine
> a gaz. Pour info, maitretarot_server est une usine a gaz (cf ce qu'on fait 
> avec les
> channel_sets, qui est joli, mais on peut faire plus simple: cardgame_server)
> 
> Voila, beaucoup de questions, peu de reponses, et tout dependra de 
> l'avancement du
> projet et des volontes de chacun. C'est une reflexion qui arrive tot dans 
> l'avancement
> du projet: on n'en est pas encore la. Mais ca n'empeche pas d'y reflechir 
> deja !
> 
Oula, que de questions :)

Pour le protocole : j'ai reflechit a 2/3 autres jeu et je pense qu'on
devrait s'en sortir proprement.

Mais, bon comme tu le dis : il faut d'abord implementer, faire des erreurs
et puis repartir a zero si on est dans une impasse (cf l'ancien protocole).


Donc : on verra.

La seul chose que je peux dire pour l'instant c'est que quand je compare
le code de libmt_client avec l'ancien protocole et le nouveau et bien
y a pas photo : le nouveau protocole est largement plus propre !


Philippe

-- 
Philippe Brochard    <address@hidden>
                      http://hocwp.free.fr

-=-= http://www.gnu.org/home.fr.html =-=-




reply via email to

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