Ferrailleurs de l’espace
Shoot’em up 3D développé sous Unity en 2024
Langage :
C#
Rôles :
Chef de projet
Chargé de toute la programmation ainsi que de l’intégration
Participation au game design et level design
Durée :
Projet sur 6 semaines
Equipe :
Equipe de 4 personnes
Concept :
Shoot ‘Em Up en vue à la troisième personne avec
défilement vertical.
Dans ce jeu, les joueurs doivent naviguer à travers trois
environnements différents, en survivant à des vagues
de vaisseaux ennemis.
Ils devront utiliser les ressources récupérées sur les
ennemis pour gagner en puissance, atteindre et vaincre
le boss final, et gravir les échelons pour devenir le
meilleur récupérateur.
Personnage Jouable, le vaisseau :
Déplacement :
J’ai développé un système complet de déplacement du vaisseau en 3D
avec une approche orientée game feel : fluide, limité, lisible et agréable à
contrôler.
Système de tir :
Le tir est au cœur du gameplay de Bolt & Nut.
J’ai conçu un système de tir évolutif en C# intégrant plusieurs modes
d’attaque, un système de progression ainsi que des effets visuels.
Ces modes de tir sont utilisé dans le Game Manager en fonction de l’experience accumulé par le joueur.
Le vaisseau dispose de 6 modes de tir progressifs, débloqués
automatiquement avec l’XP.
Chaque mode ajoute de la puissance ou de la dispersion, avec un pattern
codé à la main.
Ultimate :
L’ultimate est une attaque de zone surpuissante, disponible à partir du
niveau 2.
Cette attaque est unique par niveau et agit comme un “panic button”
lorsque le joueur se sent dépassé par les vagues d’ennemis
J’ai créé un VFX marquant qui apparaît au centre du joueur accompagné
d’une secousse caméra, le tout rendant son utilisation satisfaisante.
Dégâts continus en zone sur :
Bouclier :
J’ai mis en place un bouclier unique qui protège le joueur contre un coup
et se recharge automatiquement après un délai.
Apparition et destruction du bouclier sont accompagnées de Effets visuels (VFX), Sons dédiés, Fragments 3D en cas de break.
Les ennemis communs :
Classe de base - Héritage :
J’ai développé un système modulaire et extensible d’ennemis basé sur une classe mère Enemy.
Ce système permet une intégration rapide de nouveaux types, très facilement et rapidement tout en garantissant cohérence, feedback et récompense.
Méthodes virtual / abstract permettent à chaque type d’ennemi de surcharger ses déplacements et comportements spécifiques (Move(), Fire(), Die()).
Fonctions générales intégrées :
Chasseur :
Comportement :
Tourelle Mobile :
Comportement :
Nuées :
Comportement :
Brise coque :
Comportement :
Garde-Bouclier :
Comportement :
Croiseur-Tempête :
Comportement :
Les Boss :
Structure Modulaire :
Les bosses agissentt comme climax du niveau, conçu pour tester les compétences du joueur acquises face aux ennemis rencontrés précédemment
(chasseurs, tourelles mobiles, nuées, etc.).
Son design repose sur une architecture modulaire : un Module Cœur central, entouré de plusieurs Modules d’Armes qui conditionnent son comportement
et sa résistance.
Module Coeur :
Fonctionnement :
Module Armes :
Chaque module hérite d’un système commun :
Les types de modules utilisés ici simulent les ennemis du niveau :
Prototype :
Je trouve ça cool de montrer la première vidéo prototype boss que j'ai sorti à mon équipe !
Les 3 Boss :
Vaisseau amiral Saul’ty
Raymond Th’a
Le Briseur de monde
Design orienté gameplay :
Wave Manager :
J’ai conçu un gestionnaire de vagues entièrement modulaire, pensé pour orchestrer la progression rythmée des
combats tout au long du niveau, il gère l’entièreté des enchainements d’un niveau.
Système de progression :
J’ai conçu un système de progression simple et visuel pensé pour accompagner la montée en puissance du joueur tout en maintenant un rythme de jeu clair, progressif et engageant.
Accumulation d'expérience :
Une structure optimisée :
Map Infinie (Scrolling Loop) :
J’ai conçu un système de map dynamique qui donne l’illusion d’un scrolling infini vers le joueur, tout en optimisant les performances.
Cela permet également d’avoir un jeu sans limite de temps.
Pooling FX :
J’ai mis en place un système de pooling générique pour tous les VFX du jeu via le VfxManager.
Cela permet d’éviter l’instanciation/destruction répétée des effets visuels pour garantir des performances constantes, même en cas de pics d’action (boss, spams de tirs, explosions).
Admin Panel (Debug UI) :
Un point important du développement a été de maintenir un panneau administrateur fonctionnel afin de faciliter les itérations et tests en temps réel, sans avoir à relancer la scène ou modifier les scripts manuellement.
Mot de la fin :
Ce projet a été un véritable tremplin de progression, autant en tant que développeur gameplay qu’en tant que chef de projet.
J’y ai conçu l’ensemble des systèmes clés : gestionnaire de vagues, architecture modulaire des boss, système d’XP et de level-up, carte infinie, object pooling, debug panel… avec une priorité constante sur la clarté, la modularité et les feedbacks joueurs (FX, UI, game feel).
Tout a été pensé pour construire une base de gameplay solide, fluide et cohérente.
Mais ce projet m’a surtout permis de travailler en équipe : diriger une petite team, répartir les tâches, gérer les plannings, tout en valorisant les compétences de chacun.
C’est là qu’on comprend à quel point le jeu vidéo est un travail d’équipe passionnant — et qu’un bon projet, c’est aussi savoir tirer le meilleur de
chaque talent autour de soi.