Contextualisation

Magic Maze est un jeu de plateau crée par Sit Down, multijoueur coopératif. Les joueurs incarnent des aventuriers fauchés contraint de voler des armes dans un supermarché sans se faire repérer. Chaque joueur joue un rôle différent et ne peux déplacer les pions que dans une seule direction, il faut donc se coordonner avec les autres joueurs, mais difficulté supplémentaire, il est interdit de se parler. Il faut donc trouver une autre façon de communiquer et il existe plusieurs scénarios rajoutant des règles et des obstacles pour faire varier le niveau de difficulté.




Dans mon école d’ingénieur, en première année (2021/2022 pour moi), tous les élèves forment des groupes de 4 et entament un projet informatique sur l’année. Le but est de les former au travail en équipe, à Git à la programmation et à la conception logicielle: voir la fiche programme du module PRO 3600 J’ai ainsi former un groupe avec 3 amis et nous avons décidé pour ce projet de réaliser une version numérique du jeux de plateau Magic Maze en multijoueur local.

Description

Ce projet a commencé par une phase de réflexion sur l’adaptation du jeu de plateau en jeux numérique, notamment pour l’interface utilisateur. Comment transposer sur un écran toutes les informations de jeu présente sur le plateau ? Nous avons ainsi établi un cahier des charges, et des schémas pour structurer le projet. Le but étant d’avoir un jeu jouable par quatre personnes, chacune sur son ordinateur, mais dans la même pièce.




Nous avons décidé de coder ce jeu avec libGDX en Java avec l’IDE IntelliJ, sur conseil de notre tuteur. Nous avons ainsi numérisé les cartes du jeu, modélisé des pions et créer des règles de déplacement sur les cartes (cases inaccessibles etc…). Ensuite, le plus gros défi de ce projet était l’aspect multijoueur en local, car en effet, plusieurs joueurs ne peuvent pas déplacer le même pion en même temps. La solution a été d’implémenter une architecture Client-Serveur où le serveur est hébergé par l’un des joueurs, c’est le « host » de la partie.


Résultat final

Au bout de l’année scolaire, nous avons réussi à obtenir une version jouable bien que quelque peu bugée. Il y a un menu d’accueil, un lobby pour attendre que tous les joueurs se connectent, et le jeu principal.





Menu principal

Lobby

Jeu



Ce que j'ai appris

  • Langage Java
  • Utilisation de LibGDX
  • Utilisation de Git (et GitHub Desktop)
  • Utilisation de IntelliJ
  • Composition des musiques (avec MuseScore 3)
  • Travail de groupe

Pour me contacter

Porte folio Chloé Hennequin (2022)

HTML & CSS by MLPdesign