Index de l'article

 

L'objectif de de tutoriel est de reproduire les étapes essentielles dans le développement d'un jeu de plateau grâce à boardifier-console, pour ensuite les appliquer à un projet de plus grande envergure.

boardifier-console est un framework de développement Java. Il permet de faciliter le développement des jeux de plateau en mode texte. Il peut être considéré comme un spin-off du framework boardifier, qui lui est basé sur la bibliothèque graphique JavaFx pour créer des jeux de plateau en mode graphique. La caractéristique principale de ces 2 framework est de forcer l'utilisation du paradigme MVC strict pour développer un jeu, tout en assurant la possibilité de mettre en place des tests unitaires.

Ces contraintes ont l'inconvénient de multiplier le nombre de classes à écrire. Cependant, le code obtenu est plus facile à déboguer, tester, faire évoluer. De plus, cela permet de suivre un développement incrémental, en ajoutant petit à petit des fonctionnalités, voire dans certains cas, de développer plusieurs de ces fonctionnalités en parallèle sans que leur intégration soit complexe. Enfin, boardifier-console contient déjà la plupart des classes nécessaires pour faire tourner la "machinerie" interne de tout jeu basé sur une visualisation en mode texte, ce qui accélère notablement le développement.

 

Pour tout jeu, dont ce tutoriel, l'organisation du développement va suivre les étapes :

  • analyse des besoins par rapport aux règles du jeu et à la façon d'y jouer, ce qui permet d'obtenir :
    • une scénarisation et maquettage sommaire des interfaces du jeu,
    • une liste des fonctionnalités à implémenter.
  • mise en place logicielle (= environnement de dev.),
  • conception et implémentation des classes associées à la partie modèle,
  • conception et implémentation d'un algorithme de décision pour un ordinateur joueur,
  • maquettage précis des interface du jeu,
  • conception et implémentation des classes associées à la partie vue et contrôle.
  • implémentation de la classe principale, contenant main().

 

Pour ce tutoriel, tout le code à créer/ajouter est fourni. En revanche, les explications concernent uniquement pourquoi et comment fait-on telle chose avec boardifier-console. Les aspects plus algorithmiques liés au respect des règles du jeu ne seront pas expliqués (par ex, le code qui calcul qui gagne la partie).