Collection d'exemples, de bibliothèques et de tutoriels
Awesome Repository
Le fonds de référence pour bâtir des scènes Decentraland.
Bienvenue dans le fonds Decentraland Awesome : une vaste collection de scènes d'exemple, de bibliothèques et de tutoriels complets, réunie pour vous aider à bâtir vos propres scènes dans Decentraland. Chaque entrée renvoie vers du code ouvert, à lire et à adapter.
Dépôt public · lecture libre · contributions acceptées
RÉF. 01 — Avis de conservation
À lire avant de consulter les rayons
IMPORTANT
Les exemples liés dans ce dépôt sont des scènes historiques construites avec le SDK6, aujourd'hui obsolète. Pour les exemples et bibliothèques récents, bâtis sur le SDK7, reportez-vous à la page de ressources des studios Decentraland.
studios.decentraland.org/resources
Côté outillage, chaque bibliothèque n'est compatible qu'avec le SDK6 ou le SDK7 : prenez celle qui correspond à votre projet. Pour une bibliothèque antérieure au 9 février 2021, le dépôt fournit un guide de migration (lib-migration-guide.md).
RÉF. 02 — Salle de lecture
À qui s'adresse cette collection
Ce fonds ne se lit pas d'un bout à l'autre : il se consulte. Partez de votre question, ouvrez la classe correspondante, empruntez la scène qui s'en approche le plus.
LEC. 01
Vous ouvrez votre premier projet
Les Concepts clés, puis la classe Bases : de petites scènes d'une seule idée.
LEC. 02
Vous concevez un jeu
Mécaniques de jeu : une trentaine de scènes, plateformes, énigmes, projectiles, ennemis, dialogues.
LEC. 03
Vous organisez un événement
Accueil d'événements : diffusion vidéo, modération, synchronisation de la scène sur la vidéo.
LEC. 04
Vous modélisez en 3D
Art 3D et Wearables : modèles ouverts et add-ons par catégorie de corps.
LEC. 05
Vous branchez la blockchain
Monétisation et blockchain : paiements en MANA, accès par jeton, appel de contrats.
LEC. 06
Vous synchronisez des joueurs
Multijoueur et API : du bus de messages aux WebSockets, à Colyseus et aux validations serveur.
RÉF. 03 — Plan de classement
Comment le fonds est organisé
Sept grandes classes, subdivisées par sujet ; le relevé ci-dessous reprend la cote de chacune, telle qu'elle figure au sommaire du dépôt.
Awesome-Repository/
├─ Essentials/ Basics · Game Mechanics · Event Hosting · Physics · 3D Art
├─ Wearables/ Add-ons (Feet · Lower body · Upper body · Skin)
├─ Monetization & Blockchain/ Crypto Libraries · Displaying NFTs · Contracts
├─ Multiplayer & APIs/ Hit an API · Message Bus · API as Database
│ WebSockets · Colyseus · Server-Side Validations
├─ Full Scenes/ Public Scenes · Community Modules
├─ Game Jam Winners/ May/June 2022
├─ Libraries/ SDK 7 · SDK 6
└─ Tutorials/ Video · Escape Room · Guest Posts · 3D Modeling · DevOps
Les scènes d'exemple sont courtes et centrées sur un seul mécanisme ; les scènes complètes montrent un projet entier. Entre les deux, les bibliothèques factorisent ce que l'on réécrit sans cesse.
RÉF. 04 — Rayons d'exemples
Ce que l'on trouve dans les boîtes
Essentiels
04·A — BASES
Sliding Door, Door — ouvrir une porte progressivement, en glissant ou en pivotant.
Button events, Jukebox, Dance Floor — interactions, sons, dalles au rythme du morceau.
Hypno Wheels — premier contact avec les systèmes et les composants personnalisés.
Gnark Patrolling, Block Dog — personnages qui patrouillent ou choisissent seuls leur action.
Moving Platforms, Rotating Platforms — plateformes en mouvement.
Mirror Puzzle, Push Box Puzzle, Portal Puzzle — énigmes de réflexion et de poussée.
Grab Objects, Translocator, Shooting Range — saisir, lancer, viser.
NPC Dialog, Zombie Attack, Boid — dialoguer avec un PNJ, être poursuivi, simuler une nuée.
04·C — ÉVÉNEMENTS
Video Streaming, Show Management — diffuser une vidéo puis y caler la scène.
Digital Bouncer — exclure un joueur, afficher une annonce.
Lazy Loading, Auto Dance Areas, Green Screen — charger les entités à l'entrée du joueur, faire danser en boucle, poser un fond vert.
04·D — PHYSIQUE ET ART 3D
Bouncing Balls, Car + Physics — collisions avec cannon.js ; 2D Bouncing Ball avec box2d.
Dhingia Builds — plus de 35 constructions ouvertes, par MrDhingia.
Indicator Arrows — flèches GLB animées pour guider le visiteur, par DOCTORdripp.
Wearable Starter Guide — démarrer un wearable, par Nikki Fuego et Doki.
Monétisation et blockchain
04·E — MANA, ACCÈS, NFT
Donation Box, Paid Button, Paid Lever — dons en MANA, bouton et levier qui ne s'activent qu'après paiement.
NFT Scanner Basic, DCL Access, Wearables Scanner — ouvrir une zone selon la possession d'un jeton ou d'un wearable.
Wearables Store, Simple NFT, NFT Wall — vendre des wearables sur L2, encadrer un NFT 2D ou une collection défilante.
MANA Burning, Mint Pixelchain NFT — appeler le contrat MANA, ou frapper une fresque de 32 × 32 pixels.
Multijoueur et API
04·F — APPELER UNE API
Party Time, DCL Trams — une horloge mondiale lance la fête ou synchronise les trams.
Events API, Weather Simulation — événements en cours, météo réelle.
Validate Player Authenticity — vérifier côté serveur que le joueur est bien sur la parcelle.
Leader Board, Guest Book API, Game Management — scores, signatures et inventaire en base.
04·G — ÉTAT PARTAGÉ
Block Fountain, Clap Meter, Piano Floor — bus de messages : tous voient et entendent la même chose.
Pixel Mural, 3D Voxel Art Creator, Zenquencer — création collective synchronisée.
Broadcast Server, Basketball, Frisbee Throwing — WebSockets, physique côté joueur.
Land Flipper Game, Space Traitor, OSC Relay — parties arbitrées par un serveur Colyseus.
Scènes complètes et modules
04·H — PROJETS ENTIERS
Genesis Plaza (0,0) et Soho Plaza (-75,0) — le code complet de ces places, éléments interactifs compris.
Crypto Valley Conference Center, White Rabbit Night Club, Default Museum — une salle prête pour le direct, une boîte de nuit permanente, un musée générique à garnir de NFT.
Castaway 2048, DecentRally, Snowball Arena, MVMF 2022 — jeux entiers et scènes de festival, du puzzle à la course.
Parkour Creation Kit, Card Game Creation Kit, NFT Gallery Module — modules prêts à greffer : parcours complets, jeux de cartes, galeries pilotées par JSON.
La classe Game Jam Winners conserve enfin le code des scènes primées lors des concours passés, quand leurs auteurs ont choisi de l'ouvrir : l'édition de mai-juin 2022 y figure.
RÉF. 05 — Réserve d'outillage
Les bibliothèques, par version du SDK
05·A — SDK 7
SDK Utils — tâches courantes simplifiées : déplacer, tourner ou redimensionner dans le temps, zones de déclenchement, actions différées. Remplace ECS Utils.
NPC Toolkit — des personnages non joueurs capables de converser et de jouer des animations.
UI Toolkit — les besoins d'interface les plus fréquents d'une scène. Remplace UI Utils.
05·B — SDK 6
ECS Utils, UI Utils, NPC Utils — les ancêtres des trois boîtes ci-contre : barres de vie, compteurs, dialogues.
Crypto Utils, L2 Utils — opérations sur le MANA, les NFT et le Marketplace, la seconde via un réseau Ethereum de niveau 2.
DCL Access Area, Authentication Middleware — contrôle d'accès à une zone ; validation qu'une requête vient bien d'un joueur présent.
Noise Utils, DCLDash, Scene Object Model, Show Management — bruit de Perlin, débogage, déclaration des modèles GLTF, pilotage de vidéos sur repères temporels.
RÉF. 06 — Fonds pédagogique
Tutoriels et séries vidéo
06·A
Escape Room, série vidéo
Des vidéos de cinq minutes couvrant les concepts essentiels, les mécaniques de jeu et les bonnes pratiques, jusqu'à un jeu d'évasion complet. Chacune s'accompagne d'un texte contenant tout le code ; le projet fini est publié à part.
Interroger une API, lancer son serveur sur Firebase pour traiter les requêtes HTTP et stocker en base, puis construire un serveur WebSockets pour le temps réel.
06·C
Retours d'expérience
La création de Genesis Plaza en deux volets, entre optimisation et fonctionnalités inédites, puis les coulisses de Salmonomicon, sur l'interface et le lancer de rayons.
06·D
Contributions invitées
L'interface par Surz, l'alignement d'objets sur une grille par Interweaver, les sprites animés par Brent Greyling, la blockchain en quatre volets par Baus, la pose de NFT par Holodot.
06·E
Modélisation et déploiement
Ajouter un collisionneur, appliquer des animations libres de Mixamo, créer une armature dans Blender ; puis déployer depuis une branche avec les GitHub Actions. Une liste de lecture réunit toutes les vidéos.
RÉF. 07 — Prise en main
Par où commencer la lecture
Le fonds recommande de lire d'abord ces chapitres de la documentation officielle, dans cet ordre.
07·A — CONCEPTS CLÉS
Entities & Components — les briques d'une scène.
Systems — le code qui les fait vivre image par image.
Custom Components, Querying Components — vos propres types de données, et comment retrouver les entités qui les portent.
Files in a Scene — ce que contient réellement un projet.
docs.decentraland.org/development-guide/sdk7/
07·B — MÉTHODE DE CONSULTATION
Ouvrez deux scènes voisines et comparez-les : c'est souvent l'écart entre une version simple et sa variante avancée, comme Shooting Range et Shooting Range Advanced, qui explique le mieux un mécanisme. Remplacez ensuite ce que vous auriez écrit à la main par la bibliothèque équivalente, si elle vise votre version du SDK.
RÉF. 08 — Versement au fonds
Un catalogue ouvert, qui s'enrichit
08·A — CONTRIBUER
Si vous pensez à un exemple simple, couvrant un sujet utile encore absent du catalogue, ouvrez une Pull Request : le dépôt fournit un guide de contribution. Et si quelque chose ne fonctionne pas, signalez-le par une issue.
08·B — CONDITIONS D'USAGE
Toutes ces scènes sont open source, sous licence Apache 2 standard : le contenu peut être réutilisé librement, y compris commercialement, dès lors que vous créditez son auteur. Les termes complets figurent dans le fichier LICENSE du dépôt.