<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>Billets dans la catégorie « Capitalist Tetris » — Projets inachevés</title><link href="http://blog.iuwt.fr/"/><id>http://blog.iuwt.fr/</id><updated>2010-02-27T19:23:10Z</updated>
<entry><title>Capitalist Tetris : W6</title><link rel="alternate" href="http://blog.iuwt.fr/articles/w6"/><id>tag:iuwt.fr,2009:http://blog.iuwt.fr/articles/w6</id><updated>2009-04-14T00:00:00Z</updated><author><name>haveo</name></author><category term="W6"/><summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"/></summary><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Côté client, un gros accent a été mis sur la refonte de
l’interface. Cela s’est d’abord manifesté par une restructuration du
code du module Display puis par le changement de l’interface
proprement dite. Le client gère désormais un nombre quelconque de
fields. De plus, il affiche la liste des pièces et leur coût.</p><p>Pour aboutir à ce résultat, il a d’abord fallu travailler sur le
module Prices qui a bénéficié d’un débuggage (à croire qu’il n’avait
jamais été testé auparavant).</p><p>
Notons l’apparition un module Config chargé de la récupération des
fichiers de configuration et de données aux bon endroits
(
  <a class="extern" href="http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html">xdg</a>
-compliant).
</p><p>Du côté serveur maintenant, il y a eu pas mal de changements au niveau
du protocole, maintenant le client envoie les actions qu’il fait et
non plus où la pièce est tombée (on avait mis en place ce système pour
un gain de temps principalement). Le serveur ne fait pas tous les
tests qu’il faudrait et si vous essayez de tricher, vous risquez bien
de faire planter le serveur :-° .</p><p>On a également préparé la venue prochaine d’un chat puisque les
commandes de chat sont implémentées server-side.</p><p>Enfin, toutes parties du code confondues, il y a eu pas mal de bugfix,
et une gestion des erreurs un peu améliorée (mais pas trop quand
même).</p><p>
Bref, Capitalist Tetris est quasiment opérationnel, il ne reste plus
que quelques bugfixes et corrections de style à écrire et on pourra
dominer le monde. Cependant, on commence à avoir besoin de testeurs
pour le jeu. Vous êtes encouragés à télécharger la W6
  <a class="extern" href="http://iuwt.fr/tetris/">ici</a>
. Si vous rencontrez le moindre problème
n’hésitez pas à vous signaler dans les commentaires. Nous nous ferons
un plaisir de vous aider.
</p></div></content></entry>
<entry><title>Capitalist Tetris : W4</title><link rel="alternate" href="http://blog.iuwt.fr/articles/W4"/><id>tag:iuwt.fr,2009:http://blog.iuwt.fr/articles/W4</id><updated>2009-03-29T00:00:00Z</updated><author><name>asmanur</name></author><category term="W4"/><summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"/></summary><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>
Comme vous le savez, pour 
  <em>Capitalist Tetris</em>
, haveo et moi suivons un
mode de développement à la semaine. Grosso modo pendant la semaine on
réfléchit à ce qu’on va implémenter et comment on va le faire et le
week-end on code.
</p><p>Ça mérite donc un petit changelog.</p><h2>Coté serveur</h2><p>
À la base je devais ajouter au protocole la possibilité de choisir une
pièce pour un adversaire ainsi qu’envoyer aux clients leur score
lorsqu’il y a modification (lignes ou choix de pièces). Mais bon,
comme le serveur c’est un peu l’endroit où j’expérimente des trucs
louches et que le code commençait à être un peu lourd à écrire, j’ai
décidé d’implémenter une state monad dans le serveur (on va peut-être
s’en servir dans le client du coup parce que ça serait ptait encore
plus pratique :-°), et donc on dépend maintenant de
  <a class="extern" href="http://www.cas.mcmaster.ca/~carette/pa_monad/">pa_monad</a>
 (mais c’est dans le
repo).
</p><p>Résultat : le code est un peu plus long mais largement plus
maintenable et plus agréable à écrire.</p><h2>Coté client</h2><p>(c’est haveo qui parle là)
Le client tel qu’il était durant la W3 était difficilement
utilisable. Il fallait entrer ses commandes via stdin, les timers
n’étaient pas gérés et une grande partie du protocole n’était pas
gérée. La W4, en ce qui concerne le client, visait donc à résoudre ces
problèmes là.</p><p>Coté protocole, le client met maintenant à jour le score des joueurs
sur requête du serveur. Il est aussi capable de modifier les fields
des autres joueurs lorsque le serveur lui signale qu’une pièce est
tombée. Il peut aussi changer les pièces de ses adversaires.</p><p>Au niveau des commandes, l’interface clavier est opérationelle. Vous
pouvez enfin bouger votre pièce, la faire tomber, comme dans tout
Tetris.</p><p>En plus, vous avez de la chance, le timer qui fait descendre votre
pièce a aussi été mis en service. L’interface stdin est maintenant
obsolète mais devrait être conservée pour pouvoir faire du debug.</p><p>Enfin, j’ai fait quelques retouches graphiques, affichage de votre
field et de celui de votre adversaire ou, un peu plus anecdotique,
changement du background des fields pour le noir (après des tests très
poussés, j’ai décidé que ça faisait moins mal aux yeux).</p><p>
Pour les curieux, voici 
  <a class="extern" href="http://iuwt.fr/tetris/W4_Changelog.txt">le changelog darcs</a>
