Build

Le build du jeu est réalisé avec Maven 2 .

site

integration-test

Quelques tests d'intégration sont effectués en plus des unittests (phase test ). Ces tests ont été incorporés au build comme proposé sur le wikibis de Rod Coffin .

Le BigBrotherTest, exécuté en phase de test d'intégration, utilise de nombreuses classes du jeu (directement et surtout indirectement), il peut être lancé comme unittest mais cela fausse le taux de couverture du code par les unittests. C'est pour cette raison qu'il a été exclu de la liste des unittests.

La phase test-integration doit être exécutée avant la phase site afin que les résultats des tests d'intégration soit incorporés au rapport Surefire (par exemple: mvn test-integration site ). Les résultats ne sont pour autant pas intégrés au rapport de Corbatura (Code Coverage by Unittests).

Infrastructure du programme

L'infrastructure désigne l'ensemble des fonctionalités qui ne sont pas directement liées au jeu, par exemple:

  • Monitoring
  • Logging
  • Internationalization
  • etc.

Ces fonctionalités ne font pas partie du moteur du jeu. Certaines (Internationalization) apportent une valeur ajoutée certaine au programme, d'autres facilitent la recherche d'erreur (Logging) ou encore permettent de cibler les amélioration de performance (Monitoring, Logging).

Monitoring

Les premières versions du jeu peuvent être monitorées comme toute application java avec l'outil jconsole. Mais elles ne proposent pas d'informations supplémentaires (JMX/MBean ne sont pas intégrés explicitement dans le programme).

Logging

L'API Logging de JAVA est le framework utilisé pour loguer les différents messages liés au fonctionnement du programme (pas ceux liés au jeu en lui-même).

L'ensemble des properties controlant le log est organisé grâce à une convention de nommage. Par exemple:

  • debug.client.gui : informations données par la partie graphique du programme.
  • debug.client.cmd : informations données par la partie commande-en-ligne du programme.
  • debug.moteur.de : informations données par la partie gérant le lancer des dés (indépendante du jeu en lui-même). Permet par exemple de logguer les lancer de dés successifs, afin de vérifier que l'aléatoire fonctionne correctement.

Voici un extrait d'un fichier de log pour la partie de lancé de dés (Property debug.moteur.de ), lorsque le niveau de debuggage est au moins INFO

--- 24.09.2007 19:17:37 clg.des.LanceDes lance INFO: Lancé ID 21'402'567 - Nouveau lancer: [CINQ, UN, UN, SIX, TROIS, QUATRE, QUATRE] 24.09.2007 19:17:37 clg.des.LanceDes relance INFO: Lancé ID 21'402'567 - Relancer: [CINQ, UN, UN, SIX, TROIS, QUATRE, QUATRE] ---

Internationalization

Les premières versions du jeu proposent une interface uniquement en francais. Toutefois le développement s'effectue sans oublier le but de proposer d'autres langues. Le JAVA tutorial est à ce propos très instructif.

Charte graphique

Logo

Le logo du jeu a été créé à partir de quelques essais avec différentes polices de caractères puis un travail manuel d'insertion des petits dés. La police retenue est l'Arial Black avec une WordArt de dégradé de gris.

Logo black&white

Un dégradé de gris a dans un premier temps été choisi, une ou plusieurs autres couleurs seront choisies pour convenir à la charte graphique et s'insérer dans le monde des couleurs du jeu de yam's.

Le format jpg, format compact adapté pour l'internet, a été préféré au gif, l'autre format traditionnellement utilisé sur l'internet, la perte de qualité étant clairement visible.