Johan’s Blank Page: Serendipity Story

Présentation

Johan’s Blank Page: Serendipity Story est un jeu développé en équipe dans le cadre du Master AMINJ GAME. Le joueur incarne Serendipity, la muse d’un compositeur confronté au syndrome de la page blanche. Ce shooter à défilement horizontal combine esquive, affrontements et tirs synchronisés avec la musique classique au sein d’un niveau de démonstration complet.

  • Type

    Shooter rythmique / Side-scroller

  • Rôle

    Développeur Unity

  • Durée

    2 mois

  • Client

    Éditeur-investisseur fictif représenté par l’enseignant encadrant

  • Technologies

    Unity 2022.3.9f1, C#, Git, ClickUp, Adobe Illustrator

  • Equipe

    8 personnes

  • Contexte

    Projet de Master AMINJ GAME, 2025

  • Public cible

    Amateurs de jeux de rythme, de shooters et de musique, principalement âgés de moins de 35 ans

Objectif du projet

Le projet visait à réaliser un démonstrateur associant les mécaniques d’un shooter, d’un side-scroller et d’un jeu de rythme. L’objectif était de construire une expérience cohérente autour de la musique classique, dans laquelle la synchronisation des tirs avec le morceau influence directement l’efficacité du joueur au combat.

Mon rôle

  • Développement du système de déplacement de Serendipity, avec gestion des contrôles et des limites de la zone de jeu.
  • Programmation du système de tir et de son interaction avec les ennemis et les mécaniques rythmiques.
  • Conception du Game Manager, centralisant le déroulement de la partie et les principaux états du jeu.
  • Développement du Sound Manager, assurant la gestion et la synchronisation des musiques et effets sonores.
  • Intégration des différents composants dans une version jouable complète : niveau, gameplay, menus, options, pause et crédits.
  • Participation au débogage, à la correction du code et à l’accompagnement technique des autres développeurs.

Gameplay / Fonctionnalités

  • Défilement horizontal du niveau avec déplacement libre de Serendipity dans les limites de la caméra.
  • Tirs synchronisés avec la musique, accompagnés d’un système de combo augmentant les dégâts.
  • Trois types d’ennemis, Gribouly, Angely et Dragony, intégrés au parcours avec des caractéristiques distinctes.
  • Boss de fin de niveau proposant une confrontation spécifique après la phase de progression.
  • Système de vies et de checkpoints permettant de reprendre la partie à différents endroits du niveau.
  • Niveau de démonstration complet construit autour de Badinerie de Jean-Sébastien Bach, avec obstacles, animations et éléments sonores.

Technologies utilisées

  • Unity 2022.3.9f1 — développement, assemblage et intégration du jeu.
  • C# — programmation des systèmes et de la logique applicative.
  • Git — versionnement et mutualisation du travail de l’équipe.
  • ClickUp — suivi des tâches et organisation du projet.
  • Adobe Illustrator — création des illustrations et des sprites du jeu.

Défi principal et solution

La principale difficulté concernait la répartition inégale des tâches, associée à une conception initiale trop rapide et à une maîtrise variable de Git. Avec le lead développeur, j’ai repris plusieurs intégrations, corrigé du code et accompagné les membres rencontrant des difficultés. Lors d’un conflit de fusion important, une sauvegarde externe nous a permis de récupérer le travail et de sécuriser le projet.

Résultat & apprentissages

Le projet a abouti à un niveau de démonstration jouable réunissant la caméra à défilement horizontal, le tir en rythme, trois ennemis et un boss final. Des camarades de la promotion ont pu tester rapidement cette version, sans qu’une campagne de tests approfondie soit organisée. Cette réalisation m’a permis de renforcer mes compétences en programmation rythmique, intégration sous Unity, débogage et travail avec Git, tout en découvrant le suivi Agile d’un projet de huit personnes et la présentation régulière de son avancement à un interlocuteur jouant le rôle d’éditeur-investisseur.

Retour