Présentation du projet

Pendant deux semaines d'immersion à l'ENSISA (École Nationale Supérieure d'Ingénieurs Sud-Alsace), notre équipe a conçu et réalisé un jeu en C, accompagné d'une intelligence artificielle capable de jouer en tant qu'adversaire.

L'objectif pédagogique était multiple : appliquer des notions de programmation bas‑niveau, concevoir une interface utilisateur, implémenter la communication réseau et développer une IA simple, tout en travaillant en équipe et en respectant des bonnes pratiques de développement tout en découvrant l'école d'ingénieur.


Fonctionnalités principales

  • Modes de jeu : 1v1 local, 1v1 réseau, et mode IA (affrontement contre l'IA lorsque le jeu est en local).
  • Communication client/serveur pour le jeu en réseau.
  • Interface graphique réalisée avec GTK4.
  • Intelligence artificielle pour gérer un adversaire autonome.

Tâches à réaliser

  • Conception et implémentation en C.
  • Mise en place d'un protocole réseau commun entre les groupes.
  • Écriture d'un Makefile et configuration d'outils de build.
  • Tests et couverture : configuration lcov pour l'analyse de la couverture.
  • Documentation : rédaction avec Doxygen (Doxyfile).
  • Définition et application d'un coding style.

Rôle et difficultés rencontrées

J'ai participé à la programmation C, à la définition du protocole réseau, la mise en place des tests et à la partie réseau côté client, tout en donnant de l'aide sur le projet à ceux qui en avait besoin, ou en corrigeant les différents merge conflits. Le projet était exigeant : équipe débutante en programmation, contraintes temporelles serrées et nécessité d'aligner les choix techniques entre plusieurs groupes.

Le projet s'est conclu par une compétition inter‑groupes mettant en valeur les solutions développées.


Liens des programmes GitHub et des livrables

🔗 Projet GitHub — Krojanty4