If you can think of an example that is easy to understand and covers valuable topics that aren't covered here, you're encouraged to create a Pull Request and contribute!
Contains all the add-ons of the Feet category: Left base, Right base, Left shoelaces, Right shoelaces, Left sole, Right sole, Left toecap, Right toecap, Left toecap sole and Right toecap sole.
Contains the original body parts with the skin texture of all the previous categories, this is useful if you want to build a wearable with short sleeves or with certain parts exposed such as a thigh, knee, etc.
A simple example of each way in which players can use button events to interact with the scene. Each shape's color is activated by interacting with it in a special way.
A character walks along a fixed path, using lerp over each segment of the path. If you approach it, it will switch states to yelling at you. Check out the related tutorial.
Use ray casting to trace a line in space and check for intersections. Cubes change material when hit by the laser. They also change when being pointed at by the player.
A simple AI character that randomly chooses what action to take: follow you, sit or remain idle. Tell it to sit or stand up by clicking it, or tell it to drink water by clicking its bowl.
Demonstrates several objects that react to your proximity. Simulates a Boolean Hole in a wall, has objects that move over/around you, triggers to activate effects inside or outside the building.
Hit a world clock API to sync the position of a tram line, so all players see them on the same location. Each tram does a full loop every 3 minutes, basing its position on every frame relative to the time.
Hit a server that validates that the player really is in Decentraland, in a specific parcel, with a recent time-stamp, and signed a message cryptographically with their ephemeral key.
Each player runs physics client side. Websockets sends information about new forces applied to the entities. The broadcast server syncs these changes to all other players in the same realm.
Each player runs physics client side. Websockets sends information about the throwing of the frisbee. The frisbee is hidden when picked up by a player.
A team game for 2 players or more, where tiles switch colors when walked on. The server keeps track of the game's state, and has the final word about when the game ends and who won.
Provides all the utilities required to create card games in Decentraland. Also comes pre-packed with several card games that act as functional examples!
Create an interactive art exhibition with images, videos, and 3D art that rotate to face the player and lower to eye level upon approach. It can be deployed to Decentraland Worlds, so there are no size constraints aside from MB. Made by KJ of Low Poly Models.
Game Jam Winners
You can access the code submitted by previous game jam competitions, for those scenes that creators chose to make open source.
Note that each library is only compatible with either SDK 6 or SDK 7, use libraries that match the version of the Decentraland project you're working on.
A very handy collection of common tasks made simple. Gradually move, rotate or scale over time. Add trigger areas, delay an action, run an event periodically, and more!. Replaces SDK6 ECS Utils
A collection of tools for creating Non-Player-Characters (NPCs). These are capable of having conversations with the player, and play different animations. Replaces SDK6 NPC Utils
A very handy collection of common tasks made simple. Gradually move, rotate or scale over time. Add trigger areas, delay an action, run an event periodically, and more!. Migrating to SDK7, see SDK Utils
Tools to easily create non-player characters (NPCs) that you can have a conversation with. They can ask quesions, play animations, turn around to always face the player, etc. Migrating to SDK7, see UI Toolkit Migrating to SDK7, see NPC Toolkit
Several functions to allow you to easily carry out operations with MANA, other currencies, NFTs, the Marketplace, sign messages or anything that involves smart contracts.
Several functions to allow you to easily carry out operations with MANA in a Layer 2 Ethereum network, with significantly reduced gas fees and transaction delays.
A Scene Object Model (SOM) file lists all of the GLTF or GLB models to load into a Decentraland scene. This module contains a SceneObject data structure used to define the models and their positioning in the world, and a ModelLoader class that handles the loading and positioning at runtime.
Tools for generating semi-random noise based on the Perlin and Simplex algorithms. These generate random sequences of values similar to the kind of randomness seen in nature.
A set of tools for managing the playing of videos and video playlists, together with synchronized events in the scnene like animations. It reads subtitle-like instructions with time-stamps to match timing with the video.
Note: To update these libraries from versions older than February 9th 2021, see the migration guide
Tutorials
Video tutorials
Find a full playlist of all Decentraland video tutorials here:
This series of 5 minute videos covers a number of essential concepts, game mechanics and coding best practices. They take you through the whole process of building a full escape room game.
Tip: The videos are presented in the above link together with written accompanying content, including all the code in case you want to copy and paste parts of it.
The full code from the tutorial is available in this repository.
How to use git actions to deploy a scene from a branch. Code Here
Copyright info
All of these scenes are open source, protected with a standard Apache 2 licence. This licence states that this content can be used freely, even commercially, as long as you acknowledge the author. See the terms and conditions in the LICENSE file.
Thank you for building this important tool for developpers.
I'm an artist trying to upload my creations onto decentraland. However my fist try building of a scene is not that successful.
I tried to build an example scene using dcl-edit, it was smooth and successful and fun. I got result as below:
Then I open dcl start, to simulate the result. I've updated to the lastest version of decentraland in npm.
However didnt see the scene. Shown as below:
The error messages I got from dcl start terminal is as follows:
_```
processing E:/dcl/src/scene.ts
Error E:/dcl/src/scene.ts (21,9): Cannot find name 'bff909f73c9e4c2fa0756d03bffb8fc2'.
Error E:/dcl/src/scene.ts (22,20): Cannot find name 'bff909f73c9e4c2fa0756d03bffb8fc2'.
Error E:/dcl/src/scene.ts (22,20): Expected 1 arguments, but got 2.
Error E:/dcl/src/scene.ts (23,9): Cannot find name 'bff909f73c9e4c2fa0756d03bffb8fc2_transform'.
Error E:/dcl/src/scene.ts (28,3): Cannot find name 'bff909f73c9e4c2fa0756d03bffb8fc2'.
Error E:/dcl/src/scene.ts (28,60): Cannot find name 'bff909f73c9e4c2fa0756d03bffb8fc2_transform'.
Error E:/dcl/src/scene.ts (29,9): Cannot find name 'bff909f73c9e4c2fa0756d03bffb8fc2_GLTFShape'.
Error E:/dcl/src/scene.ts (30,3): Cannot find name 'bff909f73c9e4c2fa0756d03bffb8fc2_GLTFShape'.
Error E:/dcl/src/scene.ts (31,3): Cannot find name 'bff909f73c9e4c2fa0756d03bffb8fc2_GLTFShape'.
Error E:/dcl/src/scene.ts (32,3): Cannot find name 'bff909f73c9e4c2fa0756d03bffb8fc2_GLTFShape'.
Error E:/dcl/src/scene.ts (33,3): Cannot find name 'bff909f73c9e4c2fa0756d03bffb8fc2'.
Error E:/dcl/src/scene.ts (33,60): Cannot find name 'bff909f73c9e4c2fa0756d03bffb8fc2_GLTFShape'.
Error E:/dcl/src/scene.ts (21,7): Variable declaration expected.
Error E:/dcl/src/scene.ts (21,8): Numeric separators are not allowed here.
Error E:/dcl/src/scene.ts (21,9): ';' expected.
Error E:/dcl/src/scene.ts (21,9): An identifier or keyword cannot immediately follow a numeric literal.
Error E:/dcl/src/scene.ts (22,19): Numeric separators are not allowed here.
Error E:/dcl/src/scene.ts (22,20): An identifier or keyword cannot immediately follow a numeric literal.
Error E:/dcl/src/scene.ts (23,7): Variable declaration expected.
Error E:/dcl/src/scene.ts (23,8): Numeric separators are not allowed here.
Error E:/dcl/src/scene.ts (23,9): ';' expected.
Error E:/dcl/src/scene.ts (23,9): An identifier or keyword cannot immediately follow a numeric literal.
Error E:/dcl/src/scene.ts (28,2): Numeric separators are not allowed here.
Error E:/dcl/src/scene.ts (28,3): An identifier or keyword cannot immediately follow a numeric literal.
Error E:/dcl/src/scene.ts (28,59): Numeric separators are not allowed here.
Error E:/dcl/src/scene.ts (28,60): An identifier or keyword cannot immediately follow a numeric literal.
Error E:/dcl/src/scene.ts (29,7): Variable declaration expected.
Error E:/dcl/src/scene.ts (29,8): Numeric separators are not allowed here.
Error E:/dcl/src/scene.ts (29,9): ';' expected.
Error E:/dcl/src/scene.ts (29,9): An identifier or keyword cannot immediately follow a numeric literal.
Error E:/dcl/src/scene.ts (30,2): Numeric separators are not allowed here.
Error E:/dcl/src/scene.ts (30,3): An identifier or keyword cannot immediately follow a numeric literal.
Error E:/dcl/src/scene.ts (31,2): Numeric separators are not allowed here.
Error E:/dcl/src/scene.ts (31,3): An identifier or keyword cannot immediately follow a numeric literal.
Error E:/dcl/src/scene.ts (32,2): Numeric separators are not allowed here.
Error E:/dcl/src/scene.ts (32,3): An identifier or keyword cannot immediately follow a numeric literal.
Error E:/dcl/src/scene.ts (33,2): Numeric separators are not allowed here.
Error E:/dcl/src/scene.ts (33,3): An identifier or keyword cannot immediately follow a numeric literal.
Error E:/dcl/src/scene.ts (33,59): Numeric separators are not allowed here.
Error E:/dcl/src/scene.ts (33,60): An identifier or keyword cannot immediately follow a numeric literal.
bundling:
Like this, I tested by changing iterators in for loop, and found the for loop has only been triggered for ones.
Which is, if I change the initial value of i, the only appeared song will be the 2nd, 3rd, or 4th.
I am not so familiar with JS, so could you please check and help? thanks.
I'm using https://github.com/decentraland-scenes/nft-wall-example-scene
to show images that will have a unknown size to me.
They get weirdly stretched on the Canvas UI. The last pixels from the right side and/or bottom get stretched to fill the area.
It seems like the example got around this issue by making all the images 1024*1024, by adding white space to them.
Is there away to just have a image just naturally fill the width or height of the defined space, like you would with CSS.
Hello!
Have you guys deleted server folder from the file?
I can't find POAP Handler.js
Can you upload the full POAP Booth folder, please?
It would be really nice of you if you can provide how to connect POAP handler.js and firebase API..
Looking forward to hear from you soon.
Error [AssertionError]: Assertion failed
at new goog.asserts.AssertionError (/usr/local/lib/node_modules/decentraland/dist/cli.js:3:2574054)
at Object.goog.asserts.doAssertFailure_ (/usr/local/lib/node_modules/decentraland/dist/cli.js:3:2574606)
at Object.goog.asserts.assert (/usr/local/lib/node_modules/decentraland/dist/cli.js:3:2574872)
at jspb.BinaryReader.readEnum (/usr/local/lib/node_modules/decentraland/dist/cli.js:3:2654267)
at Function.proto.protocol.SubscriptionMessage.deserializeBinaryFromReader (/usr/local/lib/node_modules/decentraland/dist/cli.js:3:2521613)
at Function.proto.protocol.SubscriptionMessage.deserializeBinary (/usr/local/lib/node_modules/decentraland/dist/cli.js:3:2521381)
at WebSocket. (/usr/local/lib/node_modules/decentraland/dist/cli.js:3:2358426)
at WebSocket.emit (node:events:378:20)
at Receiver.L (/usr/local/lib/node_modules/decentraland/dist/cli.js:3:652466)
at Receiver.emit (node:events:378:20) {
reportErrorToServer: true,
messagePattern: 'Assertion failed'
}
I run npm install -g decentraland and then run 'dcl start', i recieve error message above. Also when first time running scene metamask requests a sign in to connect to the local scene. Any advice would be greatly appreciated!
When trying to run the included Dockerfile, i get following error. any idea whats needs to be fixed.
Error: dcl start TextDecoder is not defined, run "dcl help start" for more info.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] start: dcl start "--ci"
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
SyntaxError: Unexpected reserved word
at createScript (vm.js:80:10)
at Object.runInThisContext (vm.js:139:10)
at Module._compile (module.js:616:28)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
at Function.Module.runMain (module.js:693:10)
at startup (bootstrap_node.js:188:16)
at bootstrap_node.js:609:3
Thanks for a great package and well written documentation. I have downloaded a sample museum template from the repo and trying to push it to the catalyst test server to check its working on the test env. As mentioned in the documentation I have tried publishing using the command - dcl deploy --target peer-testing.decentraland.org
for which I'm getting an error like -
Check LAND permissions
You dont have permissions to update some of the coords
how can i overcome this issue and publish the models to a random co-ords on the test server ?
I'm following the instructions to setup a POAP dispenser, but seem to be stuck at the stage where we transfer the POAP Event ID to the Decentraland POAP server.
I've tried using my own event ID, the one in the documentation (29108) and others from the POAP event listing page, but all seem to return "Event ID not found" on the Decentraland POAP server UI (https://poap.decentraland.org/).
Is the service down? Or am I doing something wrong?
I've copied the code exactly as it is on here into Visual Studio and the decentraland scene preview won't add it. Is there anything that commonly may cause this issue?