.
</p><h2>Vers le futur et l’au-delà</h2><p>Bon comme vous le voyez, plus le temps passe, plus le jeu devient
jouable. Bon là c’est pas encore jouable mais bon on y travaille.</p><p>Au programme de W5 :</p><ul>
  <li>des bugfixes, encore et toujours (peut-être même une buglist %) ;</li>
  <li>une amélioration du protocole, là c’est vraiment évident pour un
client de tricher, y’a quasiment aucun contrôle du coté du serveur
(et qu’on puisse savoir la prochaine pièce des gens pour comploter
toujours plus) ;</li>
  <li>une amélioration de l’interface du client ? (genre du texte par
exemple :-’)</li>
  <li>des vrais bindings clavier (ouais nan parce que hjkl ça pue,
vraiment).</li>
</ul></div></content></entry>
<entry><title>Jouez au capitaliste </title><link rel="alternate" href="http://blog.iuwt.fr/articles/soyez-capitalistes"/><id>tag:iuwt.fr,2009:http://blog.iuwt.fr/articles/soyez-capitalistes</id><updated>2009-03-27T00:00:00Z</updated><author><name>haveo</name></author><category term="projets inachev&#xE9;s"/><summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Depuis le temps qu’on code des trucs et qu’on les finit pas, on
commence à avoir quelques trucs à raconter. On a d’abord tenté de
lancer un nouveau concept super cool à mi-chemin entre un wiki et un
blog. Et puis ça a échoué (qui a dit "comme toujours" ?) du coup on a
ce blog maintenant.</p><p>
Ça fait quelques semaines qu’on développe un nouveau projet :
  <em>Capitalist Tetris</em>
.
</p></div></summary><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Depuis le temps qu’on code des trucs et qu’on les finit pas, on
commence à avoir quelques trucs à raconter. On a d’abord tenté de
lancer un nouveau concept super cool à mi-chemin entre un wiki et un
blog. Et puis ça a échoué (qui a dit "comme toujours" ?) du coup on a
ce blog maintenant.</p><p>
Ça fait quelques semaines qu’on développe un nouveau projet :
  <em>Capitalist Tetris</em>
.
</p><p>Depuis le temps qu’on code des trucs et qu’on les finit pas, on
commence à avoir quelques trucs à raconter. On a d’abord tenté de
lancer un nouveau concept super cool à mi-chemin entre un wiki et un
blog. Et puis ça a échoué (qui a dit "comme toujours" ?) du coup on a
ce blog maintenant.</p><p>
Ça fait quelques semaines qu’on développe un nouveau projet :
  <em>Capitalist Tetris</em>
.
</p><p>
Ça fait quelques semaines qu’on développe un nouveau projet :
  <em>Capitalist Tetris</em>
. C’est une variante multijoueur de Tetris. L’idée
c’est de prendre 
  <a class="extern" href="http://tetrinet.fr">tetriNET</a>
 (un Tetris
multijoueur) et 
  <a class="extern" href="http://fph.altervista.org/prog/bastet.html">bastet</a>
(un Tetris qui choisit les pièces qui vous arrangent le moins), de
secouer tout ça et de regarder ce que ça donne.
</p></div></content></entry></feed>
