Projets

Moteur 3D
Work in Progress
Solo
C++ / OpenGL

Guild Manager
Mars 2026
Solo
C# / .NET / Unity

Ravenor's Stories
Décembre 2022
Solo
C# / Unity

Valley
Juin 2022
Gameplay Programmer
C# / Unity

Play the Meca !
Août 2019
Project Manager
C# / Unity
Gameplay Programmer

L'Aube des Lucioles
Mai 2019
Game Designer
C# / Unity
Gameplay Programmer

L'Aube des Lucioles
Projet étudiant
Date : Mai 2019 | Moteur : Unity | Rôles : Game Designer, Gameplay Programmer
Lien : https://hermadeus.itch.io/laube-des-lucioles
L’Aube des Lucioles est un Zelda-like développé lors de ma seconde année à Rubika. Le joueur y incarne un paria cherchant à s’échapper discrètement des cavernes dans lesquelles il a grandi. Il pourra alors tenter d'aider les autres parias qu'il rencontrera, ou choisir de privilégier sa propre survie.
Le jeu se divise en 2 boucles principales :
-
La première étant l’exploration des cavernes afin de trouver un chemin vers la sortie
-
La deuxième consistant à escorter les compagnons du joueur vers la sortie trouvée
De mon côté, je me suis principalement penché sur la question des IAs, que ce soit celle des compagnons ou celle des ennemis.
Pour le comportement des compagnons, je me suis concentré sur faire quelque chose de simple pour faciliter leur gestion pendant les phases d’escorte. Le joueur devait être capable de facilement et rapidement donner des indications à ses compagnons en cas de problèmes. Ils étaient alors gérés comme une seule entité, et pouvaient suivre le joueur de près, rester à couvert pour se cacher, ou fuir vers le camp en cas de gros problèmes selon les indications du joueur.
Au niveau des ennemis, le jeu étant essentiellement un jeu d’infiltration, il a fallut leur donner un comportement prévisible par le joueur. J’ai alors opté pour une state machine permettant aux ennemis de faire une ronde de garde, suivre un bruit qu’ils avaient entendu, ou poursuivre, et attaquer, une cible repérée, que ce soit le joueur, un des compagnons, ou un ennemi d’un type différent, comme un garde attaquant un des monstres des cavernes. Après plusieurs retours de tests montrant que le joueur se sentait peu en danger, j’ai ajouté un autre comportement demandant à l’IA de rejoindre le camp ennemi le plus proche pour les prévenir. L’alerte donnée, un nouvel ennemi apparaissait à l’endroit où le joueur avait été repéré, rendant son infiltration plus compliquée.

Play the Meca !
Projet professionnel
Date : Août 2019 | Moteur : Unity | Rôles : Project Manager, Gameplay Programmer
Play the Meca ! est un serious game sur tablette développé par un groupe de 5 étudiants de seconde année de Rubika. Le but du projet était d’aider les formateurs d’un entrepôt automatisé à former les nouveaux arrivants sur 3 pôles de travail. Le jeu étant couplé avec une formation, le but était de se concentrer sur les mises en situation et l'aspect technique.
En tant que première expérience comme chef de projet, j’y ai appris énormément sur la gestion d’un projet, mais aussi sur le fait de communiquer les avancées du projet, les problèmes rencontrés, et comment trouver des solutions à ces problèmes.
D’ailleurs, il n’a pas fallu attendre longtemps puisque le premier problème est rapidement survenu : le scope. Au départ, il nous avait été demandé de faire 4 pôles de formation sur l’espace de 3 mois. Mais après discussion avec le reste de l’équipe, ce scope nous laissait trop peu de marge de manœuvre en cas de problèmes. Rapidement, j’ai alors discuté avec Décathlon pour trouver une solution, et il a été décidé de retirer le pôle “Conduite de chariot élévateur”, dont la transcription vers un jeu tablette semblait moins intéressante, et de rajouter du temps pour tester et peaufiner les autres pôles.
Voyant que l'on arrivait vers la fin du développement du 3e pôle avec un peu d'avance, mais pas assez pour ajouter le 4e pôle, nous avons eu une discussion avec toute l'équipe pour voir ce que l'on pourrait faire de ce temps gagné. Lors du développement, nous avions créé un éditeur de niveau dans Unity pour nous faciliter la tâche lors des tests et des équilibrages sur chacun des pôles. Nous avons aussi mis en avant que le but du projet étant d’aider les formateurs dans leurs formations, le plus pratique pour eux serait de pouvoir créer de nouveaux niveaux afin de les faire évoluer avec leurs formations. J’ai alors proposé à Décathlon d'utiliser le temps qu’il nous restait pour leur donner la possibilité de créer leur propre niveau, ce qui a rapidement été accepté.
Ces quelques mois m’ont énormément appris, que ce soit sur la gestion d’une équipe en elle-même, sur les communications entre plusieurs équipes, et surtout sur l’importance de se faire comprendre entre différentes équipes qui n’ont pas les mêmes domaines d’expertise.

Moteur 3D
Projet personnel

