Ssteven_copy
case_study · 06 / 06·Web3 · NFT · gaming·discontinued

dApp xGangsters.

Application décentralisée Web3 sur la blockchain MultiversX (anciennement Elrond) intégrant trois mécaniques : système d'élection NFT, jeu de chasse au NFT caché (livrés en production), et jeu de combat mobile sur Unreal Engine 5 (resté au stade beta avancé). Projet arrêté en 2024 pour raisons internes à l'équipe.

5
Personnes dans l'équipe
2
Mécaniques livrées en production
1.5an
Durée du projet (sept. 22 → mars 24)
MultiversX
Blockchain de déploiement
Next.jsReactNestJSTypeScriptChakraUITailwind CSSWalletConnectMultiversX SDKSmart Contracts (Rust)Unreal Engine 5AWS S3Firebase

// 01 · le-contexte

Le contexte

xGangsters était un projet Web3 que j'ai co-fondé et porté en tant que CTO de septembre 2022 à mars 2024. L'idée : créer une collection NFT vivante, avec de vraies mécaniques de jeu et un système d'engagement communautaire qui aille au-delà du "mint and hold".

Trois piliers fonctionnels étaient prévus :

  1. Un système d'élection NFT où les détenteurs votent pour les contributeurs actifs du projet
  2. Un jeu de chasse au NFT caché avec des tentatives quotidiennes basées sur le nombre de NFT détenus
  3. Un jeu mobile de combat automatisé sur Unreal Engine 5, où les statistiques des NFT déterminent les combats

Déploiement sur MultiversX (anciennement Elrond).

// 02 · ce-qui-a-t-livr

Ce qui a été livré

Soyons clair sur ce qui a été réellement mis en production vs ce qui est resté en cours :

Livrés en production

  • Le système d'élection NFT
  • Le jeu de chasse au NFT caché
  • Le site marketing
  • La dApp Web3 (connexion wallet, visualisation NFT/tokens)

Beta avancé non finalisé ⚠️

  • Le jeu mobile de combat (Unreal Engine 5) — fonctionnel mais pas en état de release publique au moment de l'arrêt

Le projet s'est arrêté en mars 2024 pour des raisons internes à l'équipe (problèmes de santé d'un co-fondateur), pas par choix technique ou par échec de marché.

// 03 · la-solution

La solution

J'ai conçu et développé l'ensemble de la couche web (dApp + site marketing) ainsi que l'intégration blockchain côté front/back, en autonomie complète et sans assistance IA — c'était une époque où je codais tout à la main.

La dApp Web3

La dApp est construite en Next.js + React + ChakraUI, avec intégration WalletConnect + MultiversX SDK pour permettre aux utilisateurs de connecter leur wallet, visualiser leurs NFT, voir leur solde de tokens du projet, et interagir avec les smart contracts.

// code
// Pattern d'intégration WalletConnect + MultiversX (simplifié)
async function connectWallet() {
  const provider = await WalletConnectProvider.init({
    chainId: "1", // MultiversX mainnet
    relayUrl: WALLET_CONNECT_RELAY,
  });

  const { address } = await provider.login();

  // Récupération des NFT de l'utilisateur sur MultiversX
  const userNfts = await multiversXSdk.getNftsForAddress(address, {
    collection: "XGANGSTERS-xxx",
  });

  return { address, nfts: userNfts };
}

Le système d'élection NFT

Les détenteurs de NFT peuvent voter pour des candidats pendant une période donnée. Les votes sont pondérés par le nombre de NFT détenus. À la fin de la période, les élus participent au développement du projet (gouvernance partielle).

J'ai conçu l'interface de vote complète et le backend de monitoring (NestJS). Les smart contracts associés ont été écrits par un autre développeur de l'équipe spécialisé blockchain ; j'ai géré l'intégration côté dApp.

Le jeu de chasse au NFT

Un NFT est caché dans une grille visuelle. Chaque utilisateur a un nombre limité de tentatives quotidiennes basé sur ses NFT détenus. Le premier à trouver le NFT caché gagne une récompense.

J'ai développé toute la logique de jeu côté frontend, le système de tentatives, le state synchronisé via Firebase Realtime Database, et l'intégration avec les NFT du wallet.

Le jeu mobile de combat (non finalisé)

Le jeu Unreal Engine 5 a été développé par un freelance externe spécialisé UE5. De mon côté, j'ai développé l'API d'interface entre le jeu et la blockchain : exposition des stats NFT, contrats d'API, soumission des résultats on-chain.

Le jeu est resté en beta avancé non finalisé au moment de l'arrêt du projet.

// 04 · les-dfis-techniques

Les défis techniques

L'intégration MultiversX en 2023. À l'époque, MultiversX était jeune (rebranding Elrond → MultiversX en cours), les SDKs JavaScript en évolution rapide, la doc parfois lacunaire. J'ai souvent dû lire les sources des SDK officiels pour comprendre certains comportements.

Le state Web3 distribué. Une dApp combine plusieurs sources de vérité : le wallet local de l'utilisateur, le state on-chain (lent à confirmer), une couche off-chain de cache, et l'UI. Garder tout ça cohérent sans afficher d'états incohérents demande une vraie réflexion sur les transitions optimistes et le rollback en cas d'erreur.

Coordonner une équipe pluridisciplinaire. L'équipe était composée de 5 personnes : moi (web + intégration blockchain), un co-fondateur (stratégie + community), un dev blockchain (smart contracts Rust), un freelance UE5, un designer. Mon rôle CTO impliquait d'aligner trois codebases (dApp web, smart contracts, jeu mobile) avec trois cycles de déploiement différents — sans ralentir personne.

// 05 · ce-que-je-retiens

Ce que je retiens

xGangsters m'a appris deux choses essentielles sur le rôle de CTO :

D'abord, un CTO n'est pas seulement celui qui code le mieux. C'est celui qui décide quoi coder, quand, et qui s'assure que toute l'équipe converge. Les meilleures décisions techniques que j'ai prises sur xGangsters étaient souvent des décisions de ne pas faire : ne pas développer en interne ce qu'on pouvait déléguer, ne pas chercher la perfection technique sur des features non validées par la communauté.

Ensuite, un projet, ça s'arrête parfois pour des raisons humaines, pas techniques. La techno marchait. Le concept séduisait. Mais une équipe de 5 personnes reste fragile face à un imprévu humain. C'est une leçon que j'applique aujourd'hui chez Klorv : choisir ses co-fondateurs et son équipe avec autant de sérieux que ses choix techniques.

L'expérience CTO acquise sur xGangsters m'a directement préparé à fonder Klorv deux ans plus tard, avec plus de maturité sur ces sujets.

// 06 · stack-technique

Stack technique

LayerTechnos
Frontend dAppNext.js, React, ChakraUI, Tailwind, TypeScript
BackendNestJS, Node.js, Firebase Realtime DB
Web3MultiversX SDK, WalletConnect (intégration côté dApp)
Smart ContractsRust (écrits par un dev dédié de l'équipe)
GameUnreal Engine 5 (développé par un freelance externe)
Storage & deployAWS S3, Firebase, Netlify, Vercel