Kakoha
À proposProjets
CVContact
EN
FR
Kakoha
EN
FR

Dhiaeddine Mokaddem

Programmeur gameplay spécialisé dans les systèmes, l'IA, le multijoueur, la réalité virtuelle, les outils et l'optimisation.

AccueilProjetsCVContact
dhiaeddine.mokaddem@gmail.comLinkedInitch.ioGame Jolt
Tous les projets
Survie coopérativeMultijoueur

Reclaimed

Survivre, construire et restaurer un monde corrompu dont les joueurs, les constructions, les plantations, les ennemis et la progression environnementale persistent entre les sessions.

Télécharger sur itch.io

Rôle

Développeur gameplay, multijoueur, IA et backend

Moteur

Unity

Plateforme

Windows

Équipe

Équipe de plusieurs personnes ; projet intégré de quatrième année à l’ESPRIT

Dates

2025

Résultat

Projet d’équipe jouable et téléchargeable

Ce sur quoi j’ai travaillé

Un jeu de survie coopératif à quatre joueurs où les joueurs gèrent leurs besoins, construisent des structures, combattent des ennemis corrompus et restaurent durablement un monde partagé endommagé.

  • J'ai développé la personnalisation des personnages, les systèmes de faim et de soif, la nage, les variantes et l'IA des ennemis ainsi que la construction modulaire de sols, murs, fenêtres et portes interactives.
  • J'ai implémenté Unity Lobby et Relay, la synchronisation des ennemis et des structures construites par les joueurs ainsi que le chargement du monde partagé.
  • J'ai conçu la persistance de l'apparence, de la position, des objets construits, des plantations, de la restauration environnementale et de l'état des ennemis.
  • J'ai développé des endpoints ASP.NET Core et des tables PostgreSQL pour les systèmes qui m'étaient attribués, et établi une architecture d'endpoints qu'un autre membre de l'équipe pouvait étendre.
  • J'ai implémenté l'intégration Supabase, la sérialisation, la propriété et l'autorisation côté serveur, la gestion des conflits, les workflows de suppression et les enregistrements de lobby.
  • J'ai consommé les endpoints backend depuis Unity au moyen de requêtes asynchrones non bloquantes afin que les opérations de persistance ne figent pas le gameplay.

Détails techniques

Programmation

C#

Technologies complémentaires

Netcode for GameObjects

Multijoueur

Unity Lobby, Unity Relay

Backend

ASP.NET Core, Supabase, PostgreSQL

Décomposition du développement

Au cœur des systèmes

01

Gameplay multijoueur

J'ai implémenté l'intégration de Unity Lobby et Relay, synchronisé les ennemis et les structures construites par les joueurs, puis relié ces systèmes réseau à la personnalisation des personnages, aux mécaniques de survie, à la construction et à la restauration environnementale.

02

Monde partagé persistant

J'ai conçu la persistance de l'apparence des personnages, de la position des joueurs, des objets construits, des plantations, de la restauration environnementale, de l'état des ennemis et de la reconstruction du monde partagé entre les sessions.

03

Architecture backend

J'ai développé des endpoints ASP.NET Core et des tables PostgreSQL pour les systèmes qui m'étaient attribués, établi une architecture d'endpoints qu'un autre développeur pouvait étendre et intégré Supabase avec la sérialisation, les vérifications de propriété, l'autorisation, la gestion des conflits, les workflows de suppression et les enregistrements de lobby.

04

Intégration Unity non bloquante

J'ai consommé les endpoints backend depuis Unity au moyen d'opérations réseau asynchrones afin que la persistance ne fige pas la boucle de gameplay. L'état d'exécution était sérialisé pour le transport puis reconstruit lors du chargement d'un monde partagé.

Captures d’écran

Bilan

Reclaimed a relié la programmation gameplay à la synchronisation multijoueur et à la conception d'un backend persistant, et m'a appris à traiter l'état du monde comme un système partagé entre les frontières du client, du serveur et de la base de données.