Jeu de Elylla

Le jeu de la marque Elylla est un jeu sur le thème de tri de briques LEGO où l'objectif est de récupérer les bonnes pièces tout en évitant les mauvaises. Le jeu a été réalisé dans le cadre de mon alternance dans l'entreprise ELYXOFT.

  • Objectif : Réaliser un mini jeu web sur le thème du tri de pièces LEGO, pour pallier l'attente des utilisateurs en arrivant sur le site de présentation de la marque.
  • Durée : 24 février - 13 mars (projet secondaire, en alternance)
  • Lieu : ELYXOFT, Gillonnay (38)
  • Livrables : Code du jeu
  • Participants : Lynn Hayot (alternante en informatique, responsable développement), Loïc Marion (stagiaire en communication, développeur)
  • Lien vers le site : Elylla
JavascriptHTMLCSSGame DesignGit
Photo projet
Image 1 du projet
Image 2 du projet
Image 3 du projet
Image 4 du projet

Gestion

L'objectif du projet était de créer un jeu simple et saisissant, sur le thème du tri de LEGO, en assez peu de temps. Le jeu est déployé sur le site web du nouveau produit de l'entreprise, qui est en cours de développement : une machine de tri de briques LEGO automatique. Nous étions deux sur le projet, moi et Loïc qui n'est pas dans une filière informatique. Nous avons donc dû choisir un jeu assez simple à comprendre, qui serait adapté au format web. Ainsi, nous avons opté pour l'idée d'un Catch Game. Pour la répartition des tâches, je me suis principalement chargée de la conception et de l'implémentation des méthodes plus complexes du jeu. Loïc quant à lui, s'est occupé de la création des visuels, la documentation du projet et a également participé au code de la logique métier et du style.

Objectif du jeu

Le but du jeu est d'attraper uniquement les bonnes briques qui apparaissent en haut à droite de la page. Plus on obtient de bonnes briques, plus la vitesse et le combo augmentent. Oublier de prendre une bonne brique termine immédiatement la partie, par contre prendre une mauvaise brique ou un malus fait perdre une vie et réinitialise le combo. Les malus font également perdre des points. L'objectif est de faire le meilleur score !

Image du projet

Conception

Après avoir fait valider le choix du jeu par notre employeur, nous avons commencé à réfléchir à l'implémentation. Pour le choix des technologies, j'ai décidé de faire du Javascript vanilla, sans framework, car mon collègue n'était pas habitué à la programmation et un framework aurait demander un apprentissage en plus, et le jeu est assez léger. Concernant l'architecture, j'ai opté pour un modèle simple en MVC (Modèle, Vue, Contrôleur) qui permettrait de bien distinguer la logique métier et les interactions visuelles. J'ai réalisé un diagramme de classe et ai détaillé quelques fonctions clé pour nous guider dans l'implémentation, j'ai par ailleurs demandé à Loïc de réaliser la maquette de la vue du jeu.

Développement

J'ai rapidement réalisé les classes principales du modèle du jeu pour qu'on puisse ensuite se pencher sur la partie interactive entre le contrôleur et la vue. Lorsqu'on a enfin pu relier les trois composants, on a pu commencer à tester et corriger les erreurs de code. Ensuite, j'ai implémenté la liaison entre le site et le lancement d'une partie, Loïc a ensuite mis en place l'écran de fin de jeu, et j'ai complété avec un écran de pause. A la fin, nous avons testé l'ensemble du jeu et ajusté les timings et les petits bugs, ainsi que modifier les différents éléments de style.

Image du projet
Image du projet

Retour d'expérience

Étant en alternance, donc pas toujours présente, et sur un autre projet plus prioritaire en même temps, le jeu a mis plus de temps que prévu à se terminer. Il est néanmoins désormais fonctionnel et prêt à être déployé. Cette expérience a été vraiment bénéfique pour moi, car elle m'a permis de découvrir le vrai métier d'un développeur informatique : concevoir et implémenter. Je me suis rendu compte qu'on oublie souvent la première partie, cependant celle-ci est vraiment importante pour construire une application qui soit fonctionnelle et maintenable. Avec ce jeu, j'ai vraiment été responsable de la conception et développement, et j'ai pu comprendre la difficulté de concevoir une application de A à Z, sans aucun guide ou avis d'un autre développeur.