Legends of Karnoa
Le RPG on-chain de Cryptocademia.
Liens directs
Site Web : https://play.cryptocademia.com
Smart Contracts : Heroes Unrevealed – Avatars – Items – Grimoires – Consumables – Staking
Initié en janvier 2024, Legends of Karnoa est le RPG on-chain rattaché au projet Cryptocademia.
Au programme :
- 6 smart contracts dont un dédié au staking permettant au joueur d’équiper son personnage.
- Chaque avatar, objet, consommable est un NFT à part entière.
- Une interface utilisateur moderne, responsive, dynamique et animée, mimant ce que l’on pourrait retrouver dans un jeu vidéo « conventionnel ».
- Un rendu temps réel lors de l’équipement de son personnage. Chaque asset a été réalisé par l’artiste NoNegocio et de très nombreuses variantes ont été implémentées afin d’avoir un rendu « clean » quel que soit l’équipement porté !
- De nombreuses fonctionnalités (boutique, gestion de son personnage, forge, arène, classement)…
- Des transactions 100% gas-less.
- Un jeu entièrement traduit (français/anglais).
Développé en solo de A à Z (smart contracts, dApp, gateway), ce projet est incontestablement le plus complet de mon portfolio.
Celui-ci représente des mois de travail, je vais donc tenter de synthétiser ici ce qui a été réalisé.
Un jeu entièrement web3 avec quelques intéractions web2 et une blockchain invisible pour les users. Projet encore en cours de changement/migration/développement mais Rp répond à toutes nos attentes jusqu'à présents ! Un projet bien complexe qui nous permet de monter en compétences avec lui.
CryptNaAb (fondateur)
Legends of Karnoa se veut accessible à tous. La blockchain est un outil, et nous souhaitions une expérience utilisateur fluide sur la blockchain, sans que les utilisateurs n'aient à interagir directement avec elle. Une fois de plus, RpGmAx a su répondre à toutes nos demandes pour ce projet, en intégrant des solutions invisibles et efficaces. Grâce à son expertise, nous avons pu offrir une interface intuitive et agréable, permettant à chacun de profiter pleinement du jeu sans se soucier des aspects techniques sous-jacents.
Yoz (fondateur)
Smart Contracts
Chaque smart contract permet à un type d’asset d’être identifiable on-chain, qu’il s’agisse d’un avatar (personnage), d’un équipement voire d’un objet provenant eux-mêmes de grimoires, la totalité des éléments du jeu sont NFTisés et transférables/revendables.
Un smart contract de staking permet au joueur de définir le personnage qu’il souhaite utiliser et de « sauvegarder » son équipement. C’est ce smart contract qui retourne les informations vitales au jeu, notamment pour les combats.
Déployés sur opBNB (blockchain rapide et peu coûteuse de la BNB Chain), ces derniers communiquent ensemble par le biais d’opérateurs, rendant ainsi possible le côté gas-less (sans frais) des transactions pour le joueur.
Note : un projet de migration vers Polygon est prévu avec de nouveaux défis techniques liés à l’account abstraction.
dApp
Après une brève authentification, directement rattachée au site Cryptocademia (sous WordPress), la dApp se voit attribuer un token sécurisé afin de pouvoir communiquer avec la gateway (dont j’avais déjà parlé sur la fiche du projet) et proposer au joueur une expérience fluide mêlant transactions on-chain et off-chain.
Le joueur peut profiter d’une interface totalement traduite (français/anglais) lui permettant d’accéder aux différentes fonctionnalités du jeu.
Boutique
Qu’il s’agisse des Heroes Unrevealed (avatars NFTs non dévoilés) ou de grimoires permettant d’obtenir équipements & objets divers, la boutique est un lieu incontournable pour le joueur qui dépense ainsi les deux monnaies du jeu (ASTRALIA/EZTIA).
Des remises temporaires ou adaptées au statut de l’utilisateur (holder de collections Genesis) peuvent être activées.
Inventaire
Reflet de ce qu’il se passe on-chain, l’inventaire offre au joueur une interface réactive et ergonomique, quel que soit l’appareil utilisé (PC, tablettes, smartphone). Les statistiques sont calculées en temps réel tout comme le rendu du personnage qui évolue au gré des changements d’équipement. Un bouton permet d’enregistrer les changements, exécutant alors un staking des éléments concernés.
La partie droite permet notamment d’ouvrir des grimoires ou de dévoiler (dynamiquement et aléatoirement) des Heroes Unrevealed. Le tout est totalement animé.
Forge
Elle aussi animée mais aussi modulaire, la forge permet au joueur de recycler équipements, objets et prochainement avatars afin d’en obtenir de nouveaux de meilleure qualité. L’UI évolue afin de continuellement s’adapter aux choix de l’utilisateur.
Liée à la gateway (comme 100% des fonctionnalités du jeu), la forge fait ensuite appel à des fonctions des smart contracts concernés pour burn/mint de nouveaux NFTs.
Arène
Fonctionnalité centrale du jeu, l’arène offre la possibilité aux joueurs de se mesurer à de terribles adversaires.
Ces derniers sont pré générés à chaque nouvelle saison puis, à chaque combat, viennent s’adapter dynamiquement au joueur (niveau, stuff…) de façon à rendre chaque combat 100% unique !
Un déroulé du combat automatisé et calculé côté gateway est alors affiché au joueur avec des actions qui défilent à l’écran jusqu’à l’issue du combat. Le joueur a la possibilité d’accélérer ce dernier voire de le passer totalement, tout comme le voir à nouveau.
Les avatars (joueur et adversaires) sont générés dynamiquement en tenant compte de la totalité de l’équipement porté.
De plus le rendu visuel (sang) évolue en fonction des points de vie restants. Enfin, le joueur peut activer le son et ainsi profiter d’une expérience complète, sur PC ou smartphone.
Enfin, les points gagnés lui permettent notamment d’améliorer leur rang au sein du classement.
Note : Une arène PvP est prévue dans une version future du jeu.
Gateway
La totalité du jeu est exécutée côté serveur, sur la fameuse « passerelle » réalisée depuis les débuts du projet.
Outre la sécurité renforcée et la possibilité de proposer du gas-less via des opérateurs de jeu, cela ouvre la voix à de nombreuses possibilités futures, un jeu « 3D » pourrait ainsi utiliser les mêmes données et offrir au joueur une version revisitée du jeu, avec les mêmes « règles » de base. Un projet tiers pourrait aussi venir consulter certaines informations à propos du joueur.
La gateway a été conçue pour dissocier totalement le code source du jeu (avec les formules complexes liées ou encore le rendu visuel des avatars) du reste. LoK est ainsi un jeu reposant à la fois sur des données on-chain & des données off-chain mixées ensembles via la gateway pour enfin être retournée au client (dApp ou autre) de manière optimisée & sécurisée.
Un très bon exemple étant la création d’une frame Farcaster (mini app, exemple ci-contre) venant dynamiquement récupérer le visuel final du personnage de l’utilisateur !
Et ce n'est pas terminé...
Legends of Karnoa n’en est qu’à ses débuts…. Outre la présentation succincte ci-dessus, le projet ne cesse d’évoluer.
La roadmap est conséquente, les fonctionnalités à venir nombreuses (annoncées ou non) et la migration vers Polygon couplée à l’intégration de l’account abstraction font de LoK le projet le plus complexe jamais réalisé de mon côté !