Mercenaire !

À la guerre !  Encore !

Visiblement, les jeux de guerre semblent être un bon exemple d’apprentissage. Pour ce projet de fin de second semestre, le jeu (programmé en C) consiste à faire affronter deux équipes de mercenaires afin qu’ils attrapent les villageois de la carte et les ramène à Thèbes. L’équipe avec le plus de villageois ramenés à Thèbes… (suspens)… gagne la partie !

Programmation chaotique ? Échec total ? À peine !

En effet, qui dit travail de groupe, dit… Gros problèmes de synchronisation. Chaque binôme possède un rôle précis :  Serveur de jeu, Gestionnaire de carte de jeu, Mercenaire, Sphynx, etc. De quoi nous offrir un ensemble continu assez flou.

Les différents rôles (cliquez pour découvrir la description) :

Le but du serveur de jeu est d’assurer la connexion entre les 3 mercenaires de chaque équipe. Il doit également mettre à jour les scores, prendre en considération la saisie d’un villageois sur la carte, le déplacement des joueurs, les interactions entre mercenaires, mais aussi les questions que le Sphynx peut poser au Mercenaire qui ose entrer sur son territoire ! Les déplacements sont également important car le mercenaires ne doit pas pouvoir traverser les murs et doit mourir dès lors qu’il tombe dans l’eau !
Le mercenaire correspond au joueur dans la partie (rôle partagé en binôme avec Alice Burette). Pour ce faire on doit permettre au joueur de se déplacer (Z,Q,S,D), d’attraper un villageois (A) de voler le villageois d’un autre mercenaire (V) et de poser un mercenaire une fois paisiblement rentré à Thèbes (P).
Le Sphynx pose les questions au mercenaire qui s’aventures sur ça case. Si le emrcenaire a la bonne réponse, il gagne 5 points pour son équipe. Sinon il meurt.
Le serveur de map est là pour générer des maps de jeu (on les attends encore cela dit). Il permet de générer de nouvelles parties et donc d’augmenter les mécaniques de jeu !

Le monitoring permet d’afficher les scores et l’état de chaque mercenaire à l’interface graphique.
Elle prend en considération l’état du jeu pour afficher la partie.

Mais alors, quel est le problème ?

Lorsque l’on souhaite faire discuter plusieurs personnes sur une même machine (serveur de jeu), il faut s’assurer que chacune des connexions est bien effective. Dans notre cas, le mercenaire fonctionnait parfaitement avec le serveur et les déplacements se faisaient instantanément. Mais dans le cas d’autres groupes, la mise en place était chaotique et le fonctionnement général vraiment mauvais. 

Ce problème de communication et de gestion du temps permet de se rendre compte que dans un contexte de travail d’équipe, il est important de poser dès le départ l’ensemble des normes de communication entre les différentes entités qui travaillent sur le projet.