I’ll start by presenting myself. I’m one of the many "Nico"s collaborating to the DCL platform, and you can find me on the Metaverse and Discord under NChamo. So far I’ve been collaborating on the Catalyst project, but I’ll be focusing mainly on the SDK.
We know that the SDK has a lot of good and bad things, and we want to take it to next level. And that’s when you come in! We need your feedback to see where we need to focus our work, since the SDK should enable you to fill the Metaverse with your creations.
We would like to understand what you love and what you hate about the SDK. What do you think we should do first? What do you think the SDK should look like in 2 years? There are no wrong answers! Any wacky ideas that you might have had are highly encouraged.
Please try to be as clear as possible, and maybe consider prioritising your ideas/comments so we can understand you better.
Our plan is to take your feedback, come up with a roadmap, share it back to the community, and iterate.
I guess that’s it. Please let us know what you think!
Congrats on your promotion and thank you for doing this thread. We need the SDK to evolve to a product where users can get desired results without programming.
People want to make money. - We need an easy way to list items that are clickable to begin a transaction. As a user this is how our experience should go.
DCL Player walks into a shop - See’s items on display. Clicks item, Displays pops up with picture of item, description. Buy now button which opens the contract to purchase. and maybe another button to link a creators website(optional). Get this process working for the users of the SDK and you will be half way there as this will provide real function.
Ability to create using colored blocks. - A box maker tool which can be resized and change its hex color and the boxes work in a grid like fashion as seen in Minecraft.
Ability to add animated gifs, pictures and video playback using the SDK.
These 3 functions will allow plethora of creativity.
Do you think any of these might be worth pursuing?
Some of the features you are describing can already be implemented with the current version of the SDK. However, this makes me realize that we don’t have enough documentation or examples to guide you into the new features that were recently developed.
Also, although some of these features can be already implemented, I agree that they are not as simple as you and I would probably like it to be.
(important) sounds out of parcels are annoying, if creator wants an immersive experience in his scene, it can be polluted by the music of a neighbour; the neighbour doesn’t have an easy way to avoid that if someone asks to him, so, if sounds are allowed out of scene, at least provide a way so that the neighbour can easily disable sound out of his scene; I know we can do some code, but just an option in SDK would be easier.
(fancy) particle system: if we want to add particles, I think, right now, the only way to do it is using entities per each particle, I think it would be cool if SDK can provide an optimized particle system.
This is all great feedback. And thanks for coming back with new suggestions as they come up.
Some of the features you mention are already on our radar. And as you said, some of them are “sensible”. One of the possibilities on the table is to add a permission system to handle these sensible features. I was thinking something where the scene would ask for your permission to move your avatar or camera, or to access your chat. This system would be fully integrated into the SDK, so content creators would be able to use it. Do you think this could work? Do you have any other ideas?
And talking about the sounds from other parcels, this is a polemic topic haha. On one side, the fact that sounds continue playing when moving around the world generates a feeling that you are in unified metaverse. If sounds stopped as soon as you left a scene, to me, it could feel unnatural. However, I completely agree that when you are building your own scene, you should be able to control the whole experience, and sound is a part of that. So maybe, a possible solution would be to add to the SDK the possibility to mute external sounds on your scene. Does this make sense? What do you think? Just to clarify, this is just my personal opinion, but I wanted to see what you think.
That’s really interesting. I imagine that could enable a lot of different cool mechanics.
I agree that a mobile client would expand the platform further, but this thread in particular is about the SDK (the tool used to create scenes and content). Just wanted to mention it, because your post might not get the expected impact. You might try the #feedback channel on discord, or you could create another post on this forum to get some traction
At the moment attaching objects to the player causes them to float towards the player breaking the intended carrying object experience. Would be great when the player moves any attached entities moves with it.
2. Reposition Player in Scene
Allow via code the ability to move the player and where they are looking. Creators could use this for a die and respawn experience among many other use cases.
3. Raycast Cone or Other Shape
Instead of only having raycast line, would be great to have raycast a cone or cylinder. Basically raycast anything that has a width that can be bigger than just a point.
4. Prevent Player Clicking Opens Passport
When multiple players are in the same area in a clicking mouse experience anytime you click on a player their passport opens up. Would be great if in the scene code or scene.json file we can turn off “click player opens passport”.
5. Collision Triggers Players Walk Into Fires Event
Would be great to be able to easily detect player walks into a box shape. Many many game play elements like picking up items would be quicker to create.
6. Change 3D Model GLTF Texture
Skins are a big seller in games, it would cause many wallet transactions and be very lucrative if we had the ability to change a GLTF “skin” with another texture via code.
7. Player DCL Settings Volume Control
Players should be able to go into their settings and adjust all audio volumes with one setting. It seems odd that each creator needs to manually create a volume control for their creations.
8. Detect Player DCL Settings
It would be nice to know what the player’s graphics settings are set to so we can adjust the graphics we render during game play.
9. Detect 1st and 3rd Person View Change
Being able to retrieve the view state the player is in would allow creators to modify the experience to fit 1st and 3rd person view.
10. Manipulate Avatar Bones When 3rd Person
A way to adjust the player avatar bones in code. This would allow for many things like the player correctly appears to be holding something. Or this would be no different than custom bone movement similar to clicking on a chair and code runs that makes the avatar sit down.
Thank you @NChamo.
The order of importance from most important to least important would be the following.
#4 - Prevent Player Clicking Opens Passport #7 - Player DCL Settings Volume Control #1 - Attach an Entity to the Player #2 - Reposition Player in Scene #3 - Raycast Cone or Other Shape #6 - Change 3D Model GLTF Texture #10 - Manipulate Avatar Bones - this one may need to increase in scope to also send bone manipulations to other players, so if a player decides to sit, other see them sitting as well. #5 - Collision Triggers Players Walk Into Fires Event #8 - Detect Player DCL Settings #9 - Detect 1st and 3rd Person View Change
What about access to microphone / MediaStream from SDK ?
I think Voice is a clearly missing feature to increase immersion in decentraland. But if it’s hard to have it as a world feature because infrastructure, what about finding a way to provide it for SDK, and Land owners / devs providing the infrastructure? This would allow not just voice comms, but interactivity, for example like Alexa; also from camera, where world can answer to user gestures, …
I know it could be hard or even not possible, but I think it can be a game changer, maybe makes worth to really have a re-look.