Ce projet de Moteur 3D utilisant OpenGL m'est venu en cherchant à étendre mes compétences dans le domaine de la programmation de jeux vidéo. Je me suis trouvé un grand intérêt dans la programmation graphique, et ce projet est né quand je me suis dit que j'allais commencer par les bases.
La génèse
N'ayant que des connaissances basiques sur comment les jeux sont rendus, j'ai d'abord commencé à suivre un cours sur comment créer un moteur de rendu basique sans passer par des librairies comme OpenGL ou DirectX.
Cela m'a permis d'approfondir mes connaissances sur pourquoi chaque Mesh est divisé en multiples triangles, et m'a permis de découvrir l'origine des différentes matrices qui sont utilisées par les moteurs 3D et le fonctionnement d'un rasterizer.
Le projet OpenGL
Maintenant que j'avais les bases, je me suis attaqué à un cours complet d'OpenGL.
J'y ai appris les bases du fonctionnement d'OpenGL, ce qui compose un modèle complet (mesh, matériaux, textures, ...), l'utilisation des différents buffers, la création de shaders en GLSL, la création d'un système d'espaces et de coordonnées et les différentes matrices à utiliser, et le modèle de lumière Phong.
C'est avec toutes ces connaissances que j'ai attaqué le développement d'un moteur 3D à ma sauce que vous pouvez retrouver ici.
La suite du projet
Pour la suite, il me reste encore pas mal de leçons à suivre, comme des fonctionnalités plus avancées d'OpenGL ou de meilleures techniques pour la lumière.
Et une fois ce projet terminé, j'ai encore une longue liste d'autres sujets à aborder.

Guild Manager
Projet personnel
Date : Mars 2026 | Framework : C# / ASP .NET Core / Unity
Lien : https://github.com/Linkazer/GuildManager
Guild Manager est un projet mélangeant API REST développée avec ASP.NET Core et une application Unity.
Le but de ce manager est de pouvoir gérer une guilde en ajoutant de nouveaux aventuriers, modifiant les aventuriers existants, ou en supprimant les aventuriers obsolètes.
Architecture du projet
Le projet se divise en 2 projets :
-
API REST pour la partie back-end
-
Application Unity pour la partie front-end
API REST
Architecture :
-
Controllers : Gère les requêtes HTTP. Récupère les données sous forme de DTO et les envois au service sous forme de Command
-
Services : Récupère les Command, les mappe en Domain et applique la logique métier, puis les envoi au Repositories sous forme de Model
-
Repositories : Gère la base de donnée à partir du Model reçu
Flux de données :
DTO (Controller) -> Command (Service) -> Domain (Logique métier) -> Model (Persistence)
Fonctionnalités
API REST
-
Gestion des Personnages (Création, Récupération, Modification, Suppression)
-
Récupération des données persistantes (Equipement, Race, Job)
Application Unity
-
Récupération des données persistantes au lancement
-
Récupération et affichage des Personnages
-
Création de Personnage
-
Modification de Personnage
-
Suppression de Personnage

Valley
Projet étudiant
Date : Juin 2022 | Moteur : Unity | Rôles : Gameplay Programmer
Dans Valley, vous incarnez le manager d'un parc naturel dont la mission est de préserver la vallée et son écosystème tout en la rendant attrayante pour les visiteurs qui arrivent dans la vallée.
Ayant rejoint ce projet pour le challenge qu'il proposait au départ au niveau de ses nombreuses IAs (comme le comportement des visiteurs ou des animaux de la vallée), je me suis découvert un grand intérêt pour la création de systèmes complexes pendant le développement. Aussi, en plus des IA, je me suis concentré sur la création des différents systèmes présents dans le jeu, que ce soit la gestion de la satisfaction des visiteurs ou les interactions entre les visiteurs et la faune de la vallée.
Mais le système sur lequel j’ai le plus apprécié travailler puisqu’il se mélangeait parfaitement avec les différentes IAs du jeu, c’est l’écosystème. Dans Valley, le but étant d’attirer les visiteurs et de leur faire découvrir chaque recoin de la vallée, il faut aussi que le joueur prenne en compte l’impact que ces visiteurs peuvent avoir sur l'environnement de cette dernière. Avoir des attroupements de visiteurs bruyants fera fuir les animaux, et jeter des déchets au fil de leur visite fera faner les arbres, ce qui rendra les visiteurs peu satisfaits de leur visite.
Au final, ce projet aura été l’un des projets sur lequel j’ai le plus aimé travailler, principalement grâce à la complexité des systèmes demandés par les game designers.

Ravenor's Stories
Projet personnel
Date : Décembre 2022 | Moteur : Unity
Ravenor's Stories est un dungeon crawler qui reprend les principes des jeux de rôles plateaux comme HeroQuest ou Dungeon Saga. Vous y contrôlez un groupe de 4 aventuriers partant à la recherche d'un artéfact dans une ancienne ruine elfique. Du moins, c'était le plan avant que vous ne rencontriez la liche qui s'est approprié les lieux.
De base, le projet devait juste me servir à me familiariser avec des IAs de RPG au tour par tour, avec une IA facilement modulable capable de lancer certaines compétences selon plusieurs critères comme les points de vie d’un allié pour un sort de soin, le nombre d’ennemis dans une zone pour un sort de dégât, ou la quantité d’armure de la cible pour savoir si une attaque ignorant l’armure ou détruisant ce qu’il reste d’armure était le plus intéressant, etc...
Ayant aussi créé des personnages contrôlables pour pouvoir tester les IAs, je me suis dis que ça serait une bonne idée d’en faire un jeu complet, ce qui m’a fait passer de simples arènes de combat à un dungeon crawler dans le style des jeux de rôles plateaux qui m’ont toujours plu.



